Решаем задачи по Construct Classic [вопрос-ответ]
|
|
Куся | Дата: Четверг, 24 Января 2013, 10:44 | Сообщение # 381 |
был не раз
Сейчас нет на сайте
| Ramilyanamana, А как ты звук создаешь? Через загрузку файла или ресурсом? Код покажы Не ставь loop удаляй пулю
Сообщение отредактировал Куся - Четверг, 24 Января 2013, 10:46 |
|
| |
Ramilyanamana | Дата: Четверг, 24 Января 2013, 10:45 | Сообщение # 382 |
Биззи Джей Ужасный
Сейчас нет на сайте
| Цитата (Куся) Через загрузку файла или ресурсом Файлом. Ресурсы пока не освоил
|
|
| |
IvanKorobko | Дата: Четверг, 24 Января 2013, 11:05 | Сообщение # 383 |
IK Studio
Сейчас нет на сайте
| Every 2000ms --> XAudio2 [Autoplay File(no loop)]
Должно работать всё...
Добавлено (24.01.2013, 11:05) --------------------------------------------- Или если враг умирает и после смерти(Destroy) нужно прекратить звук:
Вообще вместо Is on Layer можно к примеру сравнить приватную переменную - Compare Vrag.HP Greather Then "0" Т.е. если хитпоинты врага больше нуля - он каждые 2 секунды стреляет и создает звук выстрела...
Сообщение отредактировал mef1sto - Четверг, 24 Января 2013, 11:05 |
|
| |
marsep | Дата: Пятница, 25 Января 2013, 08:04 | Сообщение # 384 |
участник
Сейчас нет на сайте
| Снова нужна ваша помощь... Мне нужно реализовать у объекта поведение Turret таким образом, чтобы он реагировал на самого себя, т.е. имеется один единственный объект с поведением Turret и наличием локальной переменной, например, ID. Если этот объект видит в зоне видимости объект с ID = Object.Value(ID), т.е. у этого объекта переменная ID такая же, как и у первого, то первый объект его не атакует, а если ID не равен, то атакует. Ппричем надо сделать так, что первый объект атаковал в начале объекты с ID=2 и если таковых нет, то уже с ID=3. Небольшой схематичный рисунок под спойлером:
P.S. Или реализовать такое с одним объектом нельзя и нужно отдельно создать новый? Заранее спасибо!
|
|
| |
IvanKorobko | Дата: Пятница, 25 Января 2013, 08:34 | Сообщение # 385 |
IK Studio
Сейчас нет на сайте
| Помойму нельзя одному и тому же объекту назначить разные значения приватной переменной - меняется у всех сразу... Добавлено (25.01.2013, 08:34) --------------------------------------------- А не, можно) только муторно выходит, но интересно - попробую реализовать...
|
|
| |
allxumuk | Дата: Пятница, 25 Января 2013, 08:48 | Сообщение # 386 |
старожил
Сейчас нет на сайте
| Цитата (mef1sto) Помойму нельзя одному и тому же объекту назначить разные значения приватной переменной - меняется у всех сразу... Эм... нет. Частные переменные потому так и называются, то у каждой копии объекта она имеет своё значение. Здесь скорее будет сложность в расстановке приоритетов на цели для Turret.
Любой дурак может написать программу, которую поймёт компилятор. Хорошие программисты пишут программы, которые смогут понять другие программисты.
|
|
| |
IvanKorobko | Дата: Пятница, 25 Января 2013, 09:00 | Сообщение # 387 |
IK Studio
Сейчас нет на сайте
| Фз... решения не найдено - так и не нашел как вытащить значение переменной со спрайта при таргетировании
|
|
| |
Ramilyanamana | Дата: Пятница, 25 Января 2013, 09:02 | Сообщение # 388 |
Биззи Джей Ужасный
Сейчас нет на сайте
| Помогите! Когда у героя переменная Life меньше или равна 35, то загружается, а потом и начинает проигрываться звук. Если Life больше 35, то звук останавливается. Но когда у героя жизни становятся равными, например 5, звук не проигрывается, но если возьму аптечку, прибавляющую 10 HP звук начинает проигрываться. То есть звук проигрывается только после того как взял аптечку(что очень странно, ведь я такого не ставил), и если жизней после взятия аптечки стало больше 35 звук не проигрывается. В чем проблема и как ее решить?
|
|
| |
Куся | Дата: Пятница, 25 Января 2013, 09:12 | Сообщение # 389 |
был не раз
Сейчас нет на сайте
| Ramilyanamana, ну аптечка тут не причем. У тебя я так понимаю условия на проигрывание звука изменение переменной лиф? тогда проще всего вставить в начале условие "если аптечка не взята" - то твой блок исполнения звуков. Тогда эта часть будет автоматически пропущена при взятии аптечки.
У меня тоже вопросец - как проверить состояние нескольких объектов? Допустим слотов инвентаря. Допустим какой занят какой пустой. Я знаю как это вообще делается в программировании, организуется цикл, берется некая переменная и прокручивается по индексам объекта. Но как это выглядит в синтаксисе скиры? Не цикл а именно проверка.
Сообщение отредактировал Куся - Пятница, 25 Января 2013, 09:15 |
|
| |
IvanKorobko | Дата: Пятница, 25 Января 2013, 09:17 | Сообщение # 390 |
IK Studio
Сейчас нет на сайте
| Цитата (Ramilyanamana) Помогите! Когда у героя переменная Life меньше или равна 35, то загружается, а потом и начинает проигрываться звук. Если Life больше 35, то звук останавливается. Но когда у героя жизни становятся равными, например 5, звук не проигрывается, но если возьму аптечку, прибавляющую 10 HP звук начинает проигрываться. То есть звук проигрывается только после того как взял аптечку(что очень странно, ведь я такого не ставил), и если жизней после взятия аптечки стало больше 35 звук не проигрывается. В чем проблема и как ее решить?
Очень мутное описание проблемы + мало ли что ты там накодил - чтоб выявить проблему - надо копаться в исходнике, смотреть какие условия выставлены для проигрывания звука... или хотя бы скрин кода(то место, где вызывается XAudio2 и условия около него)
|
|
| |
Ramilyanamana | Дата: Пятница, 25 Января 2013, 09:20 | Сообщение # 391 |
Биззи Джей Ужасный
Сейчас нет на сайте
| Вот то, что у меня на данный момент:
Сообщение отредактировал Ramilyanamana - Пятница, 25 Января 2013, 09:24 |
|
| |
IvanKorobko | Дата: Пятница, 25 Января 2013, 09:21 | Сообщение # 392 |
IK Studio
Сейчас нет на сайте
| Цитата (Куся) Допустим какой занят какой пустой.
Я бы назначал занятому слоту переменную=1, пустому=0... чтот типа того: Подбирается объект ---> проверяется свободен ли 1ый слот ---> если свободен(переменная=0) - предмет помещается в слот(Переменная+1), если занят(переменная=1) ---> (else) ---> проверяется слот 2 и так далее...
как то так...
Сообщение отредактировал mef1sto - Пятница, 25 Января 2013, 09:24 |
|
| |
Куся | Дата: Пятница, 25 Января 2013, 09:24 | Сообщение # 393 |
был не раз
Сейчас нет на сайте
| mef1sto, не, алгоритм я вкуриваю, я не пойму как в синтаксисе скиры пробежаться по всем слотам. Они по сути все дубликаты.
|
|
| |
IvanKorobko | Дата: Пятница, 25 Января 2013, 09:25 | Сообщение # 394 |
IK Studio
Сейчас нет на сайте
| сейчас накину наглядный скриншот...
|
|
| |
Куся | Дата: Пятница, 25 Января 2013, 09:43 | Сообщение # 395 |
был не раз
Сейчас нет на сайте
| Ramilyanamana, о чем я и говорю, добавь условие того что действие не выполняется если герой хавает аптечку. Вложи свое условие в него.
Сообщение отредактировал Куся - Пятница, 25 Января 2013, 09:48 |
|
| |
IvanKorobko | Дата: Пятница, 25 Января 2013, 09:45 | Сообщение # 396 |
IK Studio
Сейчас нет на сайте
|
А вот исходник: Проверка ячеек инвентаря
Сообщение отредактировал mef1sto - Пятница, 25 Января 2013, 09:46 |
|
| |
Куся | Дата: Пятница, 25 Января 2013, 09:52 | Сообщение # 397 |
был не раз
Сейчас нет на сайте
| mef1sto,тоооо маладчага) Ща буду распилом маятся) Плюсяга тебе в репчагу)
Так стоп. Это не то. Интересует как это сделать циклом. Я не пойму как индекс слота проставлять если он у всех один.
Сообщение отредактировал Куся - Пятница, 25 Января 2013, 09:55 |
|
| |
|
IvanKorobko | Дата: Пятница, 25 Января 2013, 12:01 | Сообщение # 399 |
IK Studio
Сейчас нет на сайте
| Попробуй поставить:
XAudio2 ---> Autoplay File [App & "Sound/Heart.wav"] (loop)
|
|
| |
Ramilyanamana | Дата: Суббота, 26 Января 2013, 12:36 | Сообщение # 400 |
Биззи Джей Ужасный
Сейчас нет на сайте
| mef1sto, Поставил сначала после загрузки этого файла, вроде все работает, но как только пуля попадает еще раз звук накладывается и играет один и тот же звук, но с разным интервалом. Если поставить без загрузки он просто начинает трещать. Все разобрался, надо было поставить вместе с переменной еще и триггер.Добавлено (26.01.2013, 12:36) --------------------------------------------- А еще надо было все таки ставить плей, а не автоплей.
Сообщение отредактировал Ramilyanamana - Суббота, 26 Января 2013, 12:32 |
|
| |