Пришла и моя очередь задать вопрос. Надеюсь, кто-нибудь откликнется
Есть условно 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. Но этот вариант совсем не такой красивый, как изначальный. - Доброе утро, Агент Пи!
СКАЧАТЬ Версия:C2 r214 beta Срок хранения: 90 дней
Суть проста, если PickedCount будет больше 0, мы увидим соответствующую надпись. Взрыв партиклов - своеобразный маркер, что условие сработало. Если нет спрайтов с Opacity = 100, то ни хрена не сработает. Хотя, что мешает?! - Доброе утро, Агент Пи!
Vicka, видишь, под ссылочкой я написал, какая версия.. и, да, r214 - это бета. Добавил щас туда слово beta, чтобы других не смущать. А какие сложности в стиме установить бету? - Доброе утро, Агент Пи!
Nick_Rimer, Ты чего грубишь, у меня тоже не открылось. Сейчас до беты обновлю и гляну, а сложность в том, что по умолчанию стоит обнова стабл. Vicka, ага я тоже раньше на бетку ставил, и как то вышла кривая обнова под х64. я был в панике не понимал отчего выбросы происходили. )
я вообще никому по умолчанию не грублю без причины (Вике так тем более), ибо это противоречит моим принципам (да и должности модератора). Ну а напечатанный текст можно вообще прочитать с такими разными интонациями, что хоть на фюрерский манер. Так что ж, может я ещё объявил всему форуму холокост что ли? Не открылось, потому что на более ранних версиях не открывается файл, сварганенный в более поздних. Я именно поэтому всегда пишу под выложенными мной исходниками, в какой версии они сделаны, дабы человек мог понять, сможет ли он его открыть. То, что по умолчанию стоит обнова до стейбла, это я знаю. Многие вообще не знают, как обновиться в стиме до беты, но я-то точно знаю, что Вика у нас не из таких зелёных новичков. И данного ей обоснования достаточно, чтобы не ставить бету и не тестировать мой исходник. Мне же тогда придётся либо переделать исходник на стейбле (для чего либо откатиться до него, либо установить бесплатный с сайта; а мне сейчас уже лень), либо ждать, что найдётся кто-то, кому и так хорошо.
Nick_Rimer, на модифицированный пример в общем все так: видимо программа не создает переменной если не совпало ни единого условия. поменял местами юз текстового блока с красными блоками, и добавил заглушку для исключительной ситуации с отсутствием совпадений.
uslucifer, спасибо за ответный исходник! Параллельно я тот же самый вопрос задавал на форуме Scirra с целью найти ответ. Вы практически одновременно с другим товарищем (на том форуме) дали верную подсказку Только он написал словами суть ЧЯДНТ:
Цитата
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, мол, "пытался, но не подобрал ни одного, сорри, бро.."
Всё стало на свои места. Спасибо за помощь! - Доброе утро, Агент Пи!
Доброго времени суток! Подскажите, пожалуйста, чувствую это должно быть легко, но я совсем новичок. Как сделать чтобы игрок мог получить скриншот своего рабочего стола в игре( не скриншот в игре), а именно рабочего стола( как в игре Perspective в конце)? В примерах нашла, как делать скриншот экрана в игре, и даже есть, как делать скриншот с вебкамеры, а вот как сделать скриншот Сзади игры? (возможно, надо как то прописывать сворачивание игры) В общем, помогите, вроде мелочь, а я мучаюсь.
Будут ли работать аналоговые геймпады в C2? Или нужен только контроллер от Xbox? Точнее сказать, поддерживает ли C2 протокол DirectInput или Xinput онли?
Сообщение отредактировал BESS55555 - Понедельник, 16 Ноября 2015, 14:40
Точнее сказать, поддерживает ли C2 протокол DirectInput или Xinput онли?
DirectInput считается устаревшим уже десяток лет, с момента выпуска XInput в 2005 году. Если пользователям нужно использовать устройства без поддержки XInput, они могут воспользоваться каким-нибудь x360ce.
Всем привет! Я имею неплохой опыт общения с construct classic, но никогда не сталкивался с таким... У меня вот такой вот вомпрос возник: как можно реализовать перемещение спрайта по сетке и чтобы к определенным точкам сетки он мог прилипать. Т.е. грубо говоря на примере стратегии скажу, вы берете скажем дом хотите его поставить и он перемещается строго по сетке и строго по ячейкам этой сетки вы можете обьект поставить (если ничего не мешает). Может есть какойто туториал? А то никогда подобного даже не пытался делать, голову ломаю уже часа полтора
system, это можно сделать, и для этого нужны только элементарные знания математики (понимание, что на что делить/умножить, откуда что отнять, и куда что прибавить). В этом топике (сцылко) я уже как-то распинался про привязку к сетке. Если этой инфы окажется недостаточно, попробую помочь как-то иначе. - Доброе утро, Агент Пи!
Как сделать поведение в невесомости? А именно, замедление об воздух. Т.е. если отключить гравитацию в платформере, то персонаж будет лететь бесконечно. А нужно чтобы он замедлялся. Заранее благодарен.
Вчера было обновление до стабильной 220 версии констракта2, сегодня был принудительный откат обновления до 216, кто-нибудь знает причину? На оф. сайте ничего про это не пишут, а у меня из-за этого всё встало и накрылось медным тазом.