Суббота, 23 Ноября 2024, 10:42

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Решаем задачи по Construct 2 [вопрос-ответ]
Nick_RimerДата: Пятница, 09 Октября 2015, 09:30 | Сообщение # 101
заслуженный участник
Сейчас нет на сайте
Пришла и моя очередь задать вопрос. Надеюсь, кто-нибудь откликнется biggrin

Есть условно 5 спрайтов. Они все имеют по умолчанию Opacity = 0. При наступлении определённого события, отдельные спрайты могут как получить Opacity = 100, так и снова потерять «на ноль».
Суть дальше такова, что я в конечной точке алгоритма прошу Pick Sprite where Sprite.Opacity = 100, а потом сравниваю Sprite.PickedCount с какой-то другой переменной.
И всё это классно работает, пока такой спрайт есть хотя бы один. Если же таких спрайтов нет ни одного, то Sprite.PickedCount не возвращает 0, он ВООБЩЕ ничего не возвращает!!! И это-то меня и не устраивает.
Т.е. при попытке узнать, сколько спрайтов мы «подобрали», не срабатывает ни событие Sprite.PickedCount = var, ни «пустой» Else.
К тому же, если попросить С2 вывести Text -> Set text -> Sprite.PickedCount, это действие вообще не сработает (значение в Text останется неизменным), как будто никаких условий не наступало.

Какие есть мысли на этот счёт?
Я представляю, что можно было бы пусть цикл For each Sprite и искать, если Sprite.Opacity = 0, то увеличить какую-то переменную на 1. Если таких спрайтов не найдётся, переменная останется по умолчанию 0.
Но этот вариант совсем не такой красивый, как изначальный.


- Доброе утро, Агент Пи!
VickaДата: Пятница, 09 Октября 2015, 10:01 | Сообщение # 102
Another ART
Сейчас нет на сайте
Nick_Rimer, а дай исходнег)

LetsOffBrainsДата: Пятница, 09 Октября 2015, 10:38 | Сообщение # 103
Project SoRDeLKa
Сейчас нет на сайте
Код
Sprite.PickedCount > 0 -> действия
Else -> ничего

Так тоже не сравнивает?



Nick_RimerДата: Пятница, 09 Октября 2015, 11:34 | Сообщение # 104
заслуженный участник
Сейчас нет на сайте
СКАЧАТЬ
Версия: C2 r214 beta
Срок хранения: 90 дней


Суть проста, если PickedCount будет больше 0, мы увидим соответствующую надпись.
Взрыв партиклов - своеобразный маркер, что условие сработало.
Если нет спрайтов с Opacity = 100, то ни хрена не сработает. Хотя, что мешает?!


- Доброе утро, Агент Пи!
VickaДата: Пятница, 09 Октября 2015, 12:25 | Сообщение # 105
Another ART
Сейчас нет на сайте
Nick_Rimer, блин у тебя бэта?

Nick_RimerДата: Пятница, 09 Октября 2015, 12:30 | Сообщение # 106
заслуженный участник
Сейчас нет на сайте
Vicka, видишь, под ссылочкой я написал, какая версия.. и, да, r214 - это бета. Добавил щас туда слово beta, чтобы других не смущать.
А какие сложности в стиме установить бету?


- Доброе утро, Агент Пи!
VickaДата: Пятница, 09 Октября 2015, 12:35 | Сообщение # 107
Another ART
Сейчас нет на сайте
Цитата Nick_Rimer ()
А какие сложности в стиме установить бету?

после того как дважды ее откатывала нет желания.


usluciferДата: Пятница, 09 Октября 2015, 12:39 | Сообщение # 108
постоянный участник
Сейчас нет на сайте
Nick_Rimer, Ты чего грубишь, у меня тоже не открылось. Сейчас до беты обновлю и гляну, а сложность в том, что по умолчанию стоит обнова стабл.
Vicka, ага я тоже раньше на бетку ставил, и как то вышла кривая обнова под х64. я был в панике не понимал отчего выбросы происходили. )
Nick_RimerДата: Пятница, 09 Октября 2015, 12:53 | Сообщение # 109
заслуженный участник
Сейчас нет на сайте
uslucifer,


- Доброе утро, Агент Пи!
usluciferДата: Пятница, 09 Октября 2015, 13:08 | Сообщение # 110
постоянный участник
Сейчас нет на сайте
Nick_Rimer, на модифицированный пример
в общем все так: видимо программа не создает переменной если не совпало ни единого условия.
поменял местами юз текстового блока с красными блоками, и добавил заглушку для исключительной ситуации с отсутствием совпадений.
Nick_RimerДата: Пятница, 09 Октября 2015, 13:23 | Сообщение # 111
заслуженный участник
Сейчас нет на сайте
uslucifer, спасибо за ответный исходник!
Параллельно я тот же самый вопрос задавал на форуме Scirra с целью найти ответ. Вы практически одновременно с другим товарищем (на том форуме) дали верную подсказку smile
Только он написал словами суть ЧЯДНТ:
Цитата
Pick Sprite where Sprite.Opacity = 100 is a condition and if the condition is not true it wont trigger and never execute the action or go to the sub-condition.
If you want to know if there are sprites with opacity=0 then you have to do this with an else-condition.

