Пятница, 29 Марта 2024, 14:57

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Нужна помощь с GML!
Нужна помощь с GML!
SellimiusДата: Воскресенье, 12 Июня 2011, 20:44 | Сообщение # 1
участник
Сейчас нет на сайте
Начал его учить и делать РПГ!

1) вот у меня есть к примеру код:
if (keyboard_check(vk_down)) y += 4;

как мне сделать чтобы if (keyboard_check(vk_down)) спрайт объекта менялся на - "Название спрайта"!

2) еще мне надо чтобы если keyboard_lastkey = vk_down то спрайт объекта менялся на - "Название объекта"!
Только распишите кодом плиз!


Сообщение отредактировал Sellimius - Воскресенье, 12 Июня 2011, 21:00
LunarPixelДата: Воскресенье, 12 Июня 2011, 20:59 | Сообщение # 2
старожил
Сейчас нет на сайте
Что значит
Quote (Sellimius)
спрайт объекта менялся на - "Название объекта"


Спрайт не может меняться на объект. Если тебе нужно сменить спрайт по нажатию на клавишу, то пиши такой код:
sprite_index=название спрайта

Таким образом спрайт объекта изменится на тот, что ты указал. Аналогично для обоих пунктов.


SellimiusДата: Воскресенье, 12 Июня 2011, 21:00 | Сообщение # 3
участник
Сейчас нет на сайте
Quote (LunarPixel)

ой на "Название спрайта"
FadeBakerДата: Воскресенье, 12 Июня 2011, 21:02 | Сообщение # 4
JavaSE Game Developer
Сейчас нет на сайте
Quote (Sellimius)
как мне сделать чтобы if (keyboard_check(vk_down)) спрайт объекта менялся на - "Название объекта"!

В Step:
Code
s = object_get_name(твой_объект);
if keyboard_check(vk_down)
{
sprite_index = s;
}


Quote (Sellimius)
2) еще мне надо чтобы если keyboard_lastkey = vk_down то спрайт объекта менялся на - "Название объекта"!

Code
s = object_get_name(твой_объект);
g = keyboard_lastkey;
if g == vk_up
{
sprite_index = s;
}


Уроки по GM
Minecraft 2D на GM
— Мои проекты —
Blood Harvest [2D] — Original
Blood Harvest [2D]: Remastered Edition
Adventure Craft [2D] — Sandbox
Space Shock [2D] — Scroll Shooter
Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
SellimiusДата: Воскресенье, 12 Июня 2011, 21:02 | Сообщение # 5
участник
Сейчас нет на сайте
if (keyboard_check(vk_right)) {x += 4; sprite_index=running-e;}

выдает ошибку

ERROR in
action number 1
of Step Event
for object my_pers:

Error in code at line 2:
if (keyboard_check(vk_right)) {x += 4; sprite_index=running-e;}
^
at position 54: Unknown variable running
LunarPixelДата: Воскресенье, 12 Июня 2011, 21:04 | Сообщение # 6
старожил
Сейчас нет на сайте
Sellimius, убери в названии спрайта тире, используй нижнее подчеркивание. smile

SellimiusДата: Воскресенье, 12 Июня 2011, 21:06 | Сообщение # 7
участник
Сейчас нет на сайте
Quote (vasyan555)
В Step:

