「画面端で反射する弾」の編集履歴(バックアップ)一覧はこちら
画面端で反射する弾 - (2008/08/02 (土) 21:13:27) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
<画面端で反射する弾>
敵機、敵弾、自機弾を画面端で反射させる方法。
1.キャラクタのx座標で画面端判定を行う方法(縦STG用)
①移動(直交座標)パネルを用いる方法
<0.メインタスク>
ゲート:0
「移動(直交座標)X:速度X,Y:速度Y」
「制御(タスク開始)タスク番号:1,最初から開始on」
「制御(タスク停止)タスク番号:0,最初から開始on」
<1.ユーザータスク1>
ゲート:1
「変数(ローカル)ローカルデータ:x座標,→,変数0」
(速度X>0の場合)---
「変数(条件分岐)即値:画面の幅,<,変数0」
└「移動(直交座標)X:-速度X,Y:速度Y」
「ラベル(IN)番号:0」
(速度X<0の場合)---
「変数(条件分岐)即値:0,>,変数0」
└「移動(直交座標)X:-速度X,Y:速度Y」
「ラベル(IN)番号:0」
---
│
「ラベル(OUT)番号:0」
「制御(通過)フレーム数1」
②移動(極座標)パネルを用いる方法
<0.メインタスク>
ゲート:0
「移動(極座標)角度:Θ,速度:V」
「制御(タスク開始)タスク番号:1,最初から開始on」
「制御(タスク停止)タスク番号:0,最初から開始on」
<1.ユーザータスク1>
ゲート:1
「変数(ローカル)ローカルデータ:x座標,→,変数0」
(Θ=0~+180の場合)---
「変数(条件分岐)即値:0,>,変数0」
└「移動(極座標)角度:180-Θ,速度:V」
「ラベル(IN)番号:0」
│
「変数(条件分岐)即値:画面の幅,<,変数0」
└「移動(極座標)角度:180-Θ,速度:V」
「ラベル(IN)番号:0」
(Θ=0~-180の場合)---
「変数(条件分岐)即値:0,>,変数0」
└「移動(極座標)角度:Θ-180,速度:V」
「ラベル(IN)番号:0」
│
「変数(条件分岐)即値:画面の幅,<,変数0」
└「移動(極座標)角度:Θ-180,速度:V」
「ラベル(IN)番号:0」
---
│
「ラベル(OUT)番号:0」
「制御(通過)フレーム数1」
③移動(速度)パネルを用いる方法
<0.メインタスク>
ゲート:0
「移動(極座標)角度:Θ,速度:V」
「制御(タスク開始)タスク番号:1,最初から開始on」
「制御(タスク停止)タスク番号:0,最初から開始on」
<1.ユーザータスク1>
ゲート:1
「変数(ローカル)ローカルデータ:x座標,→,変数0」
「変数(条件分岐)即値:0,>,変数0」
└「移動(速度)速度:-V×2,相対on」
「ラベル(IN)番号:0」
│
「変数(条件分岐)即値:画面の幅,<,変数0」
└「移動(極座標)速度:-V×2,相対on」
「ラベル(IN)番号:0」
---
│
「ラベル(OUT)番号:0」
「制御(通過)フレーム数1」
2.キャラクタのy座標で画面端判定を行う方法(横STG用)
①移動(直交座標)パネルを用いる方法
<0.メインタスク>
ゲート:0
「移動(直交座標)X:速度X,Y:速度Y」
「制御(タスク開始)タスク番号:1,最初から開始on」
「制御(タスク停止)タスク番号:0,最初から開始on」
<1.ユーザータスク1>
ゲート:1
「変数(ローカル)ローカルデータ:y座標,→,変数0」
(速度Y>0の場合)---
「変数(条件分岐)即値:画面の高さ,<,変数0」
└「移動(直交座標)X:速度X,Y:-速度Y」
「ラベル(IN)番号:0」
(速度Y<0の場合)---
「変数(条件分岐)即値:0,>,変数0」
└「移動(直交座標)X:速度X,Y:-速度Y」
「ラベル(IN)番号:0」
---
│
「ラベル(OUT)番号:0」
「制御(通過)フレーム数1」
②移動(極座標)パネルを用いる方法
<0.メインタスク>
ゲート:0
「移動(極座標)角度:Θ,速度:V」
「制御(タスク開始)タスク番号:1,最初から開始on」
「制御(タスク停止)タスク番号:0,最初から開始on」
<1.ユーザータスク1>
ゲート:1
「変数(ローカル)ローカルデータ:x座標,→,変数0」
「変数(条件分岐)即値:0,>,変数0」
└「移動(極座標)角度:-Θ,速度:V」
「ラベル(IN)番号:0」
│
「変数(条件分岐)即値:画面の高さ,<,変数0」
└「移動(極座標)角度:-Θ,速度:V」
「ラベル(IN)番号:0」
│
「ラベル(OUT)番号:0」
「制御(通過)フレーム数1」
③移動(速度)パネルを用いる方法
<0.メインタスク>
ゲート:0
「移動(極座標)角度:Θ,速度:V」
「制御(タスク開始)タスク番号:1,最初から開始on」
「制御(タスク停止)タスク番号:0,最初から開始on」
<1.ユーザータスク1>
ゲート:1
「変数(ローカル)ローカルデータ:y座標,→,変数0」
「変数(条件分岐)即値:0,>,変数0」
└「移動(速度)速度:-V×2,相対on」
「ラベル(IN)番号:0」
│
「変数(条件分岐)即値:画面の幅,<,変数0」
└「移動(極座標)速度:-V×2,相対on」
「ラベル(IN)番号:0」
---
│
「ラベル(OUT)番号:0」
「制御(通過)フレーム数1」
<画面端で反射する弾>
敵機、敵弾、自機弾を画面端で反射させる方法。
1.キャラクタのx座標で画面端判定を行う方法(縦STG用)
①移動([[直交座標]])パネルを用いる方法
<0.メイン[[タスク]]>
ゲート:0
「移動(直交座標)X:速度X,Y:速度Y」
「制御([[タスク開始]])タスク番号:1,最初から開始on」
「制御([[タスク停止]])タスク番号:0,最初から開始on」
<1.ユーザータスク1>
ゲート:1
「変数([[ローカル]])ローカルデータ:x座標,→,変数0」
(速度X>0の場合)---
「変数([[条件分岐]])即値:画面の幅,<,変数0」
└「移動(直交座標)X:-速度X,Y:速度Y」
「ラベル(IN)番号:0」
(速度X<0の場合)---
「変数(条件分岐)即値:0,>,変数0」
└「移動(直交座標)X:-速度X,Y:速度Y」
「ラベル(IN)番号:0」
---
│
「ラベル([[OUT]])番号:0」
「制御(通過)フレーム数1」
②移動([[極座標]])パネルを用いる方法
<0.メインタスク>
ゲート:0
「移動(極座標)角度:Θ,速度:V」
「制御(タスク開始)タスク番号:1,最初から開始on」
「制御(タスク停止)タスク番号:0,最初から開始on」
<1.ユーザータスク1>
ゲート:1
「変数(ローカル)ローカルデータ:x座標,→,変数0」
(Θ=0~+180の場合)---
「変数(条件分岐)即値:0,>,変数0」
└「移動(極座標)角度:180-Θ,速度:V」
「ラベル(IN)番号:0」
│
「変数(条件分岐)即値:画面の幅,<,変数0」
└「移動(極座標)角度:180-Θ,速度:V」
「ラベル(IN)番号:0」
(Θ=0~-180の場合)---
「変数(条件分岐)即値:0,>,変数0」
└「移動(極座標)角度:Θ-180,速度:V」
「ラベル(IN)番号:0」
│
「変数(条件分岐)即値:画面の幅,<,変数0」
└「移動(極座標)角度:Θ-180,速度:V」
「ラベル(IN)番号:0」
---
│
「ラベル(OUT)番号:0」
「制御(通過)フレーム数1」
③移動(速度)パネルを用いる方法
<0.メインタスク>
ゲート:0
「移動(極座標)角度:Θ,速度:V」
「制御(タスク開始)タスク番号:1,最初から開始on」
「制御(タスク停止)タスク番号:0,最初から開始on」
<1.ユーザータスク1>
ゲート:1
「変数(ローカル)ローカルデータ:x座標,→,変数0」
「変数(条件分岐)即値:0,>,変数0」
└「移動(速度)速度:-V×2,相対on」
「ラベル(IN)番号:0」
│
「変数(条件分岐)即値:画面の幅,<,変数0」
└「移動(極座標)速度:-V×2,相対on」
「ラベル(IN)番号:0」
---
│
「ラベル(OUT)番号:0」
「制御(通過)フレーム数1」
2.キャラクタのy座標で画面端判定を行う方法(横STG用)
①移動(直交座標)パネルを用いる方法
<0.メインタスク>
ゲート:0
「移動(直交座標)X:速度X,Y:速度Y」
「制御(タスク開始)タスク番号:1,最初から開始on」
「制御(タスク停止)タスク番号:0,最初から開始on」
<1.ユーザータスク1>
ゲート:1
「変数(ローカル)ローカルデータ:y座標,→,変数0」
(速度Y>0の場合)---
「変数(条件分岐)即値:画面の高さ,<,変数0」
└「移動(直交座標)X:速度X,Y:-速度Y」
「ラベル(IN)番号:0」
(速度Y<0の場合)---
「変数(条件分岐)即値:0,>,変数0」
└「移動(直交座標)X:速度X,Y:-速度Y」
「ラベル(IN)番号:0」
---
│
「ラベル(OUT)番号:0」
「制御(通過)フレーム数1」
②移動(極座標)パネルを用いる方法
<0.メインタスク>
ゲート:0
「移動(極座標)角度:Θ,速度:V」
「制御(タスク開始)タスク番号:1,最初から開始on」
「制御(タスク停止)タスク番号:0,最初から開始on」
<1.ユーザータスク1>
ゲート:1
「変数(ローカル)ローカルデータ:x座標,→,変数0」
「変数(条件分岐)即値:0,>,変数0」
└「移動(極座標)角度:-Θ,速度:V」
「ラベル(IN)番号:0」
│
「変数(条件分岐)即値:画面の高さ,<,変数0」
└「移動(極座標)角度:-Θ,速度:V」
「ラベル(IN)番号:0」
│
「ラベル(OUT)番号:0」
「制御(通過)フレーム数1」
③移動(速度)パネルを用いる方法
<0.メインタスク>
ゲート:0
「移動(極座標)角度:Θ,速度:V」
「制御(タスク開始)タスク番号:1,最初から開始on」
「制御(タスク停止)タスク番号:0,最初から開始on」
<1.ユーザータスク1>
ゲート:1
「変数(ローカル)ローカルデータ:y座標,→,変数0」
「変数(条件分岐)即値:0,>,変数0」
└「移動(速度)速度:-V×2,相対on」
「ラベル(IN)番号:0」
│
「変数(条件分岐)即値:画面の幅,<,変数0」
└「移動(極座標)速度:-V×2,相対on」
「ラベル(IN)番号:0」
---
│
「ラベル(OUT)番号:0」
「制御(通過)フレーム数1」