Среда, 27 Ноября 2024, 00:52

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Ещё вопрос по переменной
ИнтернетДата: Пятница, 24 Апреля 2015, 19:56 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Достаточно глупый но всё же
if (global.hp = 1500){
show_message(' здоровье на макс')
}
какой оператор затормаживает выскакивание сообщения до полного пополнения здоровья ( например здоровья 1450 при пополнении выскакивает show_message(' здоровье на макс') а потом только прибавляется 50) надо наоборот ( как припоминаю из справки надо проверять если выражение истинно вроде Do или For


Сообщение отредактировал Интернет - Суббота, 25 Апреля 2015, 19:40
EfimovMaxДата: Пятница, 24 Апреля 2015, 20:14 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Так поменяй местами в коде строку прибавки здоровья и строку, которая выводит сообщение

Текущий проект: The Experiment ☭

Выпущенные проекты Steam:
Princess.Loot.Pixel.Again
Princess.Loot.Pixel.Again x2
Dungetris
ИнтернетДата: Пятница, 24 Апреля 2015, 20:22 | Сообщение # 3
постоянный участник
Сейчас нет на сайте
И чё это ничего не дало всё равно сообщение вперёд вылезает
EfimovMaxДата: Пятница, 24 Апреля 2015, 20:26 | Сообщение # 4
заслуженный участник
Сейчас нет на сайте
Цитата Интернет ()
И чё это ничего не дало всё равно сообщение вперёд вылезает

Значит я тебя не понял, или ты дал мало информации. Сделай через аларм - засунь строку вывода сообщения в него. Там уже хоть через секунду, хоть через минуту тебе выдаст сообщение.


Текущий проект: The Experiment ☭

Выпущенные проекты Steam:
Princess.Loot.Pixel.Again
Princess.Loot.Pixel.Again x2
Dungetris
QvantДата: Пятница, 24 Апреля 2015, 20:32 | Сообщение # 5
почти ветеран
Сейчас нет на сайте
как только стало ровно global.hp = 1500 так сразу и выскакивает show_message - всё правильно

а потом только прибавляется 50 - нет эта твоя фраза ложная , в переменной уже ровно global.hp = 1500 ни больше ни меньше , не путай с рисованием значении этой переменной в игре
GameLogДата: Суббота, 25 Апреля 2015, 11:09 | Сообщение # 6
был не раз
Сейчас нет на сайте
Код
Hp+50

   if global.hp=1500
{
// показать сообщение
}


Так кажись =)

Главное чтобы переменная была ограниченна happy , а то будет всегда +50


Создаю свою стратегию на game maker , графика вырезана из различных игр ^_^

Сообщение отредактировал GameLog - Суббота, 25 Апреля 2015, 11:12
ЛеонидДата: Суббота, 25 Апреля 2015, 11:19 | Сообщение # 7
постоянный участник
Сейчас нет на сайте
Цитата GameLog ()
Так кажись =)

Странно выглядит прибавление здоровья, так вообще не пишут же.

Мне кажется, что проблема в порядке выполнения действий, рисование выполняется после шага, значит сначала переменная становится 1450, и только потом отображается 1500, сейчас проверю.
GameLogДата: Суббота, 25 Апреля 2015, 11:25 | Сообщение # 8
был не раз
Сейчас нет на сайте
Я делал так, работало happy Ой да в коде моём ошибка
Код
global.hp+50


Создаю свою стратегию на game maker , графика вырезана из различных игр ^_^

Сообщение отредактировал GameLog - Суббота, 25 Апреля 2015, 11:27
ЛеонидДата: Суббота, 25 Апреля 2015, 11:34 | Сообщение # 9
постоянный участник
Сейчас нет на сайте
Да, верно, рисование идет после шага.
Попробовал сделать так, как у тебя, и у меня сообщения начинают бесконечно выскакивать (очевидно почему), у тебя нет такой проблемы?
Я бы вообще отказался от такой системы, что при достижении максимального здоровья выскакивает сообщение, это не удобно совсем.

Добавлено (25 апреля 2015, 11:34)
---------------------------------------------

Цитата GameLog ()
Ой да в коде моём ошибка

Запись вида "Переменная+значение" вообще не работает. Тогда уж "Переменная+=значение".
GameLogДата: Суббота, 25 Апреля 2015, 11:37 | Сообщение # 10
был не раз
Сейчас нет на сайте
happy Факт в том что автор ещё ни чего нам не сказал , разбирайтесь сами, я ужинать и на работу. Удачи вам в этом деле book

Создаю свою стратегию на game maker , графика вырезана из различных игр ^_^
ЛеонидДата: Суббота, 25 Апреля 2015, 11:44 | Сообщение # 11
постоянный участник
Сейчас нет на сайте
Получилось у меня, чтобы работало как нужно. Не думаю, что это самый простой способ, но лучше пока не придумал.

В создании объекта:
Код
global.hp=1300//Любое значение здесь меньше 1500, думаю понятно почему
hpful=0//По ней будем определять "как давно" здоровье достигло максимума

В шаге:
Код

if global.hp<1500 then  
{
global.hp+=50
hpful=0
}
if global.hp=1500 then hpful+=1  
if hpful>3 then hpful=3

В рисовании:
Код
draw_text(x,y,string(global.hp))
if hpful=2 then show_message('здоровье на макс')


Теперь пару слов о hpful. Значение 0 - здоровье не полное; значение 1 - стало полным "только что", пока не отображаем; значение 2 - стало полным шаг назад, выводим сообщение; значение 3 - стало полным "давно", не выводим сообщение и сохраняем значение, пока здоровье снова не потратится.
ИнтернетДата: Суббота, 25 Апреля 2015, 14:12 | Сообщение # 12
постоянный участник
Сейчас нет на сайте
кроч я просто через таймер сделал и не парился
но вот ещё вопрос почему переменная aa продолжает отниматься даже если gg=4 помогите, а то я только недавно с кодами работать начал.
( при нажатии левой клавиши мышки)
if aa>10{
aa-=9
gg+=2
}
else
{
if aa<10{
show_message('--')
gg+=0
}
else
{
if gg=4{
aa-=0
}
}
}


Сообщение отредактировал Интернет - Суббота, 25 Апреля 2015, 18:21
ЛеонидДата: Суббота, 25 Апреля 2015, 22:31 | Сообщение # 13
постоянный участник
Сейчас нет на сайте
Цитата Интернет ()
if aa>10{
aa-=9
gg+=2
}
else
{
if aa<10{
show_message('--')
gg+=0
}
else
{
if gg=4{
aa-=0
}
}
}

Я вообще ничего не понял. Выглядит крайне странно, можно узнать, для чего такой код используется? Пока могу точно сказать, что строчка "gg+=0 " не имеет смысла и совершенно не нужна, и что проверка обратного условия после "else" тоже выглядит очень странно.
Ты проверяешь больше ли аа десяти, если иначе, то ты проверяешь меньше ли она десяти, это чтобы избежать случая, когда она десяти равна? Я не понимаю.
  • Страница 1 из 1
  • 1
Поиск:

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