Сделать поворот вокруг своей оси
|
|
Hasherden | Дата: Воскресенье, 23 Сентября 2012, 23:21 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Я укажу схему на картинке, вроде бы все понятно, если нет пишите объясню подробнее то есть движение зависит от направления объекта, к примеру если объект повернулся на 45градусов, то если нажать движение вперед, движение будет и дальше под углом 45градусов, назад тоже самое 45градусов, а вправо, лева перпендикулярно траектории движения
hellp me please
Сообщение отредактировал Hasherden - Воскресенье, 23 Сентября 2012, 23:49 |
|
| |
Йакуд | Дата: Понедельник, 24 Сентября 2012, 01:36 | Сообщение # 2 |
участник
Сейчас нет на сайте
| Code CREATE: sp = 2; // Скорость движения dir = 0; dir_speed = 2 // Скорость поворота
STEP: dir += (keyboard_check(ord("Q"))-keyboard_check(ord("E")))*dir_speed;
if(keyboard_check(ord("W"))){ x += lengthdir_x(sp, dir); y += lengthdir_y(sp, dir); } if(keyboard_check(ord("S"))){ x += lengthdir_x(sp, dir-180); y += lengthdir_y(sp, dir-180); }
if(keyboard_check(ord("D"))){ x += lengthdir_x(sp, dir-90); y += lengthdir_y(sp, dir-90); }
if(keyboard_check(ord("A"))){ x += lengthdir_x(sp, dir+90); y += lengthdir_y(sp, dir+90); }
"Хороший художник – копирует, гениальный – ворует!" — Pablo Picasso .blanco 2.0
Сообщение отредактировал Йакуд - Понедельник, 24 Сентября 2012, 01:37 |
|
| |
Hasherden | Дата: Понедельник, 24 Сентября 2012, 02:51 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| мерси Добавлено (24.09.2012, 02:51) --------------------------------------------- Йакуд, как сделать что бы спрайт поворачивался соответственно ? Code image_angle=direction в степе не работает
hellp me please
|
|
| |
Йакуд | Дата: Понедельник, 24 Сентября 2012, 08:21 | Сообщение # 4 |
участник
Сейчас нет на сайте
| логично же.. Т.к. за угол поворота у нас отвечает переменная dir.
"Хороший художник – копирует, гениальный – ворует!" — Pablo Picasso .blanco 2.0
|
|
| |
Hasherden | Дата: Понедельник, 24 Сентября 2012, 10:58 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| thx
hellp me please
|
|
| |
ilgamer | Дата: Четверг, 27 Сентября 2012, 17:14 | Сообщение # 6 |
Needle Games
Сейчас нет на сайте
| Проще будет вот так:
Create: Code playerAngle=0; playerSpeed = 2;
Step: Code if(keyboard_check(ord("Q"))) playerAngle-=1; // 1 - скорость поворота if(keyboard_check(ord("E"))) playerAngle+=1;
if(keyboard_check(ord("W"))) { x += playerSpeed*cos(degtorad(playerAngle)); y += playerSpeed*sin(degtorad(playerAngle)); }
if(keyboard_check(ord("S"))) { x -= playerSpeed*cos(degtorad(playerAngle)); y -= playerSpeed*sin(degtorad(playerAngle)); }
if(keyboard_check(ord("A"))) { x += playerSpeed*cos(degtorad(playerAngle-90)); y += playerSpeed*sin(degtorad(playerAngle-90)); }
if(keyboard_check(ord("D"))) { x += playerSpeed*cos(degtorad(playerAngle+90)); y += playerSpeed*sin(degtorad(playerAngle+90)); }
image_angle = -playerAngle;
Сообщение отредактировал ilgamer - Пятница, 28 Сентября 2012, 15:23 |
|
| |