forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   MidletPascal (http://forum.boolean.name/forumdisplay.php?f=46)
-   -   16 направлений движений эт возможно? (http://forum.boolean.name/showthread.php?t=11774)

dess 22.01.2010 14:50

16 направлений движений эт возможно?
 
Вложений: 1
здраствуйте, можно ли на MP сделать 16 направлений дижения ?

ViNT 22.01.2010 14:57

Ответ: 16 направлений движений эт возможно?
 
В чем заключается вопрос - в алгоритме перемещения объекта или в реализации управления?

dess 22.01.2010 16:08

Ответ: 16 направлений движений эт возможно?
 
Цитата:

Сообщение от ViNT (Сообщение 134380)
В чем заключается вопрос - в алгоритме перемещения объекта или в реализации управления?

в движении спрайта машины на даный случай чтобы она могла двигаца в 16 направлениях а не токо 8 как у меня получилось мне вот этого например мало для машины скорость увеличиваеца при удержании 2 на некоторою еденицу и т.д.

Hurrit 22.01.2010 16:10

Ответ: 16 направлений движений эт возможно?
 
Можно хоть на все 360 сторон

dess 22.01.2010 16:16

Ответ: 16 направлений движений эт возможно?
 
мож дать мини пример ? чтобы спрайт двигался сам с n- скоростью которую я управляю клавишами 2-8 к примеру

impersonalis 22.01.2010 16:22

Ответ: 16 направлений движений эт возможно?
 
используй sin cos для получения проекций вектора движения на оси. Чтобы избежать потери точности, связанной дискретностью мат. модели, храни получаемые результаты в переменных с плавающей запятой, вычисляя текущие координаты не как смещение от предыдущих, а как смещение от точки последнего изменения направления.

dess 22.01.2010 17:27

Ответ: 16 направлений движений эт возможно?
 
спасибо, в какую степь копать теперь понятно. если в кого есть пример выложите пожалуйста, а то я новачёк

jimon 22.01.2010 17:54

Ответ: 16 направлений движений эт возможно?
 
dess
возьми школьный учебник по алгебре и геометрии за 9 класс, там есть все что тебе нужно

Randomize 22.01.2010 21:56

Ответ: 16 направлений движений эт возможно?
 
ang - угол поворота.
x=x+cos(ang)
y=y+sin(ang)
Азы...

Reizel 23.01.2010 19:00

Ответ: 16 направлений движений эт возможно?
 
эх не знал бы я тригонометрии не смог бы игры делать :)

im_zorg 01.02.2010 17:39

Ответ: 16 направлений движений эт возможно?
 
Цитата:

Сообщение от Randomize (Сообщение 134441)
ang - угол поворота.
x=x+cos(ang)
y=y+sin(ang)
Азы...

спс помог

Randomize 01.02.2010 18:23

Ответ: 16 направлений движений эт возможно?
 
Используй только при условии, что попробуешь понять как это вобще работает. Иначе я зря писал.

dess 18.02.2010 01:03

Ответ: 16 направлений движений эт возможно?
 
немогу врубица как это всё будет работать ......:(

jimon 18.02.2010 01:52

Ответ: 16 направлений движений эт возможно?
 
dess
ты девять классов школы прошел ? в девятом объясняют как такое сделать

Phantom 18.02.2010 04:47

Ответ: 16 направлений движений эт возможно?
 
А я закончил 12 классов школы и нихрена не помню тригонометрию гг. Впрочем если бы мне было это нужно, то вероятно вник и понял бы. =)

dess 18.02.2010 11:42

Ответ: 16 направлений движений эт возможно?
 
Цитата:

Сообщение от jimon (Сообщение 138009)
dess
ты девять классов школы прошел ? в девятом объясняют как такое сделать

я уже закончил но нехрена не пойму как записать это всё в паскале чтобы оно работало.
просто я запутался но как люди говорят нада больше погрузица и понять.
пойду в соседа учебник возьму!

PassCall 13.04.2011 11:07

Ответ: 16 направлений движений эт возможно?
 
Цитата:

Сообщение от Randomize (Сообщение 134441)
ang - угол поворота.
x=x+cos(ang)
y=y+sin(ang)
Азы...

Неправильно. Ты пытаешся скомить ang (градусы) функции, которая работает в РАДИАНАХ. Плюс забыл скорость.

Надо так:

ang - угол поворота (real)
speed - скорость, с которой перемещается машина (real)

x:=x+cos(ang*0,0174)*speed;
y:=y+sin(ang*0,0174)*speed;

Randomize 16.04.2011 19:09

Ответ: 16 направлений движений эт возможно?
 
Цитата:

Сообщение от PassCall (Сообщение 185702)
Неправильно. Ты пытаешся скомить ang (градусы) функции, которая работает в РАДИАНАХ. Плюс забыл скорость.

Надо так:

ang - угол поворота (real)
speed - скорость, с которой перемещается машина (real)

x:=x+cos(ang*0,0174)*speed;
y:=y+sin(ang*0,0174)*speed;

С MP не работал ни разу. Из радиан в градусы конвертнуть ничего не стоит. Главное, что вопрошающий всё понял. А уж скорость добавить - логики много не нужно.


Часовой пояс GMT +4, время: 23:00.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot