<放物線移動> 自機を原点(始点)として、下に凸で、右上へ向かって放物線を描いて移動する自機弾 (左上へ向かう放物線では、X方向を正負反転) ①[[ローカル]]変数(X,Y移動量)を利用:X移動量=Vx,Y移動量=Vy×t(t:0→N) (自機弾のメイン[[タスク]]) 変数(計算):即値0,+,即値Vx,=,変数0 変数(ローカル):X移動量,←,変数0 変数(計算):即値0,+,即値0,=,変数1 制御([[ループ開始]]):番号0,回数N 変数(ローカル):Y移動量,←,変数1 変数(計算):即値0,+,Vy,=,変数1,時間待ち1フレーム 制御([[ループ終了]]):番号0,回数0 制御(消滅) 利点:進行方向を向ける,移動が滑らか 欠点:特になし ②ローカル変数(X,Y座標)を利用:X座標=Vx×t,Y座標=t×t(t:0→N) (自機のメインタスク) 変数(ローカル):X座標,→,変数10 変数(ローカル):Y座標,→,変数11 変数([[システム]]):ゲーム開始時に初期化,[[オプション]]10,←,変数10 変数(システム):ゲーム開始時に初期化,オプション11,←,変数11 (自機弾のメインタスク) 変数(システム):ゲーム開始時に初期化,オプション10,→,変数10 変数(システム):ゲーム開始時に初期化,オプション11,→,変数11 変数(計算):即値0,+,即値0,=,変数0 制御(ループ開始):番号0,回数N 変数(計算):変数0,+,即値1,=,変数0,時間待ち1フレーム 変数(計算):変数0,×,即値Vx,=,変数1 (または、変数(計算):変数1,+,即値Vx,=,変数1) 変数(計算):変数10,+,変数1,=,変数2 変数(ローカル):X座標,←,変数2 変数(計算):変数0,×,変数0,=,変数3 変数(計算):変数3,×,即値-1,=,変数4 (または、変数(計算):即値0,-,変数3,=,変数4) 変数(計算):変数11,+,変数4,=,変数5 変数(ローカル):Y座標,←,変数5 制御(ループ終了):番号0,回数0 制御(消滅) 利点:絶対位置も指定できる 欠点:進行方向を向けない,自機弾として利用する際には自機の座標の取得が必要 ③パスを利用:パス(放物線状の曲線) 移動(パス):パス(放物線のパスを指定) 制御(通過):時間待ちNフレーム 制御(消滅) 利点:進行方向を向ける,移動が滑らか 欠点:左右または上下対称のパスを作成するのが困難 ④[[極座標]]を利用:角度-1×t,速度V×t(t:0→90) 移動(極座標):一度だけ角度変更,相対角度0(左向きは-180),速度0,相対オフ,移動フレーム数1,時間待ち1フレーム 制御(ループ開始):番号0,回数90 移動(極座標):毎フレーム角度変更,相対角度-1(左向きは1),速度V,相対オン,移動フレーム数1,時間待ち1フレーム 制御(ループ終了):番号0,回数0 制御(消滅) 利点:進行方向を向ける,移動が滑らか 欠点:初速が遅い,旋回角度と加速のバランス調整が困難 ⑤[[直交座標]]を利用(相対値):X座標=Vx×t,Y座標=A×t^2(t:1→T×N) 移動(直交座標):相対値で指定,X速度Vx,Y速度A×t^2-A×(t-1)^2,移動フレーム数T ・ ・t=1,2,3,・・・とN個ずつ配置 ・ 制御(消滅) 利点:進行方向を向ける 欠点:連続的な曲線にすることが困難 ⑤’直交座標を利用(絶対値):X座標=Vx×t,Y座標=A×t^2(t:1→T×N) 移動(直交座標):絶対値で指定,X速度Vx×t,Y速度A×t^2,移動フレーム数T ・ ・t=1,2,3,・・・とN個ずつ配置 ・ 制御(消滅) 利点:進行方向を向ける 欠点:連続的な曲線にすることが困難,絶対位置でしか指定できない ⑥[[子生成]]を利用:親)Y速度=-Vy,子)X速度=-Vx(t:0→N) (自機弾のメインタスク) 攻撃(子生成):子自機弾,X位置0,Y位置0 移動(直交座標):[[移動力]]を直接指定,X速度0,Y速度-1,移動フレーム数1,時間待ち1フレーム 移動(速度):目標速度Vy,変化フレーム数N,時間待ちNフレーム 制御(消滅) (子自機弾のメインタスク) 移動(直交座標):相対値で指定,X速度-Vx,Y速度0,移動フレーム数1,時間待ち1フレーム 利点:特になし 欠点:進行方向を向けない,自機の移動への追従が悪い