спрайты просто исчезают((

Добавлено (12.06.2011, 21:06)
---------------------------------------------

Quote (LunarPixel)
Sellimius, убери в названии спрайта тире, используй нижнее подчеркивание. smile

да вот теперь заработало!
FadeBakerДата: Воскресенье, 12 Июня 2011, 21:08 | Сообщение # 8
JavaSE Game Developer
Сейчас нет на сайте
Sellimius, как именно?

Уроки по GM
Minecraft 2D на GM
— Мои проекты —
Blood Harvest [2D] — Original
Blood Harvest [2D]: Remastered Edition
Adventure Craft [2D] — Sandbox
Space Shock [2D] — Scroll Shooter
Intel® Core™ i5-3570K 3.40 GHz, 8 GB RAM, GeForce GTX 750 Ti, Monitor: LG 23EA63V-P.
SellimiusДата: Воскресенье, 12 Июня 2011, 21:10 | Сообщение # 9
участник
Сейчас нет на сайте
if (keyboard_check(vk_left)) x -= 4;
if (keyboard_check(vk_right)) {x += 4; sprite_index = running_e;}
if (keyboard_check(vk_up)) y -= 4;
if (keyboard_check(vk_down)) y += 4;
if (keyboard_check(vk_left) and keyboard_check(vk_up)) {x -= 2; y -= 1;}
if (keyboard_check(vk_left) and keyboard_check(vk_down)) {x -= 2; y += 1;}
if (keyboard_check(vk_right) and keyboard_check(vk_up)) {x += 2; y -= 1;}
if (keyboard_check(vk_right) and keyboard_check(vk_down)) {x += 2; y += 1;}
lastkey = keyboard_lastkey;
if (lastkey == vk_right) {sprite_index = stopped0006;}

вот теперь надо чтобы если lastkey == vk_right то спрайт = stopped0006; но если (keyboard_check(vk_right)) {x += 4; sprite_index = running_e;} но спрайт всегда = stopped0006; что делать?

Добавлено (12.06.2011, 21:10)
---------------------------------------------

Quote (vasyan555)
Sellimius, как именно?

выше код смотри
LunarPixelДата: Воскресенье, 12 Июня 2011, 21:10 | Сообщение # 10
старожил
Сейчас нет на сайте
vasyan555, естественно он будет исчезать... зачем спрайту присваивать идентификатор объекта!? Просто нет спрайта с тем же идентификатором, потому исходный спрайт исчезает и всё... smile

SellimiusДата: Воскресенье, 12 Июня 2011, 21:11 | Сообщение # 11
участник
Сейчас нет на сайте
Quote (LunarPixel)
исчезает и всё..

да я тоже об этом подумал
LunarPixelДата: Воскресенье, 12 Июня 2011, 21:12 | Сообщение # 12
старожил
Сейчас нет на сайте
Попробуй так с последней строкой:
if (lastkey == vk_right and !keyboard_check(vk_right)) {sprite_index = stopped0006;}


SellimiusДата: Воскресенье, 12 Июня 2011, 21:21 | Сообщение # 13
участник
Сейчас нет на сайте
Quote (LunarPixel)
if (lastkey == vk_right and !keyboard_check(vk_right)) {sprite_index = stopped0006;}

О спс работает)

Добавлено (12.06.2011, 21:21)
---------------------------------------------
а как еще image_speed добавить сюда - if (keyboard_check(vk_right)) {x += 4; sprite_index = running_e;}

if (keyboard_check(vk_right)) {x += 4; sprite_index = running_e; image_speed=10;} так слишком быстро если ставлю 2 тоже быстро ставлю 20 не меняеться ваше!

LunarPixelДата: Воскресенье, 12 Июня 2011, 21:23 | Сообщение # 14
старожил
Сейчас нет на сайте
Sellimius, значение меняется от 0 до 1... т.е. 1 - это максимальная скорость спрайта. Ставь дробные значения (0.1 0.2 0.3 и т.д.)

SellimiusДата: Воскресенье, 12 Июня 2011, 23:41 | Сообщение # 15
участник
Сейчас нет на сайте
Quote (LunarPixel)
Sellimius, значение меняется от 0 до 1... т.е. 1 - это максимальная скорость спрайта. Ставь дробные значения (0.1 0.2 0.3 и т.д.)

спс огромное! если будут вопросы еще обращусь! А лучше если можешь дай скайп)
BrainДата: Понедельник, 13 Июня 2011, 03:11 | Сообщение # 16
участник
Сейчас нет на сайте
Ты серьезно собрался делать рпг с такими знаниями? happy

В попытках осуществить Ньютоновскую физику на GameMaker...
SellimiusДата: Понедельник, 13 Июня 2011, 10:49 | Сообщение # 17
участник
Сейчас нет на сайте
Quote (Brain)
Ты серьезно собрался делать рпг с такими знаниями?

я быстро научусь!
Я знаю php на достаточном уровне и pascal норм
BrainДата: Понедельник, 13 Июня 2011, 10:53 | Сообщение # 18
участник
Сейчас нет на сайте
"Чем больше ты знаешь, тем труднее усваивать новое" ©

В попытках осуществить Ньютоновскую физику на GameMaker...
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Нужна помощь с GML!
  • Страница 1 из 1
  • 1
Поиск:

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