Воскресенье, 22 Декабря 2024, 08:50

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Как скрестить спрайты
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, очень зря. Кнопки намного медленней, неудобней и непродуктивней кода. Оптимизация и скорость разработки пострадают smile

Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.

HommmeДата: Понедельник, 22 Августа 2011, 19:56 | Сообщение # 13
частый гость
Сейчас нет на сайте
Лер_да_Рим, Ну в виду своей памяти, которая не может запомнить даже обычное четверостишие, приходиться пользоваться кнопками xD

Лер_да_РимДата: Понедельник, 22 Августа 2011, 20:01 | Сообщение # 14
заслуженный участник
Сейчас нет на сайте
Hommme, специально для такой памяти существует справка happy

Дамы и господа, я представляю вам человека, которому н-а-с-р-а-т-ь! (с) Доктор Кокс.



Сообщение отредактировал Лер_да_Рим - Понедельник, 22 Августа 2011, 20:01
HommmeДата: Понедельник, 22 Августа 2011, 20:12 | Сообщение # 15
частый гость
Сейчас нет на сайте
Лер_да_Рим, Ну то да, но в справке пока найдешь что тебе нужно biggrin

  • Страница 1 из 1
  • 1
Поиск:

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