Advertisement
Guest User

Untitled

a guest
Jun 9th, 2014
297
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.05 KB | None | 0 0
  1. //Animating a blue fairy
  2. task blueAnim(blu) {
  3. let dir;
  4. let f = 0;
  5. let f2 = 0;
  6.  
  7. ObjSprite2D_SetSourceRect(blu,0,0,32,32);
  8. ObjSprite2D_SetDestCenter(blu);
  9.  
  10. while(!Obj_IsDeleted(blu)) {
  11. dir = ObjMove_GetAngle(blu);
  12. ObjEnemy_SetIntersectionCircleToShot(blu,getX(blu),getY(blu),16);
  13. ObjEnemy_SetIntersectionCircleToPlayer(blu,getX(blu),getY(blu),10);
  14.  
  15. if(ObjEnemy_GetInfo(blu,INFO_LIFE) <= 0) {
  16. Obj_Delete(blu);
  17. PlaySE(death);
  18. return;
  19. }
  20.  
  21. if(getX(blu)>=2*cx+50||getX(blu)<=-50) {
  22. Obj_Delete(blu);
  23. return;
  24. }
  25.  
  26. if(sin(dir)==1||sin(dir)==-1) {
  27. if (f<10) {ObjSprite2D_SetSourceRect(blu,0,256,32,288); }
  28. if (f>=10&&f<20) {ObjSprite2D_SetSourceRect(blu,32,256,64,288);}
  29. if (f>=20&&f<30) {ObjSprite2D_SetSourceRect(blu,64,256,96,288);}
  30. if (f>=30&&f<40) {ObjSprite2D_SetSourceRect(blu,96,256,128,288);}
  31. f2 = 0;
  32. ObjRender_SetAngleXYZ(blu,0,0,0);
  33. }
  34.  
  35. else if(cos(dir) > 0) {
  36. ObjRender_SetAngleXYZ(blu,0,0,0);
  37. if (f2<5) {ObjSprite2D_SetSourceRect(blu,128,256,160,288); }
  38. if (f2>=5&&f2<10) {ObjSprite2D_SetSourceRect(blu,160,256,192,288);}
  39. if (f2>=10&&f2<15) {ObjSprite2D_SetSourceRect(blu,192,256,224,288);}
  40. if (f2>=15&&f2<20) {ObjSprite2D_SetSourceRect(blu,224,256,256,288);}
  41. if (f2>=20&&f2<25) {ObjSprite2D_SetSourceRect(blu,256,256,288,288);}
  42. if (f2>=25) {
  43. loop {
  44. ObjSprite2D_SetSourceRect(blu,288,256,320,288);
  45. wait(8);
  46. ObjSprite2D_SetSourceRect(blu,320,256,352,288);
  47. wait(8);
  48. ObjSprite2D_SetSourceRect(blu,352,256,384,288);
  49. wait(8);
  50. }
  51. }
  52. f2++;
  53. }
  54.  
  55. else if(cos(dir) < 0) {
  56. if (f2<5) {ObjSprite2D_SetSourceRect(blu,128,256,160,288); }
  57. if (f2>=5&&f2<10) {ObjSprite2D_SetSourceRect(blu,160,256,192,288);}
  58. if (f2>=10&&f2<15) {ObjSprite2D_SetSourceRect(blu,192,256,224,288);}
  59. if (f2>=15&&f2<20) {ObjSprite2D_SetSourceRect(blu,224,256,256,288);}
  60. if (f2>=20&&f2<25) {ObjSprite2D_SetSourceRect(blu,256,256,288,288);}
  61. if (f2>=25) {
  62. loop {
  63. ObjSprite2D_SetSourceRect(blu,288,256,320,288);
  64. wait(8);
  65. ObjSprite2D_SetSourceRect(blu,320,256,352,288);
  66. wait(8);
  67. ObjSprite2D_SetSourceRect(blu,352,256,384,288);
  68. wait(8);
  69. }
  70. }
  71. f2++;
  72. ObjRender_SetAngleXYZ(blu,0,180,0);
  73. }
  74.  
  75. f++;
  76. if(f==40) {f = 0;}
  77. yield;
  78. }
  79. }
  80. //Animating a red fairy
  81. task redAnim(red) {
  82. let dir;
  83. let f = 0;
  84. let f2 = 0;
  85.  
  86. ObjSprite2D_SetSourceRect(red,0,0,32,32);
  87. ObjSprite2D_SetDestCenter(red);
  88.  
  89. while(!Obj_IsDeleted(red)) {
  90. dir = ObjMove_GetAngle(red);
  91. ObjEnemy_SetIntersectionCircleToShot(red,getX(red),getY(red),16);
  92. ObjEnemy_SetIntersectionCircleToPlayer(red,getX(red),getY(red),10);
  93.  
  94. if(ObjEnemy_GetInfo(red,INFO_LIFE) <= 0) {
  95. Obj_Delete(red);
  96. PlaySE(death);
  97. return;
  98. }
  99.  
  100. if(getX(red)>=2*cx+50||getX(red)<=-50) {
  101. Obj_Delete(red);
  102. return;
  103. }
  104.  
  105. if(sin(dir)==1||sin(dir)==-1) {
  106. if (f<10) {ObjSprite2D_SetSourceRect(red,0,288,32,320); }
  107. if (f>=10&&f<20) {ObjSprite2D_SetSourceRect(red,32,288,64,320);}
  108. if (f>=20&&f<30) {ObjSprite2D_SetSourceRect(red,64,288,96,320);}
  109. if (f>=30&&f<40) {ObjSprite2D_SetSourceRect(red,96,288,128,320);}
  110. f2 = 0;
  111. ObjRender_SetAngleXYZ(red,0,0,0);
  112. }
  113.  
  114. else if(cos(dir) > 0) {
  115. ObjRender_SetAngleXYZ(red,0,0,0);
  116. if (f2<5) {ObjSprite2D_SetSourceRect(red,128,288,160,320); }
  117. if (f2>=5&&f2<10) {ObjSprite2D_SetSourceRect(red,160,288,192,320);}
  118. if (f2>=10&&f2<15) {ObjSprite2D_SetSourceRect(red,192,288,224,320);}
  119. if (f2>=15&&f2<20) {ObjSprite2D_SetSourceRect(red,224,288,256,320);}
  120. if (f2>=20&&f2<25) {ObjSprite2D_SetSourceRect(red,256,288,288,320);}
  121. if (f2>=25) {
  122. loop {
  123. ObjSprite2D_SetSourceRect(red,288,288,320,320);
  124. wait(10);
  125. ObjSprite2D_SetSourceRect(red,320,288,352,320);
  126. wait(10);
  127. ObjSprite2D_SetSourceRect(red,352,288,384,320);
  128. wait(10);
  129. }
  130. }
  131. f2++;
  132. }
  133.  
  134. else if(cos(dir) < 0) {
  135. if (f2<5) {ObjSprite2D_SetSourceRect(red,128,288,160,320); }
  136. if (f2>=5&&f2<10) {ObjSprite2D_SetSourceRect(red,160,288,192,320);}
  137. if (f2>=10&&f2<15) {ObjSprite2D_SetSourceRect(red,192,288,224,320);}
  138. if (f2>=15&&f2<20) {ObjSprite2D_SetSourceRect(red,224,288,256,320);}
  139. if (f2>=20&&f2<25) {ObjSprite2D_SetSourceRect(red,256,288,288,320);}
  140. if (f2>=25) {
  141. loop {
  142. ObjSprite2D_SetSourceRect(red,288,288,320,320);
  143. wait(10);
  144. ObjSprite2D_SetSourceRect(red,320,288,352,320);
  145. wait(10);
  146. ObjSprite2D_SetSourceRect(red,352,288,384,320);
  147. wait(10);
  148. }
  149. }
  150. f2++;
  151. ObjRender_SetAngleXYZ(red,0,180,0);
  152. }
  153.  
  154. f++;
  155. if(f==40) {f = 0;}
  156. yield;
  157. }
  158. }
  159.  
  160. //Drawing the second wave
  161. task spamFairy(xpos,angle) {
  162. let enemy = ObjEnemy_Create(OBJ_ENEMY);
  163. ObjEnemy_Regist(enemy);
  164.  
  165. ObjEnemy_SetLife(enemy,100);
  166. ObjPrim_SetTexture(enemy,imgEnemy);
  167.  
  168. blueAnim(enemy);
  169.  
  170. ObjMove_SetPosition(enemy,xpos,20);
  171. ObjMove_SetAngle(enemy,angle);
  172. ObjMove_SetSpeed(enemy,3);
  173.  
  174. while(!Obj_IsDeleted(enemy)) {
  175. CreateShotA1(getX(enemy),getY(enemy),2,rand(0,359),80,2);
  176. wait(5);
  177. }
  178. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement