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

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Ходьба в ТДС
DarkbasicДата: Суббота, 08 Декабря 2012, 08:55 | Сообщение # 1
Revival Deiphi
Сейчас нет на сайте
Как сделать ходьбу я все пробовал но когда в шаге пишешь он идет и не останавливаеться после того как клавиша отпущена. пробовал писать код еще и на отпущение клавиши тогда он вообще на раз ходит(т.е. 1 раз нажал на 1 шаг и продвинулся) помогите исправить!


WarezReiterДата: Суббота, 08 Декабря 2012, 12:46 | Сообщение # 2
был не раз
Сейчас нет на сайте
Надо это писать не в шаге а в событии нажатия\отпущения клавиши. Если я правильно понял...
А если надо в шаге, то:

if (keyboard_check_pressed(key)){ходим}
else {останавливаемся}


The order comes in the chaos

Сообщение отредактировал WarezReiter - Суббота, 08 Декабря 2012, 12:59
MrNeshДата: Суббота, 08 Декабря 2012, 13:13 | Сообщение # 3
Воин добра и света
Сейчас нет на сайте
Code

if ( keyboard_check( vk_right )) {
  x = x + 5;
}

if ( keyboard_check( vk_left )) {
  x = x - 5;
}

if ( keyboard_check( vk_up )) {
  y = y - 5;
}

if ( keyboard_check( vk_down )) {
  y = y + 5;
}


ErrantBugДата: Суббота, 08 Декабря 2012, 14:38 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Darkbasic, это прозвучит банально, но тебе не помешало бы прочесть справку...



Сообщение отредактировал ErrantBug - Суббота, 08 Декабря 2012, 14:38
WhoAmIДата: Понедельник, 10 Декабря 2012, 15:58 | Сообщение # 5
Сумасшедший программист
Сейчас нет на сайте
Darkbasic, ставишь спрайт игрока по центру и в step пишешь:
Код

image_angle= point_direction(x,y,mouse_x,mouse_y)+270; //Игрок смотрит на мышку.
if ( keyboard_check( vk_right )) {  //Если клавиша = вправо, то
    x +=5; //x+=5(вправо(x - это горизонтально))
}   
else
{x=0} //Если отпущена, то он резко останавливается.
if ( keyboard_check( vk_left )) { //Влево - по горизонтали
    x-=5;   
}   
else
{
x+=0 //Опять резко тормозит.
}
if ( keyboard_check( vk_up )) {   
    y -=5; //Идёт вверх(y - это вертикаль)
}
else
{
y+=0 //Останавливается
}   


Struggle #Gamiron12

Сообщение отредактировал WhoAmI - Понедельник, 07 Января 2013, 18:48
zaicev9797Дата: Пятница, 14 Декабря 2012, 11:25 | Сообщение # 6
AbRaKaDaBrA
Сейчас нет на сайте
ГОРАЗДО ПРОЩЕ

событие нажатия клавиши вперед

y-=5

событие нажатия клавиши вниз

y+=5(или на оборот)

в событии нажатия клавиши влево
x-=5

в событии нажатия клавиши вправо
x+=5

и вуаля ваш персонаж ходит нормально


проект Mysterious Space. The losted moment

Сообщение отредактировал zaicev9797 - Пятница, 14 Декабря 2012, 11:27
WhoAmIДата: Понедельник, 07 Января 2013, 18:07 | Сообщение # 7
Сумасшедший программист
Сейчас нет на сайте
zaicev9797, и вуаля я ему уже давно помог =3

Добавлено (07.01.2013, 18:07)
---------------------------------------------
zaicev9797, кнопочники жесть!!


Struggle #Gamiron12
MrNeshДата: Понедельник, 07 Января 2013, 18:18 | Сообщение # 8
Воин добра и света
Сейчас нет на сайте

WhoAmI, что за...зачем
Цитата (WhoAmI)
else
{x=0} //Если отпущена, то он резко останавливается.

Цитата (WhoAmI)
+270


1. Зачем else и при x = 0 он переместиться в левый верхний угол.
2. Зачем к point_direction() прибавил 270


FadeBakerДата: Понедельник, 07 Января 2013, 18:27 | Сообщение # 9
JavaSE Game Developer
Сейчас нет на сайте
Цитата (WhoAmI)
x=0

Цитата (WhoAmI)
y=0

Лоллировал. Ты вообще читаешь, что пишешь?!


Уроки по 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.
WhoAmIДата: Понедельник, 07 Января 2013, 18:33 | Сообщение # 10
Сумасшедший программист
Сейчас нет на сайте
ой ошибся ща исправлю

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

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