GMC Bulgaria

Здравейте ( Вход | Регистрация )

Progessive rotation script
DRD_Earth
коментар 22:38:02, 17-July-2007, Tuesday
Коментар #1


Новодошъл
*

Група: Потребител
Коментари: 24
Регистриран: 14.04.07
Потребител № 533



Ето един скрипт, който написах отдавна. Този скрипт служи за плавно завъртане на обект към дадени координати.
Код
var mdir,dif,dir,rot,trgx,trgy;
dir=image_angle;
trgx=argument0;//target's x
trgy=argument1;//target's y
mdir=point_direction(x,y,trgx,trgy);//target direction
dif=abs(mdir-dir);//difference angle
rot=argument2;//the rotational step

if(mdir>dir)
{if(dif<180) image_angle+=rot;
else image_angle-=rot;
}
else if(mdir<dir)
{if(dif<180) image_angle-=rot;
else image_angle+=rot;
}
if(dif<rot) image_angle=mdir;
if(image_angle<0) image_angle+=360;
if(image_angle>360) image_angle-=360;


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Отговори
Crusader
коментар 14:37:10, 18-July-2007, Wednesday
Коментар #2


Пазителят на Граала
*

Група: Потребител
Коментари: 31
Регистриран: 05.09.06
Град: Монтана
Потребител № 156



point=(face_direction-point_direction(x,y,instance_nearest(x,y,obj).x,instance_nearest(x,y,obj).y)) mod 360
аз сам се обарнал на 80 градуса а целта ми е на 270 та започваме така:
моятя посока-неговата посока(80-270)=на point(-190)
if point<0
{
point+=360
}
после ако point(-190) е ПО-малко от 0 (за случая е)
тогава прибавяме 360 кам point(-190+360=170)
if point>180
{
face_direction+=zavartane;
}
if point<180
{
face_direction-=zavartane;
}
и ето че идва момента в който нашия AI не само че знае да се варти,но и разбира от коя посока е ПО-пряко като се проверява дали point(нашето получено число)не е ПО-голямо от 180.Ако е така тогава ще се заварти на ляво.Ако е ПО-малко от 180(както е в случая)тогава ще се заварти на дясно.
Дано картината ви подскаже нещо за този "ТРУДЕН" пример !!!ПРЕДНИЦАТА Е ОТ ЛЯВО!!!


--------------------
Go to the top of the page
 
+Quote Post

Пишете в тази тема


Reply to this topicStart new topic
1 потребител(и) четат тази тема (1 гости и 0 скрити)
0 Потребител(и):

 



Олекотена версия Час: 22:52:26, 05.07.25