Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- let dirCurrent = GetCurrentScriptDirectory();
- @Initialize
- {
- InitFrame();
- TScore();
- TGraze();
- TPlayerLife();
- TPlayerSpell();
- TBossLife();
- TBossTimer();
- TCurrentFps();
- TReplayFps();
- TBulletCount();
- FPSDrop;
- SetStgFrame(32, 16, 480, 464, 20, 80);
- // SetStgFrame(32, 16, 416, 464, 20, 80);
- SetPauseScriptPath(dirCurrent~"./Awalys_Pause.txt");
- SetEndSceneScriptPath(dirCurrent~"./Awalys_EndScene.txt");
- SetReplaySaveSceneScriptPath(dirCurrent~"./Awalys_ReplaySaveScene.txt");
- }
- @MainLoop
- {
- yield;
- }
- @Event
- {
- alternative(GetEventType())
- case(EV_START_BOSS_SPELL)
- {
- let path = dirCurrent ~ "Default_System_MagicCircle.txt";
- let id = LoadScript(path);
- StartScript(id);
- }
- case(EV_GAIN_SPELL)
- {
- let objScene = GetEnemyBossSceneObjectID();
- let score = ObjEnemyBossScene_GetInfo(objScene, INFO_SPELL_SCORE);
- TGainSpell(score);
- }
- }
- //----------------------------------------------------
- //枠外の背景表示
- //----------------------------------------------------
- function InitFrame()
- {
- let path = GetCurrentScriptDirectory() ~ "./img/Default_SystemBackground.png";
- let obj = ObjPrim_Create(OBJ_SPRITE_2D);
- ObjPrim_SetTexture(obj, path);
- Obj_SetRenderPriority(obj, 0);
- ObjSprite2D_SetSourceRect(obj, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
- ObjSprite2D_SetDestRect(obj, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
- }
- //----------------------------------------------------
- //スコア表示
- //----------------------------------------------------
- task TScore()
- {
- //Score文字列
- let objScore = ObjText_Create();
- ObjText_SetText(objScore, "Score");
- ObjText_SetFontType(objScore, "Russell Square Regular");
- ObjText_SetFontSize(objScore, 20);
- ObjText_SetFontBold(objScore, true);
- ObjText_SetFontColorTop(objScore, 255, 255, 255);
- ObjText_SetFontColorBottom(objScore, 255, 255, 255);
- ObjText_SetFontBorderType(objScore, BORDER_FULL);
- ObjText_SetFontBorderColor(objScore,128, 0, 0);
- ObjText_SetFontBorderWidth(objScore, 2);
- Obj_SetRenderPriority(objScore, 0.01);
- ObjRender_SetX(objScore, 528);
- ObjRender_SetY(objScore, 48);
- let objNum = ObjText_Create();
- ObjText_SetText(objNum, "000000000000");
- ObjText_SetFontSize(objNum, 16);
- ObjText_SetFontType(objNum, "Russell Square Regular");
- ObjText_SetFontBold(objNum, true);
- ObjText_SetFontColorTop(objNum, 255, 255, 255);
- ObjText_SetFontColorBottom(objNum, 255, 255, 255);
- ObjText_SetFontBorderType(objNum, BORDER_FULL);
- ObjText_SetFontBorderColor(objNum, 0, 0, 0);
- ObjText_SetFontBorderWidth(objNum, 2);
- Obj_SetRenderPriority(objNum, 0.1);
- ObjRender_SetX(objNum, 489);
- ObjRender_SetY(objNum, 72);
- while(true){
- let score = GetScore();
- score = min(score, 999999999999);
- ObjText_SetText(objNum, rtos("000000000000", score));
- yield;
- }
- }
- //----------------------------------------------------
- //Graze表示
- //----------------------------------------------------
- task TGraze()
- {
- //Graze文字列
- let objGraze = ObjText_Create();
- ObjText_SetText(objGraze, "Graze");
- ObjText_SetFontType(objGraze, "Russell Square Regular");
- ObjText_SetFontSize(objGraze, 20);
- ObjText_SetFontBold(objGraze, true);
- ObjText_SetFontColorTop(objGraze, 255, 255, 255);
- ObjText_SetFontColorBottom(objGraze, 255, 255, 255);
- ObjText_SetFontBorderType(objGraze, BORDER_FULL);
- ObjText_SetFontBorderColor(objGraze,128, 0, 0);
- ObjText_SetFontBorderWidth(objGraze, 2);
- Obj_SetRenderPriority(objGraze, 0.01);
- ObjRender_SetX(objGraze, 528);
- ObjRender_SetY(objGraze, 98);
- let objNum = ObjText_Create();
- ObjText_SetText(objNum, "000000");
- ObjText_SetFontSize(objNum, 16);
- ObjText_SetFontType(objNum, "Russell Square Regular");
- ObjText_SetFontBold(objNum, true);
- ObjText_SetFontColorTop(objNum, 255, 255, 255);
- ObjText_SetFontColorBottom(objNum, 255, 255, 255);
- ObjText_SetFontBorderType(objNum, BORDER_FULL);
- ObjText_SetFontBorderColor(objNum, 0, 0, 0);
- ObjText_SetFontBorderWidth(objNum, 2);
- Obj_SetRenderPriority(objNum, 0.1);
- ObjRender_SetX(objNum, 525);
- ObjRender_SetY(objNum, 122);
- while(true){
- let score = GetGraze();
- score = min(score, 999999);
- ObjText_SetText(objNum, rtos("000000", score));
- yield;
- }
- }
- //----------------------------------------------------
- //残機表示
- //----------------------------------------------------
- task TPlayerLife
- {
- //life文字列
- let objText = ObjText_Create();
- ObjText_SetText(objText, "Player");
- ObjText_SetFontType(objText, "Russell Square Regular");
- ObjText_SetFontSize(objText, 20);
- ObjText_SetFontBold(objText, true);
- ObjText_SetFontColorTop(objText, 255, 255, 255);
- ObjText_SetFontColorBottom(objText, 255, 255, 255);
- ObjText_SetFontBorderType(objText, BORDER_FULL);
- ObjText_SetFontBorderColor(objText,128, 0, 0);
- ObjText_SetFontBorderWidth(objText, 2);
- Obj_SetRenderPriority(objText, 0.01);
- ObjRender_SetX(objText, 526);
- ObjRender_SetY(objText, 150);
- let objNum = ObjText_Create();
- ObjText_SetText(objNum, "00");
- ObjText_SetFontSize(objNum, 16);
- ObjText_SetFontType(objNum, "Russell Square Regular");
- ObjText_SetFontBold(objNum, true);
- ObjText_SetFontColorTop(objNum, 255, 255, 255);
- ObjText_SetFontColorBottom(objNum, 255, 255, 255);
- ObjText_SetFontBorderType(objNum, BORDER_FULL);
- ObjText_SetFontBorderColor(objNum, 0, 0, 0);
- ObjText_SetFontBorderWidth(objNum, 2);
- Obj_SetRenderPriority(objNum, 0.1);
- ObjRender_SetX(objNum, 545);
- ObjRender_SetY(objNum, 175);
- while(true){
- let score = GetPlayerLife();
- score = min(score, 99);
- score = max(score, 0);
- ObjText_SetText(objNum, rtos("00", score));
- yield;
- }
- }
- //----------------------------------------------------
- //残スペル表示
- //----------------------------------------------------
- task TPlayerSpell
- {
- //Spell文字列
- let objText = ObjText_Create();
- ObjText_SetText(objText, "Spell");
- ObjText_SetFontType(objText, "Russell Square Regular");
- ObjText_SetFontSize(objText, 20);
- ObjText_SetFontBold(objText, true);
- ObjText_SetFontColorTop(objText, 255, 255, 255);
- ObjText_SetFontColorBottom(objText, 255, 255, 255);
- ObjText_SetFontBorderType(objText, BORDER_FULL);
- ObjText_SetFontBorderColor(objText,128, 0, 0);
- ObjText_SetFontBorderWidth(objText, 2);
- Obj_SetRenderPriority(objText, 0.01);
- ObjRender_SetX(objText, 530);
- ObjRender_SetY(objText, 202);
- let objNum = ObjText_Create();
- ObjText_SetText(objNum, "00");
- ObjText_SetFontSize(objNum, 16);
- ObjText_SetFontType(objNum, "Russell Square Regular");
- ObjText_SetFontBold(objNum, true);
- ObjText_SetFontColorTop(objNum, 255, 255, 255);
- ObjText_SetFontColorBottom(objNum, 255, 255, 255);
- ObjText_SetFontBorderType(objNum, BORDER_FULL);
- ObjText_SetFontBorderColor(objNum, 0, 0, 0);
- ObjText_SetFontBorderWidth(objNum, 2);
- Obj_SetRenderPriority(objNum, 0.1);
- ObjRender_SetX(objNum, 545);
- ObjRender_SetY(objNum, 225);
- while(true){
- let score = GetPlayerSpell();
- score = min(score, 99);
- score = max(score, 0);
- ObjText_SetText(objNum, rtos("00", score));
- yield;
- }
- }
- //----------------------------------------------------
- //ボスのライフ表示
- //----------------------------------------------------
- task TBossLife
- {
- let path = GetCurrentScriptDirectory() ~ "img/Default_System 2.png";
- let obj = ObjPrim_Create(OBJ_SPRITE_LIST_2D);
- ObjPrim_SetTexture(obj, path);
- Obj_SetRenderPriority(obj, 0.7);
- let lastRemStep = -1;
- let lifeRateRender = 0;
- let objScene = ID_INVALID;
- loop
- {
- objScene = GetEnemyBossSceneObjectID();
- ObjSpriteList2D_ClearVertexCount(obj);
- if(objScene != ID_INVALID)
- {
- RenderLife();
- }
- yield;
- }
- function RenderLife()
- {
- //残りステップ
- let countRemStep = ObjEnemyBossScene_GetInfo(objScene, INFO_REMAIN_STEP_COUNT);
- if(lastRemStep != countRemStep)
- {
- //ステップが変化
- lifeRateRender = 0;
- }
- //ライフ表示
- let lifeTotalMax = ObjEnemyBossScene_GetInfo(objScene, INFO_ACTIVE_STEP_TOTAL_MAX_LIFE);
- let lifeTotal = ObjEnemyBossScene_GetInfo(objScene, INFO_ACTIVE_STEP_TOTAL_LIFE);
- let lifeRate = min(lifeTotal / lifeTotalMax, lifeRateRender);
- ObjSpriteList2D_SetSourceRect(obj, 1, 1, 127, 11);
- ObjSpriteList2D_SetDestRect(obj, 72, 9, 72 + 310 * lifeRate, 16);
- ObjSpriteList2D_AddVertex(obj);
- //ライフの区切り表示
- ObjSpriteList2D_SetSourceRect(obj, 132, 1, 137, 11);
- let listLifeDiv = [0] ~ ObjEnemyBossScene_GetInfo(objScene, INFO_ACTIVE_STEP_LIFE_RATE_LIST);
- ascent(iDiv in 0 .. length(listLifeDiv))
- {
- let rate = listLifeDiv[iDiv];
- let x = 72 + 310 * (1-rate);
- ObjSpriteList2D_SetDestRect(obj, x-2, 6, x + 1, 16);
- ObjSpriteList2D_AddVertex(obj);
- }
- //残りステップ表示
- ObjSpriteList2D_SetSourceRect(obj, 1, 1, 127, 11);
- ascent(iStep in 0 .. countRemStep)
- {
- let remStepRate = 58 / countRemStep;
- ObjSpriteList2D_SetDestRect(obj, 4 + iStep * remStepRate + 2, 8,
- 4 + (iStep + 1) * remStepRate, 12);
- ObjSpriteList2D_AddVertex(obj);
- }
- let obj2 = ObjPrim_Create(OBJ_SPRITE_2D);
- ObjPrim_SetTexture(obj2, path);
- ObjSprite2D_SetSourceRect(obj2, 148, 12, 256, 0);
- ObjSprite2D_SetDestRect(obj2, 1, 0, 310, 8);
- ObjRender_SetPosition(obj2,70,9,0);
- ObjRender_SetAlpha(obj2, 150);
- Obj_SetRenderPriority(obj2, 0.5);
- ObjRender_SetScaleXYZ(obj2, 1,1,0);
- lifeRateRender += 0.01;
- lifeRateRender = min(lifeRateRender, 1);
- lastRemStep = countRemStep;
- }
- }
- //----------------------------------------------------
- //タイマー表示
- //----------------------------------------------------
- task TBossTimer
- {
- let pathDigit = GetCurrentScriptDirectory() ~ "img/Default_SystemDigit.png";
- let obj = ObjPrim_Create(OBJ_SPRITE_LIST_2D);
- ObjPrim_SetTexture(obj, pathDigit);
- ObjRender_SetBlendType(obj, BLEND_ADD_RGB);
- Obj_SetRenderPriority(obj, 0.75);
- ObjRender_SetY(obj, 0);
- let count = 2;
- let objScene = ID_INVALID;
- loop
- {
- objScene = GetEnemyBossSceneObjectID();
- ObjSpriteList2D_ClearVertexCount(obj);
- if(objScene != ID_INVALID)
- {
- RenderTimer();
- }
- yield;
- }
- function RenderTimer(){
- let objNum = ObjText_Create();
- ObjText_SetText(objNum, "00");
- ObjText_SetFontSize(objNum, 24);
- ObjText_SetFontType(objNum, "Russell Square Regular");
- ObjText_SetFontBold(objNum, true);
- ObjText_SetFontColorTop(objNum, 255, 255, 255);
- ObjText_SetFontColorBottom(objNum, 255, 255, 255);
- ObjText_SetFontBorderType(objNum, BORDER_FULL);
- ObjText_SetFontBorderColor(objNum, 0, 0, 0);
- ObjText_SetFontBorderWidth(objNum, 2);
- Obj_SetRenderPriority(objNum, 0.5);
- ObjRender_SetX(objNum, 395);
- ObjRender_SetY(objNum, 2);
- while(true){
- let score = ObjEnemyBossScene_GetInfo(objScene, INFO_TIMER);
- score = min(score, 999);
- ObjText_SetText(objNum, rtos("00", score));
- yield;
- }
- }
- }
- //----------------------------------------------------
- //スペルカード取得表示
- //----------------------------------------------------
- task TGainSpell(score)
- {
- let objText = ObjText_Create();
- ObjText_SetText(objText, "Spell Captured!");
- ObjText_SetFontType(objText, "Russell Square Regular");
- ObjText_SetFontSize(objText, 32);
- ObjText_SetFontBold(objText, true);
- ObjText_SetFontColorTop(objText, 255, 255, 255);
- ObjText_SetFontColorBottom(objText, 64, 64, 64);
- ObjText_SetFontBorderType(objText, BORDER_FULL);
- ObjText_SetFontBorderColor(objText,255, 255, 255);
- ObjText_SetFontBorderWidth(objText, 1);
- Obj_SetRenderPriority(objText, 0.6);
- ObjRender_SetX(objText, 105);
- ObjRender_SetY(objText, 98);
- if(!EV_GAIN_SPELL){
- ObjText_SetText(objText, "Bonus Failed...");
- }
- let strScore = "+" ~ IntToString(score);
- let objScore = ObjText_Create();
- ObjText_SetText(objScore, strScore);
- ObjText_SetFontType(objScore, "Russell Square Regular");
- ObjText_SetFontSize(objScore, 32);
- ObjText_SetFontBold(objScore, true);
- ObjText_SetFontColorTop(objScore, 160, 0, 80);
- ObjText_SetFontColorBottom(objScore, 160, 0, 0);
- ObjText_SetFontBorderType(objScore, BORDER_FULL);
- ObjText_SetFontBorderColor(objScore,255, 255, 255);
- ObjText_SetFontBorderWidth(objScore, 1);
- Obj_SetRenderPriority(objScore, 0.6);
- ObjRender_SetX(objScore, 120);
- ObjRender_SetY(objScore, 140);
- loop(120)
- {
- yield;
- }
- Obj_Delete(objText);
- Obj_Delete(objScore);
- }
- //----------------------------------------------------
- //FPS表示
- //----------------------------------------------------
- task TCurrentFps()
- {
- let objText = ObjText_Create();
- ObjText_SetFontType(objText, "Russell Square Regular");
- ObjText_SetFontSize(objText, 14);
- ObjText_SetFontBold(objText, true);
- ObjText_SetFontColorTop(objText, 160, 0, 0);
- ObjText_SetFontColorBottom(objText, 64, 0, 0);
- ObjText_SetFontBorderType(objText, BORDER_FULL);
- ObjText_SetFontBorderColor(objText,255, 255, 255);
- ObjText_SetFontBorderWidth(objText, 2);
- ObjText_SetHorizontalAlignment(objText, ALIGNMENT_RIGHT);
- ObjText_SetMaxWidth(objText, GetScreenWidth() - 8);
- Obj_SetRenderPriority(objText, 1.0);
- ObjRender_SetX(objText, 0);
- ObjRender_SetY(objText, GetScreenHeight() - 20);
- loop
- {
- let fps = GetCurrentFps();
- let text = vtos("1.2f", fps) ~ "fps";
- ObjText_SetText(objText, text);
- yield;
- }
- }
- task TBulletCount()
- {
- let objText = ObjText_Create();
- ObjText_SetFontType(objText, "Russell Square Regular");
- ObjText_SetFontSize(objText, 12);
- ObjText_SetFontBold(objText, true);
- ObjText_SetFontColorTop(objText, 160, 0, 0);
- ObjText_SetFontColorBottom(objText, 64, 0, 0);
- ObjText_SetFontBorderType(objText, BORDER_FULL);
- ObjText_SetFontBorderColor(objText,255, 255, 255);
- ObjText_SetFontBorderWidth(objText, 2);
- ObjText_SetHorizontalAlignment(objText, ALIGNMENT_RIGHT);
- ObjText_SetMaxWidth(objText, GetScreenWidth() - 8);
- Obj_SetRenderPriority(objText, 1.0);
- ObjRender_SetX(objText, 0);
- ObjRender_SetY(objText, GetScreenHeight() - 40);
- loop
- {
- let count = GetShotCount(TARGET_ENEMY);
- let text = IntToString(count);
- ObjText_SetText(objText, text);
- yield;
- }
- }
- task TReplayFps()
- {
- if(!IsReplay()){return;}
- let objText = ObjText_Create();
- ObjText_SetFontSize(objText, 12);
- ObjText_SetFontBold(objText, true);
- ObjText_SetFontColorTop(objText, 128, 128, 255);
- ObjText_SetFontColorBottom(objText, 64, 64, 255);
- ObjText_SetFontBorderType(objText, BORDER_FULL);
- ObjText_SetFontBorderColor(objText,255, 255, 255);
- ObjText_SetFontBorderWidth(objText, 1);
- Obj_SetRenderPriority(objText, 1.0);
- let px = GetStgFrameLeft() + GetStgFrameWidth() - 18;
- let py = GetStgFrameTop() + GetScreenHeight() - 14;
- ObjRender_SetX(objText, px);
- ObjRender_SetY(objText, py);
- loop
- {
- let fps = GetReplayFps();
- let text = vtos("02d", fps);
- ObjText_SetText(objText, text);
- yield;
- }
- }
- task FPSDrop{
- let objText = ObjText_Create();
- ObjText_SetFontType(objText, "Russell Square Regular");
- ObjText_SetFontSize(objText, 12);
- ObjText_SetFontBold(objText, true);
- ObjText_SetFontColorTop(objText, 160, 0, 0);
- ObjText_SetFontColorBottom(objText, 64, 0, 0);
- ObjText_SetFontBorderType(objText, BORDER_FULL);
- ObjText_SetFontBorderColor(objText,255, 255, 255);
- ObjText_SetFontBorderWidth(objText, 2);
- ObjText_SetHorizontalAlignment(objText, ALIGNMENT_RIGHT);
- ObjText_SetMaxWidth(objText, GetScreenWidth() - 8);
- Obj_SetRenderPriority(objText, 1.0);
- ObjRender_SetX(objText, 0);
- ObjRender_SetY(objText, GetScreenHeight() - 60);
- loop{
- if(GetCurrentFps >= 55.00){
- ObjText_SetText(objText, "");
- }
- else if(GetCurrentFps < 55.00){
- ObjText_SetText(objText, "FPS Drop!");
- }
- if(GetCurrentFps >= 100.00){
- ObjText_SetText(objText, "HAXX!!");
- }
- yield;
- }
- }
- //----------------------------------------------------
- //ユーティリティ
- //----------------------------------------------------
- function DigitToArray(let digit,let count)
- {
- let res = [];
- digit = truncate(digit);
- loop
- {
- let tnum = truncate(digit % 10);
- digit /= 10;
- res = [tnum] ~ res;
- if(truncate(digit) == 0){break;}
- }
- loop(max(0, count - length(res)))
- {
- res = [0] ~ res;
- }
- return res;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement