Изброяване?, Има ли начин? |
Здравейте ( Вход | Регистрация )
Изброяване?, Има ли начин? |
01:00:21, 25-August-2010, Wednesday
Коментар
#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 according to the gml n00b test!The Stone Of Death DEMO: 15% ◄▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬► 100% |
|
|
|
martinmarks Изброяване? 01:00:21, 25-August-2010, Wednesday
яверт Пробвай gravity=(!place_meeting(x,y+1,obj_wall... 07:14:31, 25-August-2010, Wednesday
TALANTO Щом е станало с obj_wall пробвай в другия обкет да... 08:13:01, 25-August-2010, Wednesday
Hella_from_Hell Това "and" още щом го видите и трябва да... 09:34:26, 25-August-2010, Wednesday
яверт Цитат(Hella_from_Hell @ 10:34:26, 25... 09:55:09, 25-August-2010, Wednesday
Hella_from_Hell Цитат(яверт @ 10:55:09, 25-Augus... 07:25:11, 26-August-2010, Thursday
TALANTO Цитат(Hella_from_Hell @ 08:25:11, 26... 09:29:07, 26-August-2010, Thursday
яверт Цитат(Hella_from_Hell @ 08:25:11, 26... 09:35:17, 26-August-2010, Thursday
TALANTO Не виждам разлика между and и &&. Ако има ... 10:01:03, 25-August-2010, Wednesday
martinmarks Ами аз като сложих and се оцвети в син цвят и тога... 10:05:17, 25-August-2010, Wednesday
яверт Цитат(martinmarks @ 11:05:17, 25... 10:13:53, 25-August-2010, Wednesday
TALANTO Цитат(martinmarks @ 11:05:17, 25... 10:22:10, 25-August-2010, Wednesday
martinmarks Аха, ами аз направих един ivisible wall и после а ... 10:52:23, 25-August-2010, Wednesday
TALANTO Вече редактирах горния коментар примера е в него. ... 10:57:23, 25-August-2010, Wednesday
martinmarks Таланто много ти благодаря, и товя начи се получи ... 11:34:04, 25-August-2010, Wednesday![]() ![]() |
| Олекотена версия | Час: 00:39:20, 04.11.25 |