Advertisement
Lavalake

Homing Problem 2

Mar 24th, 2013
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. task Home(x,y,v,dir,g,d,p){
  2. let obj = Obj_Create(OBJ_SHOT);
  3. Obj_SetPosition(obj,x,y);
  4. Obj_SetSpeed(obj,v);
  5. Obj_SetAngle(obj,dir);
  6. Obj_SetAlpha(obj,100);
  7. ObjShot_SetGraphic(obj,g);
  8. ObjShot_SetDamage(obj,d);
  9. ObjShot_SetPenetration(obj,p);
  10.  
  11. let enemy_target=-1;
  12. let target_angle=dir;
  13. let test_angle=0;
  14. ascent(i in EnumEnemyBegin..EnumEnemyEnd) {
  15. enemy_target=EnumEnemyGetID(i);
  16. test_angle=atan2(GetEnemyInfo(enemy_target,ENEMY_Y)-y, GetEnemyInfo(enemy_target,ENEMY_X)-x);
  17. i=EnumEnemyEnd;
  18. }
  19. while(enemy_target!=-1){
  20. let x = Obj_GetX(obj);
  21. let y = Obj_GetY(obj);
  22. let dir = atan2(Obj_GetY(obj),Obj_GetX(obj));
  23. let target_angle=atan2(GetEnemyInfo(enemy_target,ENEMY_Y)-y, GetEnemyInfo(enemy_target,ENEMY_X)-x);
  24. yield;
  25. if(dir>target_angle){ dir-=10; }
  26. if(dir<target_angle){ dir+=10; }
  27. Obj_SetAngle(obj,dir);
  28. }
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement