#東方弾幕風 #Title[SampleA01] #Text[SampleA01:弾を真下に出す] #Image[] #ScriptVersion[2] script_enemy_main { let nCount_Back = 0; let nGrf = ["script\img\01.png","script\img\02.png","script\img\03.png"]; let nAnimeFrame = length(nGrf); let count; let cx; @Initialize { count=0;//弾を出す間隔を制御するための変数 cx=GetCenterX();//変数cxに真ん中の座標を代入 SetLife(1000);//敵のライフを1000に ascent(i in 0..nAnimeFrame){LoadGraphic(nGrf[i]);}//背景画像読み込み LoadGraphic("script\img\ExRumia.jpg");//script\img\ExRumia.jpgをテクスチャに読みこみ SetMovePosition02(cx,60,60);//座標(cx,60)に60フレームで移動 } @MainLoop { if(count==60) {//countが60になったら実行される部分 //敵の座標から真下に向かって弾を発射する //速度:1フレームに3 //角度:90 (真下) //遅延時間:30フレーム CreateShot01(GetX(),GetY(),3,90,RED01,30); count=0;//弾を出したらcountを0にする } SetCollisionA(GetX(),GetY(),32);//敵の座標に当たり判定を登録 SetCollisionB(GetX(),GetY(),24);//敵の座標に当たり判定(体当たり用)を登録 count++;//1フレーム毎にcountが1増加 nCount_Back++;//描画ループ内でカウンタを増減させるとリプレイ早送りでも背景変化速度が変わらなくなる } @DrawLoop { SetGraphicRect(64,1,127,64);//ボス描画矩形設定 SetTexture("script\img\ExRumia.jpg");//描画元テクスチャを設定 DrawGraphic(GetX(),GetY());//敵の座標にExルーミアを描画 } @BackGround { SetGraphicRect(0,0,512,512);//背景描画矩形設定(背景のサイズが512×512の場合) DrawGraphic(GetCenterX(),GetCenterY(),nGrf[nCount_Back%nAnimeFrame]); } @Finalize { ascent(i in 0..nAnimeFrame){DeleteGraphic(nGrf[i]);}//読みこんだテクスチャを破棄 DeleteGraphic("script\img\ExRumia.jpg");//読みこんだテクスチャを破棄 } }