Среда, 09 Октября 2024, 15:27

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Вопрос - Ответ (Game Maker)
LunarPixelДата: Суббота, 30 Апреля 2011, 20:15 | Сообщение # 1441
старожил
Сейчас нет на сайте
Code
if instance_number(object)=0
room_goto_next();


FaelinДата: Воскресенье, 01 Мая 2011, 04:03 | Сообщение # 1442
частый гость
Сейчас нет на сайте
Всё, уже не интересно, нужен другой вариант.

Пытаюсь сделать в игре магазин, использую переменную money...
При столкновении Object1 с Object2 и код

Code
global.money +=100
global.Object1 =1

После прохождения в другую комнату выводится магазинчик и пара предметов. При нажатии на предмет:
Code
if (money>99) {  Object1 +=1 } else { show_message ('FigVam') }

Пишет что переменная money неизвестна. Как я понял, переменная money не перешла из одной комнаты в другую. Как можно сделать переменную постоянной для всех комнат?

Короче, нужно, чтобы при первом уровне снаряд был 1, после выстрела и попадения в цель добавлялся предмет в инвентаре (инвентарь - это другая тема), потом - переход в магазин. В магазине осуществляется продажа предмета/покупка снаряда, затем - переход в другую комнату, кол-во снарядов должно соответствовать кол-ву купленных + кол-ву не потраченных.

При нажатии, снаряд должен появляться под предметом и лететь вниз. При кол-ве снарядов = 0 должно выводиться сообщение "Снарядов нет, перейти в магазин?" и Вартианты соответственно Да и Нет.


Анархия - мать порядка

Сообщение отредактировал Faelin - Воскресенье, 01 Мая 2011, 05:33
GameMixДата: Воскресенье, 01 Мая 2011, 05:59 | Сообщение # 1443
старожил
Сейчас нет на сайте
Quote (Faelin)
Как можно сделать переменную постоянной для всех комнат?

Создай объект. В его свойствах поставь флажок "Постоянный" или "Persistent". В событии создания этого объекта объяви переменную:
Code
money=0

Затем поставь в стартовую комнату этот объект. Всё! Теперь он будет перемещаться во все остальные комнаты и сохранять значение переменных, объявленных в событии создания (в данном случае, только "money").


Steel Standoff - 2D аркада.
Мои статьи
FaelinДата: Воскресенье, 01 Мая 2011, 08:33 | Сообщение # 1444
частый гость
Сейчас нет на сайте
Нет, не помагает.

Собственно сама ошибка:



Анархия - мать порядка

Сообщение отредактировал Faelin - Воскресенье, 01 Мая 2011, 08:56
BaHu3aTopДата: Воскресенье, 01 Мая 2011, 08:54 | Сообщение # 1445
постоянный участник
Сейчас нет на сайте
Пробуй так
Code
globalvar money;
money=0


FaelinДата: Воскресенье, 01 Мая 2011, 08:56 | Сообщение # 1446
частый гость
Сейчас нет на сайте
Ловите плюсы, помогло =)

Анархия - мать порядка

Сообщение отредактировал Faelin - Воскресенье, 01 Мая 2011, 08:56
LunarPixelДата: Воскресенье, 01 Мая 2011, 08:56 | Сообщение # 1447
старожил
Сейчас нет на сайте
Faelin, если ты зада переменную как global.money то так её везде и пиши:
Code
if (global.money>99)............


FaelinДата: Воскресенье, 01 Мая 2011, 09:02 | Сообщение # 1448
частый гость
Сейчас нет на сайте
LunarPixel, понял, спс...
Оки, спасибо, народ, с созданием переменных разобрался. А как их использовать в случае, когда кол-во "снарядов" должно регулироваться переменными, как заставлять их перестать появляться при переменной =0? И как заставлять их одну за другой появляться под предметом?


Анархия - мать порядка

Сообщение отредактировал Faelin - Воскресенье, 01 Мая 2011, 09:02
BaHu3aTopДата: Воскресенье, 01 Мая 2011, 09:06 | Сообщение # 1449
постоянный участник
Сейчас нет на сайте
в степе героя
Code
if снаряд>0 {то создаем снаряд}


LunarPixelДата: Воскресенье, 01 Мая 2011, 09:13 | Сообщение # 1450
старожил
Сейчас нет на сайте
Quote (Faelin)
как заставлять их перестать появляться при переменной =0?

if peremen>0
{создаем снаряд}

Quote (Faelin)
И как заставлять их одну за другой появляться под предметом?

Вот это я что то не понял!? О чем речь!? Судя по написанному нужно чтобы переменная появлялась под предметом?! smile

