Исчезновение объекта
|
|
Reker | Дата: Суббота, 15 Сентября 2018, 10:32 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| При приближении игрока к объекту, второй должен исчезать, а при отходе игрока опять появляться, но почему-то не работает. create
Код create apha = 1;
step
image_alpha = alpha; if (instance_exists(obj_player)) { if (distance_to_point(obj_player.x,obj_player.y) < 100) alpha -= 0.01;
if (distance_to_point(obj_player.x,obj_player.y) > 100) alpha += 0.01; }
Сообщение отредактировал Reker - Суббота, 15 Сентября 2018, 15:32 |
|
| |
LunarPixel | Дата: Суббота, 15 Сентября 2018, 13:02 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| Ну, как минимум, в create переменная объявлена с ошибкой - "apha" вместо "alpha".
И желательно, наверно, ограничения поставить на увеличение/уменьшение значения переменной.
Код if (alpha > 0) alpha -= 0.01; и
Код if (alpha < 1) alpha += 0.01;
Сообщение отредактировал LunarPixel - Суббота, 15 Сентября 2018, 13:02 |
|
| |
Reker | Дата: Суббота, 15 Сентября 2018, 13:47 | Сообщение # 3 |
почетный гость
Сейчас нет на сайте
| LunarPixel, я тоже думал поставить ограничения, но потом подумал, ведь альфа не может быть меньше 0 и больше 1. А в create только тут ошибся, в коде нет опечатки. Но сейчас проверю, может поможет.
|
|
| |
LunarPixel | Дата: Суббота, 15 Сентября 2018, 14:07 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| Reker, проблема может возникнуть еще в том случае, если для объекта используется событие рисования (Draw).
Цитата Reker ( ) я тоже думал поставить ограничения, но потом подумал, ведь альфа не может быть меньше 0 и больше 1. Но твоя переменная может. Она у тебя будет бесконечно уменьшаться или увеличиваться, соответственно, чтобы ей потом вернуться к исходным значениям, понадобится больше времени.
|
|
| |
AlexanderBekker | Дата: Суббота, 15 Сентября 2018, 14:09 | Сообщение # 5 |
BekkerDev Studio
Сейчас нет на сайте
| Можно вообще уложиться в две строчки:
Код image_alpha += ((distance_to_point(obj_player.x, obj_player.y) > 100) * 2 - 1) * 0.01; image_alpha = max(min(image_alpha, 1), 0);
Разработчик, композитор и издатель инди-игр в Steam. Редактор карт: BekkerDev Level Editor 4 Страница разработчика в Steam Паблик ВК: BekkerDev Studio
|
|
| |