Воскресенье, 28 Апреля 2024, 02:52

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Почему ошибка возникает в коде? (Execute code - Game Maker 8.1)
Почему ошибка возникает в коде?
GameDev2Дата: Среда, 05 Апреля 2023, 15:57 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Здравствуйте!

Код
if keyboard_check(vk_up) = 1 (y-=sp;)
else (y=y)


Я не понимаю в чём здесь ошибка, вроде всё верно. По видео я делал всё правильно, вот только на видео не писали про ошибку, а у меня пишет почему? Не знаете?

Буду очень благодарен, если ответите.


Сообщение отредактировал GameDev2 - Среда, 05 Апреля 2023, 15:57
falcowareДата: Среда, 05 Апреля 2023, 16:05 | Сообщение # 2
старожил
Сейчас нет на сайте
Может фигурные скобки нужны а не круглые?
(y-=sp;) {} ?
AlexanderBekkerДата: Среда, 05 Апреля 2023, 16:10 | Сообщение # 3
BekkerDev Studio
Сейчас нет на сайте
Код
if (keyboard_check(vk_up)) y -= sp;

Вот так правильно. Что за маразм с else (y=y)? Зачем присваивать координате Y эту же координату Y, если клавиша vk_up не нажата? Она и так никуда не денется, так скажем.


Разработчик, композитор и издатель инди-игр в Steam.
Редактор карт: BekkerDev Level Editor 4
Страница разработчика в Steam
Паблик ВК: BekkerDev Studio
MagicHeroДата: Пятница, 07 Апреля 2023, 15:26 | Сообщение # 4
участник
Сейчас нет на сайте
AlexanderBekker, А можно еще более грамотней сделать.

Код

if ( keyboard_check(vk_up) )
{
   y -= sp;
}
else
{
   y = y;
}

// или так как я привык

if ( keyboard_check(vk_up) ) { y-=sp; }
else { y=y; }



Сообщение отредактировал MagicHero - Пятница, 07 Апреля 2023, 15:28
AlexanderBekkerДата: Пятница, 07 Апреля 2023, 16:55 | Сообщение # 5
BekkerDev Studio
Сейчас нет на сайте
Цитата MagicHero ()
А можно еще более грамотней сделать.

Цитата MagicHero ()
// или так как я привык
if ( keyboard_check(vk_up) ) { y-=sp; }
else { y=y; }

В чём заключается грамотность такого решения? Координата Y изменяется только при условии нажатой клавиши, в противном случае ничего с ней не происходит. Допустим, координата Y равна 12. Тогда y = y равносильно выражению y = 12. И какой в этом смысл, если Y и так равна себе же, то есть 12? Какие-то очень плохие привычки в кодинге. Я много всего повидал за 10 лет программирования, но такой неведомой «магии» ещё не видел.


Разработчик, композитор и издатель инди-игр в Steam.
Редактор карт: BekkerDev Level Editor 4
Страница разработчика в Steam
Паблик ВК: BekkerDev Studio
MagicHeroДата: Суббота, 08 Апреля 2023, 14:51 | Сообщение # 6
участник
Сейчас нет на сайте
AlexanderBekker, я писал про стиль записи, код не трогал.
AlexanderBekkerДата: Суббота, 08 Апреля 2023, 15:49 | Сообщение # 7
BekkerDev Studio
Сейчас нет на сайте
Цитата falcoware ()
Стим на Ладан дышит? А какая была распальцовка?!

У меня со стимом всё замечательно даже в условиях санкций, не волнуйся. С тобой бы я точно столько не заработал, даже если бы ты отдавал разработчикам все 100% прибыли, а не максимум 10%.


Разработчик, композитор и издатель инди-игр в Steam.
Редактор карт: BekkerDev Level Editor 4
Страница разработчика в Steam
Паблик ВК: BekkerDev Studio
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Почему ошибка возникает в коде? (Execute code - Game Maker 8.1)
  • Страница 1 из 1
  • 1
Поиск:

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