Добавлено (01.05.2011, 09:13)
---------------------------------------------
Ну логичнее конечно что речь идет про пули.. просто изначально их назвали "снаряд", а потом вдруг перешли в женский род.. smile
Если так, то:

Code
if peremen>0  
instance_create(x+0,y+0,object)

peremen - количество снарядов
object - объект пули

Вместо 0 пиши числа, чтобы сместить точку появления снаряда туда, куда тубе нужно.


FaelinДата: Воскресенье, 01 Мая 2011, 09:14 | Сообщение # 1451
частый гость
Сейчас нет на сайте
Quote
if peremen>0
{создаем снаряд}

Нет, надо чтобы если снарядов осталось 0, нажатие клавиши "выстрела" ничего не давало.

Quote
Вот это я что то не понял!? О чем речь!? Судя по написанному нужно чтобы переменная появлялась под предметом?! smile

Извиняюсь, не так выразился biggrin
Нужно чтобы при нажатии клавиши и переменной снаряда >0 Снаряд появлялся под "стреляющим объектом" и падал вниз =)


Анархия - мать порядка
LunarPixelДата: Воскресенье, 01 Мая 2011, 09:19 | Сообщение # 1452
старожил
Сейчас нет на сайте
Quote (Faelin)
Нет, надо чтобы если снарядов осталось 0, нажатие клавиши "выстрела" ничего не давало.

Ну так то что я написал так и работает.
Пока снарядов больше 0, стреляешь. Когда они становятся равны 0, то ничего не происходит.

В событии нажатия клавиши:

Code
if peremen>0   
{
instance_create(x+0,y+0,object) //создаем снаряд
peremen-=1 //уменьшаем количество снарядов на 1
}


FaelinДата: Воскресенье, 01 Мая 2011, 09:24 | Сообщение # 1453
частый гость
Сейчас нет на сайте
Ага, понял, т.е. если Переменная > 1, сеть создаётся.
Но вот как сделать чтобы она появлялась под объектом? Object заменить на название объекта, а x y оставить?


Анархия - мать порядка
LunarPixelДата: Воскресенье, 01 Мая 2011, 09:32 | Сообщение # 1454
старожил
Сейчас нет на сайте
К X и Y прибавляй(отнимай) числа... тогда место в котором будет появляться пуля, будет меняться.

Если ты просто напишешь x и y, посмотришь где появится пуля, а потом напишешь x и y+50, то пуля появится на 50 пикселей ниже первого раза.


FaelinДата: Воскресенье, 01 Мая 2011, 10:10 | Сообщение # 1455
частый гость
Сейчас нет на сайте
Оки, со всем этим разобрался, спасибо. Думаю, по инвентарю уроков много, с этим как-нибудь сам =)

Добавлено (01.05.2011, 10:10)
---------------------------------------------
Извиняюсь, опять вопрос по переменным. Как заставлять отображаться переменные (Те же деньги и снаряды к примеру) на фоне какого-либо объекта?


Анархия - мать порядка
LunarPixelДата: Воскресенье, 01 Мая 2011, 10:28 | Сообщение # 1456
старожил
Сейчас нет на сайте
Faelin,
Создаешь объект, и в событии рисования у него пишешь:
Code
draw_text(x,y,peremen)

можно дописать (или изменить в свойствах объекта), параметр depth
Code
depth=-100

Это глубина на которой будет располагаться текст, он будет над всеми объектами у которых depth больше -100
Изначально depth=0 у всех объектов.


FaelinДата: Воскресенье, 01 Мая 2011, 10:50 | Сообщение # 1457
частый гость
Сейчас нет на сайте
Да, всё гуд, отображение идёт, да только числа ужасны. Можно ли загрузить свой набор чисел, как-то изменить стандартный?

Анархия - мать порядка
BaHu3aTopДата: Воскресенье, 01 Мая 2011, 10:55 | Сообщение # 1458
постоянный участник
Сейчас нет на сайте
Faelin, Более доработанный вариант
Code
draw_text(10,10,'Money= '+string(money))
//Заместо 10 и 10 подставь свои

Добавлено (01.05.2011, 10:55)
---------------------------------------------
Поменяй шрифт


FaelinДата: Воскресенье, 01 Мая 2011, 10:56 | Сообщение # 1459
частый гость
Сейчас нет на сайте
BaHu3aTop, Я это уже сам сделал =)
Единственное что не устраивает - это вид чисел


Анархия - мать порядка

Сообщение отредактировал Faelin - Воскресенье, 01 Мая 2011, 10:56
BaHu3aTopДата: Воскресенье, 01 Мая 2011, 10:59 | Сообщение # 1460
постоянный участник
Сейчас нет на сайте
Поменяй шрифт и все

Поиск:

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