Четверг, 19 Декабря 2024, 10:23

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Решаем задачи по 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
Сейчас нет на сайте
Фз... решения не найдено - так и не нашел как вытащить значение переменной со спрайта при таргетировании dry

RamilyanamanaДата: Пятница, 25 Января 2013, 09:02 | Сообщение # 388
Биззи Джей Ужасный
Сейчас нет на сайте
Помогите! Когда у героя переменная Life меньше или равна 35, то загружается, а потом и начинает проигрываться звук. Если Life больше 35, то звук останавливается. Но когда у героя жизни становятся равными, например 5, звук не проигрывается, но если возьму аптечку, прибавляющую 10 HP звук начинает проигрываться. То есть звук проигрывается только после того как взял аптечку(что очень странно, ведь я такого не ставил), и если жизней после взятия аптечки стало больше 35 звук не проигрывается. В чем проблема и как ее решить? cry


КусяДата: Пятница, 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
RamilyanamanaДата: Пятница, 25 Января 2013, 11:40 | Сообщение # 398
Биззи Джей Ужасный
Сейчас нет на сайте
Куся,
Сделал так как ты сказал. Не работает



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
Поиск:

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