Изброяване?, Има ли начин? |
Здравейте ( Вход | Регистрация )
Изброяване?, Има ли начин? |
![]()
Коментар
#1
|
|
![]() Редовен потребител ![]() ![]() ![]() Група: Потребител Коментари: 216 Регистриран: 13.06.07 Град: българия Потребител № 627 ![]() |
Разработвам едно AI enemy в играта си, и трябва да му задам да ходи на obj_wall например, получи се! Ето и част от скрипта gravity=(!place_meeting(x,y+1,obj_wall)) Обаче има и други обекти по които трябва да стъпва например като obj_grass и се чудих дали може да направя така, че да изброявам по кое може, добавих и едно and ето: gravity=(!place_meeting(x,y+1,obj_wall and obj_grass)) После пуснах и не стана заседва и на двата обекта! И незнам как да направя така, че да изброя повече от един обект по който може да върви като AI? Ако може малко помощ?
Направо ето ви целия скрипт: Код if(random(50)<1 && dir<1) dir+=1;
if(random(50)<1 && dir>-1) dir-=1; if(place_meeting(x+movspeed*dir,y,obj_wall)) dir=0; x+=movspeed*dir; if(dir!=0) image_xscale=dir; gravity=(!place_meeting(x,y+1,obj_wall))*grav; if(dir==0) { if(gravity==0) { sprite_index=spr_enemy1_stand; } else { sprite_index=spr_enemy1_still; } } else { if(gravity==0) { sprite_index=spr_enemy1_walk; } else { sprite_index=spr_enemy1_moving; } } if(vspeed>10) vspeed=10; if(collision_rectangle(x+dir*16,y+16,x+dir*movspeed*20,y-maxjump,obj_wall,true,true)>0 && gravity==0) { if(random(4)<1&&!place_meeting(x,y-24,obj_wall) && dir!=0) { ok=0; vx=x; vy=y; x-=999999; y-=999999; with(obj_wall) { if(collision_rectangle(other.vx+other.dir*16,other.vy+16,other.vx+other.dir*other.movspeed*20,other .vy-other.maxjump,id,true,false)) { if(!place_meeting(x-(other.vx<x)+(other.vx>=x),y-1,obj_wall) && collision_line(x,y,other.vx,other.vy,obj_wall,true,true)<0) { other.ok=other.vy-y+16; } } } x=vx; y=vy; if(ok>0) vspeed=-floor(sqrt(2*(ok+64/grav)))*(grav);; } } -------------------- Подписа бе съкратен от модератор.
I am a ![]() The Stone Of Death DEMO: 15% ◄▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬► 100% |
|
|
![]() |
![]()
Коментар
#2
|
|
![]() Редовен потребител ![]() ![]() ![]() Група: Потребител Коментари: 216 Регистриран: 13.06.07 Град: българия Потребител № 627 ![]() |
Ами аз като сложих and се оцвети в син цвят и тогава помислих, че ще се получи нещо. Пробвах на Яверт начина, оказа се много по труден, започнаха да възникват грешки и се отказах, за това мисля да пробвам начина на таланто да има в обекти само един wall, а на tiles ще сложа трева и тн... Ами попринцип and и & в англииския са едно и също. O_o
-------------------- Подписа бе съкратен от модератор.
I am a ![]() The Stone Of Death DEMO: 15% ◄▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬► 100% |
|
|
![]() ![]() |
Олекотена версия | Час: 16:39:57, 03.07.25 |