Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #“Œ•û’e–‹•—[Single]
- #ScriptVersion[3]
- #Title["SampleA04"]
- #Text["SampleA04F•ª—ô‚·‚é’e"]
- #include "script/default_system/Default_ShotConst.txt"
- //ƒfƒtƒHƒ‹ƒg’e‰æ‘œ‚ðƒ[ƒh
- //----------------------------------------------------
- //ƒOƒ[ƒoƒ‹•ϔ錾
- //‚±‚̈ʒu‚Å錾‚µ‚½•Ï”‚̓XƒNƒŠƒvƒg‘S‘̂ŗLŒø‚Å‚·B
- //‚½‚¾‚µ‚±‚̉ӊ‚ł̕ϔ‚Ö‚Ì‘ã“ü‚ÍA’蔈ȊO‚Ì‘ã“ü‚Ís‚¦‚Ü‚¹‚ñB
- //(ŽÀs‡˜‚ª•ÛႳ‚ê‚È‚¢‚½‚ß—”‚Ȃǂ̎g—p‚͂ł«‚Ü‚¹‚ñ)
- //----------------------------------------------------
- let objEnemy; //“GƒIƒuƒWƒFƒNƒg
- let objPlayer; //Ž©‹@ƒIƒuƒWƒFƒNƒg
- let frame = 0; //“G“®ì‚ÉŽg—p‚·‚éƒJƒEƒ“ƒ^(@MainLoop‚Å1‚‘‰Á‚³‚¹‚Ü‚·)
- //----------------------------------------------------
- //“G‚Ì“®ì
- //----------------------------------------------------
- @Event
- {
- alternative(GetEventType())
- case(EV_REQUEST_LIFE)
- {
- //“Gƒ‰ƒCƒt‚ð—v‹‚³‚ꂽ
- SetScriptResult(500);//ƒ‰ƒCƒt‚ð500‚ÉÝ’è
- }
- }
- @Initialize
- {
- //Ž©‹@ƒIƒuƒWƒFƒNƒgŽæ“¾
- objPlayer = GetPlayerObjectID();
- //“GƒIƒuƒWƒFƒNƒg‚𶬂µ“o˜^
- objEnemy = ObjEnemy_Create(OBJ_ENEMY_BOSS);
- ObjEnemy_Regist(objEnemy);
- //“G‰æ‘œ‚ÌÝ’è
- let imgExRumia = GetCurrentScriptDirectory ~ "ExRumia.png"; //“G‰æ‘œƒtƒ@ƒCƒ‹
- ObjPrim_SetTexture(objEnemy, imgExRumia); //‰æ‘œƒtƒ@ƒCƒ‹‚ð“ǂݞ‚Þ
- ObjSprite2D_SetSourceRect(objEnemy, 64, 1, 127, 64); //•`‰æŒ³‹éŒ`‚ð(64,1) - (127,64)‚ÉÝ’è
- ObjSprite2D_SetDestCenter(objEnemy); //•`‰ææ‚ð’†S(0, 0)‚ÉÝ’è
- //À•W(cx, 120)‚Ö60ƒtƒŒ[ƒ€‚©‚¯‚Ĉړ®‚·‚é
- let cx = GetStgFrameWidth() / 2;//STGƒV[ƒ“‚Ì’†SxÀ•W‚ðŽæ“¾
- ObjMove_SetDestAtFrame(objEnemy, cx, 120, 60);
- }
- @MainLoop
- {
- //“G‚ÌÀ•W‚ðŽæ“¾
- let ex = ObjMove_GetX(objEnemy);
- let ey = ObjMove_GetY(objEnemy);
- if(frame == 60)
- {
- //frame‚ª360‚ɂȂÁ‚½‚çŽÀs‚³‚ê‚é•”•ª
- //Ž©‹@‚ÌÀ•W‚ðŽæ“¾
- let px = GetPlayerX();
- let py = GetPlayerY();
- //“G‚©‚ç‚Ý‚½Ž©‹@•ûŒü‚ÌŠp“x‚ð‹‚ß‚éB
- let angleToPlayer = atan2(py - ey, px - ex);
- //angle‚ð-30‚©‚ç15‚¸‚‘‰Á‚³‚¹5WAY‚É‚·‚é
- let iAngle = -20;
- while(iAngle <= 20)
- {//(iAngle=-20 ,0 ,20)‚Ì3WAY
- //ˆê’莞ŠÔ‚ÅŽ©‹@•ûŒü‚ÖŠp“x‚ð•Ï‚¦‚é’e
- //’e‚ð쬂·‚éB
- let obj1 = CreateShotA1(ex, ey, 4, iAngle + angleToPlayer, 177, 30);//shot1ì»
- ObjShot_SetDeleteFrame(obj1, 46);//’x‰„ŽžŠÔŒã46ƒtƒŒ[ƒ€–Ú‚ÉÁ–Å
- let jAngle = -15;
- while(jAngle <= 15)
- {//(jAngle=-15 ,0 ,15)‚Ì3WAY
- let obj2 = CreateShotA1(0, 0, 0, 0, 177, 10);//shot2ì»
- ObjMove_AddPatternA4(obj2, 0, 3, jAngle + 180, 0, 0, 3, objPlayer, NO_CHANGE);//Ž©‹@ˆË‘¶‚ÌŠp“x‚ÉÝ’è
- ObjShot_SetDeleteFrame(obj2, 61);//’x‰„ŽžŠÔŒã61ƒtƒŒ[ƒ€–Ú‚ÉÁ–Å
- let kAngle = -30;
- while(kAngle <= 30)
- {//(kAngle=-30, -15 , 0 , 15, 30)‚Ì5WAY
- let obj3 = CreateShotA1(0, 0, 0, 0,177, 10);//shot3ì»
- ObjMove_AddPatternA4(obj3, 0, 2, kAngle, 0, 0, 3, objPlayer, NO_CHANGE);//Ž©‹@ˆË‘¶‚ÌŠp“x‚ÉÝ’è
- ObjShot_AddShotA1(obj2, obj3, 60);// shot2‚Éshot3‚ð’ljÁ(60ƒtƒŒ[ƒ€‚Åshot3•úo)
- kAngle += 15;
- }
- ObjShot_AddShotA1(obj1, obj2, 45);// shot1‚Éshot2‚ð’ljÁ(45ƒtƒŒ[ƒ€‚Åshot2•úo)
- jAngle += 15;
- }
- iAngle += 20;
- }
- frame = 0;//’e‚ðo‚µ‚½‚çframe‚ð0‚É‚·‚é
- }
- //“–‚½‚è”»’è“o˜^
- ObjEnemy_SetIntersectionCircleToShot(objEnemy, ex, ey, 32);//“–‚½‚è”»’è(Ž©‹@’e—p)“o˜^
- ObjEnemy_SetIntersectionCircleToPlayer(objEnemy, ex, ey, 24);//“–‚½‚è”»’è(‘Ì“–‚½‚è—p)“o˜^
- //ƒJƒEƒ“ƒ^‚É1’ljÁ
- frame++;
- //ƒ‰ƒCƒt0ˆ—
- if(ObjEnemy_GetInfo(objEnemy, INFO_LIFE) <= 0)
- {
- //ƒ‰ƒCƒt‚ª0‚ɂȂÁ‚½‚瑦À‚ÉI—¹
- //–{—ˆ‚Í”š”ƒGƒtƒFƒNƒg‚̃^ƒXƒN‚ð“o˜^‚µA
- //ƒGƒtƒFƒNƒgI—¹‚ð‘Ò‚Á‚ÄAƒXƒNƒŠƒvƒg‚ðI—¹‚µ‚Ü‚·B
- Obj_Delete(objEnemy);
- CloseScript(GetOwnScriptID());
- return;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment