Как скрестить спрайты
|
|
Hommme | Дата: Среда, 17 Августа 2011, 15:08 | Сообщение # 1 |
частый гость
Сейчас нет на сайте
| Проблема такова, для движения в разные стороны должны использоваться разные спрайты(вверх, вниз, влево, вправо) для объекта. Как их объединить в одном объекте?
|
|
| |
Transced | Дата: Среда, 17 Августа 2011, 15:22 | Сообщение # 2 |
TransceD = Game Maker
Сейчас нет на сайте
| Ну это легко. Начнем в событии клавиши "А" пишешь такой код: Code draw_sprite(имя_спрайта,-1,x,y); Это если ты нажимаешь клавишу "А" то спрайт меняется на тот который ты укажешь, а скорость движения можно сделать кнопкой, ну и с остальными также.Добавлено (17.08.2011, 15:15) --------------------------------------------- А это есть даже в самом легком примере. Забей в Гугл и найдешь, или в поиску сайта GCUP.ru Добавлено (17.08.2011, 15:15) --------------------------------------------- Сейчас маленький примерчик сделаю. Добавлено (17.08.2011, 15:22) --------------------------------------------- Вот сам пример: Добавлено (17.08.2011, 15:22) --------------------------------------------- В нем есть управление: W ASD
|
|
| |
Hommme | Дата: Среда, 17 Августа 2011, 15:26 | Сообщение # 3 |
частый гость
Сейчас нет на сайте
| Transced, сенк, теперь понял. Держи плюс=)
|
|
| |
Transced | Дата: Среда, 17 Августа 2011, 15:30 | Сообщение # 4 |
TransceD = Game Maker
Сейчас нет на сайте
| Hommme, Когда я писал это: Quote draw_sprite(имя_спрайта,-1,x,y); Я думал ты хочешь создать каркас игрока, в управлении это не нужно в примеру все есть)) Я на кнопках все сделал. А то я понял что GML ты не знаком.
|
|
| |
Hommme | Дата: Среда, 17 Августа 2011, 15:33 | Сообщение # 5 |
частый гость
Сейчас нет на сайте
| Transced, да я только начал изучать GM, так, эксперементирую понемного=)
|
|
| |
Transced | Дата: Среда, 17 Августа 2011, 15:44 | Сообщение # 6 |
TransceD = Game Maker
Сейчас нет на сайте
| Hommme, Ну удачи.
|
|
| |
Hommme | Дата: Среда, 17 Августа 2011, 15:51 | Сообщение # 7 |
частый гость
Сейчас нет на сайте
| Transced, спс=) слушай у меня ещё один вопрос, всё работает, но есть одно но. Когда я двигаюсь там влево, вправо, ну не важно куда, то картинка спрайта у меня статична, а когда останавлюсь у меня картинка начинает двигаться как на спрайте, то есть видно движение ходьбы ну что бы было понятно вот: двигаться стрелками, зайди и посмотри плз и обьясни что не так.
|
|
| |
Transced | Дата: Среда, 17 Августа 2011, 19:08 | Сообщение # 8 |
TransceD = Game Maker
Сейчас нет на сайте
| Hommme, Смотри что нужно сделать: 1)Создаешь спрайт ходьбы персонажа влево(Анимацию), создаешь еще один спрайт но там спрайт должен быть статическим то есть без анимации. Первому спрайту(там где анимация) даешь имя left_1, а там где персонаж просто стоит повернут влево( без анимации) называешь left_2. 2)Создаешь события нажатие клавиши и делаешь скорость и сторону движения и ставишь спрайт с анимацией(left_1). 2)Создаешь событие отпущения клавиши и делаешь скорость на 0 и выбираешь спрайт left_2. Все))Добавлено (17.08.2011, 19:08) --------------------------------------------- Hommme, я твой исходник не могу открыть у тебя Game Maker 8.1 а у меня 8.0. Если тебе не понятно та я напишу для тебя пример тем будет реализовано управление. Если нужно напиши.
|
|
| |
Hommme | Дата: Суббота, 20 Августа 2011, 23:21 | Сообщение # 9 |
частый гость
Сейчас нет на сайте
| Transced, сорь инета не было не мог ответить, спс за помощь, но одна проблема осталась, всё равно персонаж во время движения статичен, хотя теперь и когда стоит он статичен. видимо я что то не то сделал, хотя вроде всё сделал как ты сказал.
|
|
| |
MR-Igrodel | Дата: Воскресенье, 21 Августа 2011, 19:15 | Сообщение # 10 |
GML скриптор
Сейчас нет на сайте
| давай тож помогу. делаем так. создаем один спрайт игрока, где он смотрит направо. направо по гейм мейкеру это нуль градусов. делай обьект - присваивай спрайт в событие степ - пиши код Code image_angle=direction if speed>0 {image_speed=5} else {image_speed=0} //вместо 5 можешь поставить другое число, это лишь скорость анимации if keyboard_check(vk_up) {y-=5; direction=90} if keyboard_check(vk_down) {y+=5; direction=270} if keyboard_check(vk_left) {x-=5; direction=180} if keyboard_check(vk_right) {x+=5; direction=0} //вместо vk_ можно поставить ord('БОЛЬШАЯЛАТИНСКАЯБУКВА')
это так, для новых навыков)
Урок взаимодействия джойстика в Game Maker Как быстро сделать меню и не париться в Game Maker
|
|
| |
Hommme | Дата: Воскресенье, 21 Августа 2011, 20:25 | Сообщение # 11 |
частый гость
Сейчас нет на сайте
| MR-Igrodel, Да я уже сделал что мне надо, забыл отписатся. Но сделал всё на кнопках, без скриптов=)
Сообщение отредактировал Hommme - Воскресенье, 21 Августа 2011, 20:25 |
|
| |
Лер_да_Рим | Дата: Понедельник, 22 Августа 2011, 19:40 | Сообщение # 12 |
заслуженный участник
Сейчас нет на сайте
| Hommme, очень зря. Кнопки намного медленней, неудобней и непродуктивней кода. Оптимизация и скорость разработки пострадают
Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.
|
|
| |
Hommme | Дата: Понедельник, 22 Августа 2011, 19:56 | Сообщение # 13 |
частый гость
Сейчас нет на сайте
| Лер_да_Рим, Ну в виду своей памяти, которая не может запомнить даже обычное четверостишие, приходиться пользоваться кнопками xD
|
|
| |
Лер_да_Рим | Дата: Понедельник, 22 Августа 2011, 20:01 | Сообщение # 14 |
заслуженный участник
Сейчас нет на сайте
| Hommme, специально для такой памяти существует справка
Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.
Сообщение отредактировал Лер_да_Рим - Понедельник, 22 Августа 2011, 20:01 |
|
| |
Hommme | Дата: Понедельник, 22 Августа 2011, 20:12 | Сообщение # 15 |
частый гость
Сейчас нет на сайте
| Лер_да_Рим, Ну то да, но в справке пока найдешь что тебе нужно
|
|
| |