Я действительно просто не догадался, что раз Pick не подбирает ни одного объекта, который бы удовлетворял условию, то само условие неверно, т.е. false, и в таком случае сработает, то, что находится под его Else (ты это как раз сделал в модифицированном исходнике). Я почему-то считал, что Pick должен "подбирать" объекты в любом случае, просто возвращать 0, мол, "пытался, но не подобрал ни одного, сорри, бро.."

Всё стало на свои места. Спасибо за помощь!


- Доброе утро, Агент Пи!
usluciferДата: Пятница, 09 Октября 2015, 13:30 | Сообщение # 112
постоянный участник
Сейчас нет на сайте
Nick_Rimer, я так же думаю в дань универсальности метода но видимо разработчики считают иначе.
AoliseДата: Суббота, 31 Октября 2015, 23:08 | Сообщение # 113
уже был
Сейчас нет на сайте
Доброго времени суток! Подскажите, пожалуйста, чувствую это должно быть легко, но я совсем новичок. Как сделать чтобы игрок мог получить скриншот своего рабочего стола в игре( не скриншот в игре), а именно рабочего стола( как в игре Perspective в конце)?
В примерах нашла, как делать скриншот экрана в игре, и даже есть, как делать скриншот с вебкамеры, а вот как сделать скриншот Сзади игры? (возможно, надо как то прописывать сворачивание игры) В общем, помогите, вроде мелочь, а я мучаюсь.
BESS55555Дата: Понедельник, 16 Ноября 2015, 13:54 | Сообщение # 114
Three Dollar Bill Y'All$
Сейчас нет на сайте
Будут ли работать аналоговые геймпады в C2? Или нужен только контроллер от Xbox? Точнее сказать, поддерживает ли C2 протокол DirectInput или Xinput онли?



Сообщение отредактировал BESS55555 - Понедельник, 16 Ноября 2015, 14:40
YellowAfterlifeДата: Понедельник, 16 Ноября 2015, 17:52 | Сообщение # 115
Сейчас нет на сайте
Цитата BESS55555 ()
Точнее сказать, поддерживает ли C2 протокол DirectInput или Xinput онли?

DirectInput считается устаревшим уже десяток лет, с момента выпуска XInput в 2005 году.
Если пользователям нужно использовать устройства без поддержки XInput, они могут воспользоваться каким-нибудь x360ce.


BESS55555Дата: Понедельник, 16 Ноября 2015, 19:31 | Сообщение # 116
Three Dollar Bill Y'All$
Сейчас нет на сайте
YellowAfterlife, Спасибо за ответ, придётся брать геймпад новый.

systemДата: Суббота, 05 Декабря 2015, 16:39 | Сообщение # 117
заслуженный участник
Сейчас нет на сайте
Всем привет! Я имею неплохой опыт общения с construct classic, но никогда не сталкивался с таким... У меня вот такой вот вомпрос возник: как можно реализовать перемещение спрайта по сетке и чтобы к определенным точкам сетки он мог прилипать. Т.е. грубо говоря на примере стратегии скажу, вы берете скажем дом хотите его поставить и он перемещается строго по сетке и строго по ячейкам этой сетки вы можете обьект поставить (если ничего не мешает). Может есть какойто туториал? А то никогда подобного даже не пытался делать, голову ломаю уже часа полтора
Nick_RimerДата: Суббота, 05 Декабря 2015, 20:12 | Сообщение # 118
заслуженный участник
Сейчас нет на сайте
system, это можно сделать, и для этого нужны только элементарные знания математики (понимание, что на что делить/умножить, откуда что отнять, и куда что прибавить).
В этом топике (сцылко) я уже как-то распинался про привязку к сетке. Если этой инфы окажется недостаточно, попробую помочь как-то иначе.


- Доброе утро, Агент Пи!
Nik8bitДата: Вторник, 15 Декабря 2015, 15:17 | Сообщение # 119
был не раз
Сейчас нет на сайте
Как сделать поведение в невесомости? А именно, замедление об воздух. Т.е. если отключить гравитацию в платформере, то персонаж будет лететь бесконечно. А нужно чтобы он замедлялся.
Заранее благодарен.


BESS55555Дата: Суббота, 09 Января 2016, 18:52 | Сообщение # 120
Three Dollar Bill Y'All$
Сейчас нет на сайте
Вчера было обновление до стабильной 220 версии констракта2, сегодня был принудительный откат обновления до 216, кто-нибудь знает причину? На оф. сайте ничего про это не пишут, а у меня из-за этого всё встало и накрылось медным тазом.

Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг