Progessive rotation script |
Здравейте ( Вход | Регистрация )
![]() ![]() |
Progessive rotation script |
![]()
Коментар
#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; -------------------- |
|
|
![]()
Коментар
#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 if point<0 { point+=360 } if point>180 { face_direction+=tur/weg; } if point<180 { face_direction-=tur/weg; } -------------------- |
|
|
![]()
Коментар
#3
|
|
![]() Иво Георгиев ![]() ![]() ![]() ![]() ![]() Група: Потребител Коментари: 887 Регистриран: 08.04.07 Потребител № 523 ![]() |
@Няма ли да обясниш аргументите на скрипта,и как се използва.Иначе аз го разбрах и е много добър,браво.
@Единия скрипт използва face direction а другия image_andgle и правя заключение че това са 2 съвсем различни скрипта |
|
|
![]()
Коментар
#4
|
|
![]() Пазителят на Граала ![]() Група: Потребител Коментари: 31 Регистриран: 05.09.06 Град: Монтана Потребител № 156 ![]() |
Това се слага в step а в create се пише image_angle==face_direction а за горното argument0 е Х координата на целта argument1 е У координата на целта argument2 е скороста на ротациятя
edit:step sorry -------------------- |
|
|
![]()
Коментар
#5
|
|
![]() Иво Георгиев ![]() ![]() ![]() ![]() ![]() Група: Потребител Коментари: 887 Регистриран: 08.04.07 Потребител № 523 ![]() |
Да разбрах какво имаш предвид.И аргументите ги разбрах по отдавна,но трябва в ония скрипт да се пише кои аргумент какво е!
|
|
|
![]()
Коментар
#6
|
|
![]() Новодошъл ![]() Група: Потребител Коментари: 24 Регистриран: 14.04.07 Потребител № 533 ![]() |
При мен е мн по-просто с едно момиче го решихме: point=(face_direction-point_direction(x,y,instance_nearest(x,y,obj).x,instance_nearest(x,y,obj).y)) mod 360 if point<0 { point+=360 } if point>180 { face_direction+=tur/weg; } if point<180 { face_direction-=tur/weg; } Сложи /*comments*/ на твоя скрипт, че не мога да го разбера. Това се слага в step а в create се пише image_angle==face_direction ... Но не трябва ли image_angle==face_direction също да се сложи в step? -------------------- |
|
|
![]()
Коментар
#7
|
|
![]() Иво Георгиев ![]() ![]() ![]() ![]() ![]() Група: Потребител Коментари: 887 Регистриран: 08.04.07 Потребител № 523 ![]() |
Ми може да е в бегин степ!!!
|
|
|
![]() ![]()
Коментар
#8
|
|
![]() Пазителят на Граала ![]() Група: Потребител Коментари: 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(както е в случая)тогава ще се заварти на дясно. Дано картината ви подскаже нещо за този "ТРУДЕН" пример !!!ПРЕДНИЦАТА Е ОТ ЛЯВО!!! ![]() -------------------- |
|
|
![]()
Коментар
#9
|
|
![]() Иво Георгиев ![]() ![]() ![]() ![]() ![]() Група: Потребител Коментари: 887 Регистриран: 08.04.07 Потребител № 523 ![]() |
Ахам сега вече схванах напълно.
|
|
|
![]() ![]() |
Олекотена версия | Час: 17:24:53, 05.07.25 |