Mewkyuu

What

Aug 14th, 2011
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.59 KB | None | 0 0
  1. //Exルーミア通常弾幕1
  2.  
  3. #include"script/default_system/Default_ShotConst.txt"
  4. #include"script/default_system/Default_Effect.txt"
  5.  
  6. let objEnemy;
  7. @Initialize
  8. {
  9. objEnemy = ObjEnemy_Create(OBJ_ENEMY_BOSS);
  10. ObjEnemy_Regist(objEnemy);
  11. NimonoDraw(objEnemy, GetCurrentScriptDirectory~"nimono.png");
  12. TEnd;
  13.  
  14. DeleteShotAll(TYPE_ALL, TYPE_ITEM);//出現と同時に敵弾を全て削除
  15. }
  16.  
  17. @MainLoop {
  18. yield;
  19. }
  20.  
  21. @Event
  22. {
  23. alternative(GetEventType())
  24. case(EV_REQUEST_LIFE)
  25. {
  26. SetScriptResult(1500);//ライフを1500に設定
  27. }
  28. case(EV_REQUEST_TIMER)
  29. {
  30. SetScriptResult(60);//時間制限を60秒に設定
  31. }
  32. }
  33.  
  34. task TEnd
  35. {
  36. while(ObjEnemy_GetInfo(objEnemy, INFO_LIFE) > 0)
  37. {
  38. yield;
  39. }
  40.  
  41. let ex = ObjMove_GetX(objEnemy);
  42. let ey = ObjMove_GetY(objEnemy);
  43. TExplosionA(ex, ey, 10, 0.6);
  44. DeleteShotAll(TYPE_ALL, TYPE_ITEM);//敵弾を全て削除
  45. Obj_Delete(objEnemy);
  46.  
  47. loop(30){yield;}
  48.  
  49. CloseScript(GetOwnScriptID());
  50. }
  51.  
  52. let nimonoSGR = 0;
  53. let nimonodrawloopnextrect = 0; let nimonodrawlooprectsetnext = 5;
  54. let nimonodrawlooprectteleportframe = 0;
  55. let nimonodrawlooprectregmoveframe = 0;
  56. let nimonodrawlooprectattackframe = 0;
  57. let nimonodrawlooprectmode = 0;
  58. task NimonoDraw(nimonoEnemyID, nimonobosstexture) {
  59. ObjPrim_SetTexture(nimonoEnemyID, nimonobosstexture);
  60. while(!Obj_IsDeleted(nimonoEnemyID)) {
  61. let angle = ObjMove_GetAngle(nimonoEnemyID);
  62. if(nimonodrawlooprectmode != [[[0,1][nimonodrawlooprectattackframe>0],2][nimonodrawlooprectregmoveframe>0],3][nimonodrawlooprectteleportframe>0]) { nimonoSGR=0; }
  63. if(nimonodrawlooprectmode != 2) { ObjRender_SetAngleX(nimonoEnemyID, 0); }
  64. if(nimonodrawloopnextrect == 0){
  65. alternative(nimonodrawlooprectmode)
  66. case(1) { alternative(nimonoSGR)
  67. case(0) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 0, 128, 128, 256); }
  68. case(1) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 128, 128, 256, 256); }
  69. case(2) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 256, 128, 384, 256); }
  70. case(3) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 384, 128, 512, 256); nimonoSGR-=2;}
  71. if(nimonodrawlooprectattackframe==1) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 128, 128, 256, 256); }
  72. nimonoSGR++;
  73. }
  74. case(2) { alternative(nimonoSGR)
  75. case(0) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 0, 384, 128, 512); }
  76. case(1) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 128, 384, 256, 512); }
  77. case(2) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 256, 384, 384, 512); nimonoSGR-=2; }
  78. if(nimonodrawlooprectattackframe==1) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 0, 384, 128, 512); }
  79. if(cos(angle) > 0) { ObjRender_SetAngleX(nimonoEnemyID, 0); }
  80. else { ObjRender_SetAngleX(nimonoEnemyID, 180); }
  81. nimonoSGR++;
  82. }
  83. case(3) { alternative(nimonoSGR)
  84. case(0,14) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 0, 128, 128, 256); }
  85. case(1,13) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 128, 128, 256, 256); }
  86. case(2,12) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 256, 128, 384, 256); }
  87. case(3,11) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 0, 256, 128, 384); }
  88. case(4,10) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 128, 256, 256, 384); }
  89. case(5,9) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 256, 256, 384, 384); }
  90. case(6,8) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 384, 256, 512, 384); }
  91. case(7) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 384, 384, 512, 512); }
  92. nimonoSGR++;
  93. }
  94. others { alternative(nimonoSGR)
  95. case(0, 2, 4, 6, 8) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 0, 0, 128, 128); }
  96. case(1, 5, 9) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 128, 0, 256, 128); }
  97. case(3, 7, 11) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 256, 0, 384, 128); }
  98. case(10) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 384, 0, 512, 128); }
  99. nimonoSGR++; nimonoSGR%=12;
  100. }
  101. }
  102. ObjSprite2D_SetDestCenter(nimonoEnemyID);
  103. nimonodrawlooprectmode = [[[0,1][nimonodrawlooprectattackframe>0],2][nimonodrawlooprectregmoveframe>0],3][nimonodrawlooprectteleportframe>0];
  104. nimonodrawloopnextrect++; nimonodrawloopnextrect%=nimonodrawlooprectsetnext;
  105. if(nimonodrawlooprectattackframe > 0) { nimonodrawlooprectattackframe--; }
  106. if(nimonodrawlooprectregmoveframe > 0) { nimonodrawlooprectregmoveframe--; }
  107. if(nimonodrawlooprectteleportframe > 0) { if(nimonoSGR>=15) { nimonodrawlooprectteleportframe*=0; } }
  108. if(nimonodrawlooprectattackframe < 0) { nimonodrawlooprectattackframe = 0; }
  109. if(nimonodrawlooprectteleportframe < 0) { nimonodrawlooprectteleportframe = 0; }
  110. if(nimonodrawlooprectregmoveframe < 0) { nimonodrawlooprectregmoveframe = 0; }
  111. yield;
  112. }
  113. }
Advertisement
Add Comment
Please, Sign In to add comment