Никогда так не делай. После изменения здоровья оно может "перепрыгнуть" это значение и условие не выполнится. К примеру, было 60 ед., пуля отняла 15, осталось 45 - условие не выполнилось. Потом сиди думай, почему же не работает, ибо подобные ошибки часто незаметны.
и какое это отношение имеет к заданному вопросу, ты хотя бы сам понял что наплел,куда перепрыгнуть здоровье может,бред полный а вопрос был такой
ЦитатаJJacket ()
что при конкретном количестве hp, противник меняет спрайт
вот по этому вопросу я и написал пример кода как это реализовать _____
Да нет.В данном случае Fade прав.Твой код сработает только если урон будет наноситься по единице к примеру.Но если к примеру у врага hp=100,а при столкновении с пулей hp-=80,то тогда hp будет равняться 20 и спрайт не поменяется,ведь у тебя идет проверка на конкретные if hp=50.Все же нужно в данном случае писать if hp<=50.Так условие сработает в любых случаях когда hp менее 50.
Добавлено (15.01.2014, 13:28) --------------------------------------------- А вообще я понял,что ты имел ввиду.Ты ответил на конкретный вопрос и в принципе правильно,но именно в данном случае это не верно.
и какое это отношение имеет к заданному вопросу, ты хотя бы сам понял что наплел,куда перепрыгнуть здоровье может,бред полный
Молодец. Подкол засчитан.
Цитатаrgs_haker ()
Цитата JJacket () что при конкретном количестве hp, противник меняет спрайт
вот по этому вопросу я и написал пример кода как это реализовать
Но тебя просили поменять спрайт, а не объект
ЦитатаRaven84 ()
Мне вот всегда было интересно на сколько падает производительность от лишних проверок if к примеру ? Да и вообще от кол-ва действий в шаге?
Больше всего идет нагрузка от количества объектов. Когда поставишь в комнату много всяких предметов, даже не знаешь куда метаться. ФПС падает глобально, пусть даже эти объекты и не выполняют ничего практически. Соответственно, можно сделать вывод, что нагрузка идет не столько от функций, сколько от количества переменных.
Сообщение отредактировал ErrantBug - Среда, 15 Января 2014, 13:40
Я возможно просто пока не делал таких комнат в которых настолько много объектов,так что у меня FPS везде хороший,даже порой при корявом коде.
На моем компе FPS держится нормально. Но стоит только переключиться на комп послабее... Хотя, возможно, причина тому то, что в моей игре юзается 3D и скорость комнаты 60. Там даже пассивный объект неплохо грузит систему.
ЦитатаRaven84 ()
Да и к тому же GMS оптимизирован лучше чем GM8.Где то видел видео тест с кучей зомби с видом сверху,так там их сотни,но FPS держался достойно!
Это была реклама нового компилятора для GMS. Стоит такая штука дороже самого GM, так что сомневаюсь, что стоит брать ее в расчет
Но если к примеру у врага hp=100,а при столкновении с пулей hp-=80,то тогда hp будет равняться 20 и спрайт не поменяется,ведь у тебя идет проверка на конкретные if hp=50.Все же нужно в данном случае писать if hp<=50.Так условие сработает в любых случаях когда hp менее 50.
Спс Raven84, я это и имел ввиду if hp<=50 я написал самый простой пример при котором жизни отнимаются при каждом столкновении -1 и не более, и еще я писал все по быстрому то что вспомнил _____