バレンタイン企画の奴、ダウンロードの最初の1回は俺だからまだshibaしかやってないのか……
さっきやったリプレイ↓
http://www11.axfc.net/uploader/20/so/He_73055.zip.htmlパスは本体と同じ。解凍してreplayに突っ込めば見れるハズ。
自分で作っておいて未だにノーミスクリアしてない・・・・
あそこで欲張らなければ・・・・
続きは制作サイドの話。
まだ1人にしか配ってないのにな。
BGMのメルトとバレンタイン・キッス抜いたら普通に配布していい気もするが、
チョコ画像が駄目かもしれないし、BGMのメルトは必須だと思うんだ。
……というわけで一応知り合いのみの配布なんだぜ。
それなら多分大丈夫……
なハズ……
一番作るのが簡単だったのがチロルばら撒く奴。
あれは画像用意するのにかかった時間のが長い。
本当はこの前にlet angle=0;とかいろいろあるんだが、メインはこんな感じ。
if(count%15==0 && count>=30)
{
SetShotDirectionType(ABSOLUTE);//弾の角度を絶対角度に変更
CreateShot02(GetX(),GetY(),1,angle,1,4,3,10);
CreateShot02(GetX(),GetY(),1,angle+90,1,4,3,10);
CreateShot02(GetX(),GetY(),1,angle+180,1,4,3,10);
CreateShot02(GetX(),GetY(),1,angle+270,1,4,3,10);
angle+=15;
SetShotDirectionType(ABSOLUTE);//弾の角度を絶対角度に変更
CreateShot01(GetX(),GetY(),1,rand_int(0,359),4,10);
CreateShot01(GetX(),GetY(),2,rand_int(0,359),4,10);
CreateShot01(GetX(),GetY(),3,rand_int(0,359),4,10);
SetShotDirectionType(PLAYER);//弾の角度を自機基準に変更
CreateShot02(GetX(),GetY(),8,rand_int(-45,45),1,1,5,10);
PlaySE("bgm\kachi09.wav");
}
参考↓
CreateShot01(引数:6)
1) x座標
2) y座標
3) 速度
4) 角度
5) 画像
6) 遅延時間(弾が実体化するまでの時間)
CreateShot02(引数:8)
1) x座標
2) y座標
3) 速度
4) 角度
5) 加速度(1フレームあたりの速度変化量)
6) 最大速度(最低速度)
7) 画像
8) 遅延時間(弾が実体化するまでの時間)
今思えば2番目のSetShotDirectionType(ABSOLUTE);はいらないし、
loop使えば多少簡単に出来るし、
CreateShot02(GetX(),GetY(),8,rand_int(-45,45),1,1,5,10);
なんてめちゃくちゃだし。
初速+8、加速度+1、最大速度+1は無理だわw
せめて加速度を‐1にすべきだった。
でもそれだと7フレーム(7/60秒)で速度が1になるから、
CreateShot02(GetX(),GetY(),8,rand_int(-45,45),-1/30,1,5,10);
みたいなのがやりたかった挙動だったのかも。
これだと初速+8から3.5秒かけて最低速度の+1になる計算。
実行してないから完全に減速する前に画面外に出るかも知れんが。
だんだんゆっくりになる弾にするハズが常にゆっくりな弾になっていたきなこもち・・・・
まあいいか。今更気付いたところでもうどうでもいいし。
あとcountは経過フレーム数みたいなもので、
条件が『経過フレーム数÷15の余りが0かつ経過フレーム数が30以上』
つまり0フレーム目と15フレーム目は例外として、
1秒(60フレーム)あたり4セット撃ってる。
とまあそんな感じ。
弾幕風弄るのはC言語とかの経験があれば簡単かな。
俺はkirikiriでTJSスクリプト弄ったくらいだけど一応形になったし。
弾幕に美しさを求めるとなるといろいろ大変かも知れんが。
で、スクリプトが一番複雑なのがハート弾にナイフがあたると破裂する奴。
動作確認中に何度無限ループが発生してパソコン強制終了する羽目になったことか……
ちなみに回転式の奴は紅魔郷のスペルが元になってたりする。
スポンサーサイト
テーマ:日記 - ジャンル:日記