Progessive rotation script |
Здравейте ( Вход | Регистрация )
Progessive rotation script |
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; -------------------- |
|
|
|
![]() |
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(както е в случая)тогава ще се заварти на дясно. Дано картината ви подскаже нещо за този "ТРУДЕН" пример !!!ПРЕДНИЦАТА Е ОТ ЛЯВО!!!
-------------------- |
|
|
|
DRD_Earth Progessive rotation script 22:38:02, 17-July-2007, Tuesday
Crusader При мен е мн по-просто с едно момиче го решихме:
p... 01:27:34, 18-July-2007, Wednesday
Ivo Georgiev @Няма ли да обясниш аргументите на скрипта,и как с... 09:21:57, 18-July-2007, Wednesday
Crusader Това се слага в step а в create се пише image_angl... 11:42:44, 18-July-2007, Wednesday
Ivo Georgiev Да разбрах какво имаш предвид.И аргументите ги раз... 11:51:19, 18-July-2007, Wednesday
DRD_Earth Цитат(Crusader @ 02:27:34, 18-Ju... 13:12:31, 18-July-2007, Wednesday
Ivo Georgiev Ми може да е в бегин степ!!! 13:16:28, 18-July-2007, Wednesday
Ivo Georgiev Ахам сега вече схванах напълно. 15:58:32, 18-July-2007, Wednesday![]() ![]() |
| Олекотена версия | Час: 14:07:38, 24.12.25 |