Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоVK ComboВсе проекты

ПОМОГИТЕ. Gamemaker Studio

Артём Никто Ученик (104), на голосовании 1 месяц назад
Итак. Я недавно начал работать в Gamemaker, и у меня уже есть пару маленьких проектов.
Я создал объект, нажав на который увеличится скорость полёта снаряда.
Так выглядит код в left down:

if ( global.money >= 100){
Obj_playerBullet.spd += 10
global.money -= 100
audio_play_sound(Snd_buy, 0, 0)
}

И вот какая проблема: при покупке характеристика не меняется, хотя я вроде-бы всё указал правильно.
Но я такой человек, могу потерять из вида даже мельчайшую деталь. Напишите пожалуйста, что я сделал не так?
Голосование за лучший ответ
Chromatic Scale Просветленный (20718) 2 месяца назад
Исходя из предоставленного кода, проблема, которую я вижу, заключается в отсутствии точки с запятой (`;`) после каждой строки в блоке кода. В GML (язык программирования GameMaker) рекомендуется использовать точки с запятой для завершения строк кода.

Попробуйте исправить ваш код следующим образом:

```gml
if (global.money >= 100) {
Obj_playerBullet.spd += 10;
global.money -= 100;
audio_play_sound(Snd_buy, 0, 0);
}
```

После этого убедитесь, что:
1. `global.money` действительно больше или равно 100 перед покупкой.
2. Объект `Obj_playerBullet` существует и имеет переменную `spd`.
3. Проверьте, вызывается ли ваш код при нажатии кнопки.

Если после этих изменений проблема все еще существует, возможно, у вас есть другие факторы или код, которые воздействуют на поведение объекта или переменные.
Артём НиктоУченик (104) 2 месяца назад
Спасибо за развернутый ответ, но к большому сожалению проблема осталась.
Артём Никто Ученик (104) Артём Никто, Это, кстати, не первый случай странного поведения gml.
Похожие вопросы