Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Exルーミア通常弾幕1
- #include"script/default_system/Default_ShotConst.txt"
- #include"script/default_system/Default_Effect.txt"
- let objEnemy;
- @Initialize
- {
- objEnemy = ObjEnemy_Create(OBJ_ENEMY_BOSS);
- ObjEnemy_Regist(objEnemy);
- NimonoDraw(objEnemy, GetCurrentScriptDirectory~"nimono.png");
- TEnd;
- DeleteShotAll(TYPE_ALL, TYPE_ITEM);//出現と同時に敵弾を全て削除
- }
- @MainLoop {
- yield;
- }
- @Event
- {
- alternative(GetEventType())
- case(EV_REQUEST_LIFE)
- {
- SetScriptResult(1500);//ライフを1500に設定
- }
- case(EV_REQUEST_TIMER)
- {
- SetScriptResult(60);//時間制限を60秒に設定
- }
- }
- task TEnd
- {
- while(ObjEnemy_GetInfo(objEnemy, INFO_LIFE) > 0)
- {
- yield;
- }
- let ex = ObjMove_GetX(objEnemy);
- let ey = ObjMove_GetY(objEnemy);
- TExplosionA(ex, ey, 10, 0.6);
- DeleteShotAll(TYPE_ALL, TYPE_ITEM);//敵弾を全て削除
- Obj_Delete(objEnemy);
- loop(30){yield;}
- CloseScript(GetOwnScriptID());
- }
- let nimonoSGR = 0;
- let nimonodrawloopnextrect = 0; let nimonodrawlooprectsetnext = 5;
- let nimonodrawlooprectteleportframe = 0;
- let nimonodrawlooprectregmoveframe = 0;
- let nimonodrawlooprectattackframe = 0;
- let nimonodrawlooprectmode = 0;
- task NimonoDraw(nimonoEnemyID, nimonobosstexture) {
- ObjPrim_SetTexture(nimonoEnemyID, nimonobosstexture);
- while(!Obj_IsDeleted(nimonoEnemyID)) {
- let angle = ObjMove_GetAngle(nimonoEnemyID);
- if(nimonodrawlooprectmode != [[[0,1][nimonodrawlooprectattackframe>0],2][nimonodrawlooprectregmoveframe>0],3][nimonodrawlooprectteleportframe>0]) { nimonoSGR=0; }
- if(nimonodrawlooprectmode != 2) { ObjRender_SetAngleX(nimonoEnemyID, 0); }
- if(nimonodrawloopnextrect == 0){
- alternative(nimonodrawlooprectmode)
- case(1) { alternative(nimonoSGR)
- case(0) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 0, 128, 128, 256); }
- case(1) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 128, 128, 256, 256); }
- case(2) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 256, 128, 384, 256); }
- case(3) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 384, 128, 512, 256); nimonoSGR-=2;}
- if(nimonodrawlooprectattackframe==1) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 128, 128, 256, 256); }
- nimonoSGR++;
- }
- case(2) { alternative(nimonoSGR)
- case(0) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 0, 384, 128, 512); }
- case(1) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 128, 384, 256, 512); }
- case(2) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 256, 384, 384, 512); nimonoSGR-=2; }
- if(nimonodrawlooprectattackframe==1) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 0, 384, 128, 512); }
- if(cos(angle) > 0) { ObjRender_SetAngleX(nimonoEnemyID, 0); }
- else { ObjRender_SetAngleX(nimonoEnemyID, 180); }
- nimonoSGR++;
- }
- case(3) { alternative(nimonoSGR)
- case(0,14) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 0, 128, 128, 256); }
- case(1,13) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 128, 128, 256, 256); }
- case(2,12) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 256, 128, 384, 256); }
- case(3,11) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 0, 256, 128, 384); }
- case(4,10) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 128, 256, 256, 384); }
- case(5,9) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 256, 256, 384, 384); }
- case(6,8) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 384, 256, 512, 384); }
- case(7) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 384, 384, 512, 512); }
- nimonoSGR++;
- }
- others { alternative(nimonoSGR)
- case(0, 2, 4, 6, 8) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 0, 0, 128, 128); }
- case(1, 5, 9) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 128, 0, 256, 128); }
- case(3, 7, 11) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 256, 0, 384, 128); }
- case(10) { ObjSprite2D_SetSourceRect(nimonoEnemyID, 384, 0, 512, 128); }
- nimonoSGR++; nimonoSGR%=12;
- }
- }
- ObjSprite2D_SetDestCenter(nimonoEnemyID);
- nimonodrawlooprectmode = [[[0,1][nimonodrawlooprectattackframe>0],2][nimonodrawlooprectregmoveframe>0],3][nimonodrawlooprectteleportframe>0];
- nimonodrawloopnextrect++; nimonodrawloopnextrect%=nimonodrawlooprectsetnext;
- if(nimonodrawlooprectattackframe > 0) { nimonodrawlooprectattackframe--; }
- if(nimonodrawlooprectregmoveframe > 0) { nimonodrawlooprectregmoveframe--; }
- if(nimonodrawlooprectteleportframe > 0) { if(nimonoSGR>=15) { nimonodrawlooprectteleportframe*=0; } }
- if(nimonodrawlooprectattackframe < 0) { nimonodrawlooprectattackframe = 0; }
- if(nimonodrawlooprectteleportframe < 0) { nimonodrawlooprectteleportframe = 0; }
- if(nimonodrawlooprectregmoveframe < 0) { nimonodrawlooprectregmoveframe = 0; }
- yield;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment