Dancing☆Onigiri まとめwiki -
tips-source
をテンプレートにして作成
[
ホーム
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
*[[製作・改造Tips>tips-top]] [#f8313908]
#contents
**Dan★Oniソース概要 [#oe66801e]
-環境
--ParaFla Ver1.37~
--ParaFla!ソース / Cross Walker (ver fd 3.12.9)~
他のソースでは多少違いがある場合がある。~
変数名の違いはあっても、ver fd 3.0.0以降は基本的に同じ。~
***矢印・フリーズアローの生成ルール [makeArrow] [#t8f61bc1]
-名前の決め方~
#ref(arrowName.png,around)
#clear
--赤色 (矢印かフリーズアローか)~
"f"という文字があればフリーズアロー、なければ矢印。~
~
--青色 (どの矢印か)~
これは基本的に以下のようになっている。~
「le」⇒左、「led」⇒左矢印、「do」⇒下、「oni」⇒おにぎり、~
「up」⇒上、「rid」⇒右矢印、「ri」⇒右、~
「le2」⇒左(2)、「do2」⇒下(2)、「up2」⇒上(2)、「ri2」⇒右(2...
「gor」⇒ギコ、「iyo」⇒いよう~
~
--黄色 (その矢印の中で何番目か)~
スタートから何番目の矢印かということ。~
矢印の被り回避の際に、どの矢印かを特定するのに用いる。~
~
-必要な項目(参考)
|Arrow|Frz|名称|内容|
|◆|◆|setflg|判定が行われたかどうかのフラグ。初めはfalse。|
|◆|◆|cnt|ステップゾーンに到達するまでのフレーム数。&br;1x...
|◆|◆|bstcnt|Sp.Motionで使用するフレーム数。&br;上のcntか...
|◆|◆|_alpha|矢印の透明度。Appearanceで用いる。|
|◆|◆|moveY|ステップゾーンまでの距離。&br;400pxなら基本400...
|◆|◆|spd|矢印個別にかかる倍速。譜面データで言うところのbo...
|◆|◆|_y|矢印の初期出現位置。&br;Reverse, Halfwayなどによ...
|◆|◆|onEnterFrame|矢印・フリーズアローを動作させる関数を...
||◆|fLength|フリーズアローの長さ|
~
フリーズアローについては別途内部で長さ・色に関する設定が...
始点・終点と帯の3箇所に分かれている。~
#ref(frzArrow.png,around)
#clear
***矢印・フリーズアローの動作ルール(共通) [movArrow] [#t8...
1フレームで矢印が動く距離は以下の通り。
-(初期倍速)×(途中変速)×(個別加速)+Sp.Motion差分
--初期倍速~
オプション画面で選択するスピード。~
~
--途中変速~
プレイの途中で変速するもののうち、全体で変化する倍速。~
~
--個別加速~
プレイの途中で変速するもののうち、矢印個別で変化する倍速。~
~
--Sp.Motion差分~
オプション画面でBoost/Brakeを選択した際に加速されるスピー...
~
-フレーム毎に行われる処理の流れ~
~
++矢印が動く距離を上の計算式で計算し、矢印を移動させる。~
~
++AppearanceがHidden/Sudden/Replaceのとき、~
矢印・フリーズアローが画面の中央に来たら透明度を変化させ...
~
++判定内に対応するキーが押されたら判定を行う(後述)。~
なお、Autoフラグが1になっている矢印はcntが0になった時点で...
~
++判定枠から外れた場合 / setflg(判定済みフラグ)がfalseの...
---矢印~
ウワァンを出して判定対象の矢印を次の矢印に変える。~
ウワァンの出た矢印はその場で消去する。~
---フリーズアロー~
イクナイを出して判定対象のフリーズアローを次のフリーズア...
フリーズアローは消去せず色を変えておく。~
***フリーズアローの動作ルール(その他) [#pe80d258]
+通常時 ⇒ 上の手順と同じ。~
~
+ヒット時(押しっぱなし中)~
~
++代替キーの設定~
フリーズアローと結びつけるキーを設定する。~
~
++フリーズアローの色を変える。~
~
++フリーズアローのバーを縮めて対の矢印を移動させる。~
フリーズアローバーの長さは"y1"で管理している。~
~
++途中でキーを離した場合は失敗~
~
++押し切った場合(y1が0未満)のときは成功~
~
+失敗時~
~
++フリーズアローの色を変える。~
~
++対象となるフリーズアローが特定の位置へ移動するまで~
指定されたスピードで移動させる。~
~
++フリーズアローを消去する。~
***判定に関するルール(枠外を除く) [judgeArrow] [#g81c0822]
#ref(judgeRule.png,around)
+押したキーと、対応する矢印・フリーズアローとの対応付けを...
~
+現在判定する矢印・フリーズアローをチェックする。~
現在の矢印・フリーズアローは上の名前の決め方から特定する。~
~
+現在の矢印が範囲内にあるかチェック~
cntの値を調べてチェックする。対象内であれば判定も行う。~
~
+現在のフリーズアローが範囲内にあるかチェック~
矢印が判定内にない場合は、フリーズアローをチェックする。~
ここも同じくcntの値をチェック。判定は失敗時のみ行う。~
~
+空押しだった場合~
矢印・フリーズアローともに判定内でない場合は、空押しにな...
(ステップゾーンを光らせる)~
BarDrainがEscape+の場合は、プギャー判定を行う~
(ただし、最初200フレームくらいは判定を行わない)。~
~
#clear
~
***譜面読み込みフロー [StartupArrow.as] [#i1f507ff]
#ref(load.png,around)
※ ver fd 4.3.0以降より、計算に時間がかかった場合のタイム...
+初期化チェック(ver fd 4.3.0以降のみ)
--初回は素通り。タイムアウトが発生して戻ってきた場合のみ、~
矢印出現位置補正[pushNotes]まで処理をスキップする。~
~
+譜面初期化[initLoad]
--指定された譜面ファイル名を元に読み込みを開始する。~
判定数やコンボ数・判定幅など、ゲーム開始時に必要な変数も...
~
+譜面の読込
--譜面の読み込みが完了するまでは待機。~
~
+譜面の取出し[loadNotes]
--譜面データを配列化して取り出す。~
また矢印数からフェードイン場所とライフ値を決定し、~
速度変化についてはフェードイン量に応じて数値を補正する。~
~
+各フレームの速度格納[storageSpd]
--各フレームにおける速度を、速度データから取得する。~
このデータは後の矢印出現位置補正[pushNotes]で必要。~
~
+Sp.Motion補正計算[motionSpd]
--Sp.Motionの軌道関数から補正座標を計算する。~
補正座標は配列に格納しておく。(Sp.MotionがOFFでも生成する...
~
+矢印出現位置補正[pushNotes]
--矢印の種類ごとにループさせ、矢印の出現位置を逆算する。~
速度が一定の場合は初めだけ逆算して、後は一律減算。~
~
--矢印の種類単位で7秒以上処理時間がかかった場合は、~
一旦タイムアウトを出して処理を終了させ(初期化チェックへ戻...
再度入ってきた場合に途中から処理を続行する。(ver fd 4.3.0...
~
--速度変化・色変化の逆算を行う。~
色変化は識別番号と実際に変更する矢印の対応付けも合わせて...
~
+一時変数削除[delTemporary]
--上記読込処理で共通に使用した一時変数を削除する。~
#clear
~
終了行:
*[[製作・改造Tips>tips-top]] [#f8313908]
#contents
**Dan★Oniソース概要 [#oe66801e]
-環境
--ParaFla Ver1.37~
--ParaFla!ソース / Cross Walker (ver fd 3.12.9)~
他のソースでは多少違いがある場合がある。~
変数名の違いはあっても、ver fd 3.0.0以降は基本的に同じ。~
***矢印・フリーズアローの生成ルール [makeArrow] [#t8f61bc1]
-名前の決め方~
#ref(arrowName.png,around)
#clear
--赤色 (矢印かフリーズアローか)~
"f"という文字があればフリーズアロー、なければ矢印。~
~
--青色 (どの矢印か)~
これは基本的に以下のようになっている。~
「le」⇒左、「led」⇒左矢印、「do」⇒下、「oni」⇒おにぎり、~
「up」⇒上、「rid」⇒右矢印、「ri」⇒右、~
「le2」⇒左(2)、「do2」⇒下(2)、「up2」⇒上(2)、「ri2」⇒右(2...
「gor」⇒ギコ、「iyo」⇒いよう~
~
--黄色 (その矢印の中で何番目か)~
スタートから何番目の矢印かということ。~
矢印の被り回避の際に、どの矢印かを特定するのに用いる。~
~
-必要な項目(参考)
|Arrow|Frz|名称|内容|
|◆|◆|setflg|判定が行われたかどうかのフラグ。初めはfalse。|
|◆|◆|cnt|ステップゾーンに到達するまでのフレーム数。&br;1x...
|◆|◆|bstcnt|Sp.Motionで使用するフレーム数。&br;上のcntか...
|◆|◆|_alpha|矢印の透明度。Appearanceで用いる。|
|◆|◆|moveY|ステップゾーンまでの距離。&br;400pxなら基本400...
|◆|◆|spd|矢印個別にかかる倍速。譜面データで言うところのbo...
|◆|◆|_y|矢印の初期出現位置。&br;Reverse, Halfwayなどによ...
|◆|◆|onEnterFrame|矢印・フリーズアローを動作させる関数を...
||◆|fLength|フリーズアローの長さ|
~
フリーズアローについては別途内部で長さ・色に関する設定が...
始点・終点と帯の3箇所に分かれている。~
#ref(frzArrow.png,around)
#clear
***矢印・フリーズアローの動作ルール(共通) [movArrow] [#t8...
1フレームで矢印が動く距離は以下の通り。
-(初期倍速)×(途中変速)×(個別加速)+Sp.Motion差分
--初期倍速~
オプション画面で選択するスピード。~
~
--途中変速~
プレイの途中で変速するもののうち、全体で変化する倍速。~
~
--個別加速~
プレイの途中で変速するもののうち、矢印個別で変化する倍速。~
~
--Sp.Motion差分~
オプション画面でBoost/Brakeを選択した際に加速されるスピー...
~
-フレーム毎に行われる処理の流れ~
~
++矢印が動く距離を上の計算式で計算し、矢印を移動させる。~
~
++AppearanceがHidden/Sudden/Replaceのとき、~
矢印・フリーズアローが画面の中央に来たら透明度を変化させ...
~
++判定内に対応するキーが押されたら判定を行う(後述)。~
なお、Autoフラグが1になっている矢印はcntが0になった時点で...
~
++判定枠から外れた場合 / setflg(判定済みフラグ)がfalseの...
---矢印~
ウワァンを出して判定対象の矢印を次の矢印に変える。~
ウワァンの出た矢印はその場で消去する。~
---フリーズアロー~
イクナイを出して判定対象のフリーズアローを次のフリーズア...
フリーズアローは消去せず色を変えておく。~
***フリーズアローの動作ルール(その他) [#pe80d258]
+通常時 ⇒ 上の手順と同じ。~
~
+ヒット時(押しっぱなし中)~
~
++代替キーの設定~
フリーズアローと結びつけるキーを設定する。~
~
++フリーズアローの色を変える。~
~
++フリーズアローのバーを縮めて対の矢印を移動させる。~
フリーズアローバーの長さは"y1"で管理している。~
~
++途中でキーを離した場合は失敗~
~
++押し切った場合(y1が0未満)のときは成功~
~
+失敗時~
~
++フリーズアローの色を変える。~
~
++対象となるフリーズアローが特定の位置へ移動するまで~
指定されたスピードで移動させる。~
~
++フリーズアローを消去する。~
***判定に関するルール(枠外を除く) [judgeArrow] [#g81c0822]
#ref(judgeRule.png,around)
+押したキーと、対応する矢印・フリーズアローとの対応付けを...
~
+現在判定する矢印・フリーズアローをチェックする。~
現在の矢印・フリーズアローは上の名前の決め方から特定する。~
~
+現在の矢印が範囲内にあるかチェック~
cntの値を調べてチェックする。対象内であれば判定も行う。~
~
+現在のフリーズアローが範囲内にあるかチェック~
矢印が判定内にない場合は、フリーズアローをチェックする。~
ここも同じくcntの値をチェック。判定は失敗時のみ行う。~
~
+空押しだった場合~
矢印・フリーズアローともに判定内でない場合は、空押しにな...
(ステップゾーンを光らせる)~
BarDrainがEscape+の場合は、プギャー判定を行う~
(ただし、最初200フレームくらいは判定を行わない)。~
~
#clear
~
***譜面読み込みフロー [StartupArrow.as] [#i1f507ff]
#ref(load.png,around)
※ ver fd 4.3.0以降より、計算に時間がかかった場合のタイム...
+初期化チェック(ver fd 4.3.0以降のみ)
--初回は素通り。タイムアウトが発生して戻ってきた場合のみ、~
矢印出現位置補正[pushNotes]まで処理をスキップする。~
~
+譜面初期化[initLoad]
--指定された譜面ファイル名を元に読み込みを開始する。~
判定数やコンボ数・判定幅など、ゲーム開始時に必要な変数も...
~
+譜面の読込
--譜面の読み込みが完了するまでは待機。~
~
+譜面の取出し[loadNotes]
--譜面データを配列化して取り出す。~
また矢印数からフェードイン場所とライフ値を決定し、~
速度変化についてはフェードイン量に応じて数値を補正する。~
~
+各フレームの速度格納[storageSpd]
--各フレームにおける速度を、速度データから取得する。~
このデータは後の矢印出現位置補正[pushNotes]で必要。~
~
+Sp.Motion補正計算[motionSpd]
--Sp.Motionの軌道関数から補正座標を計算する。~
補正座標は配列に格納しておく。(Sp.MotionがOFFでも生成する...
~
+矢印出現位置補正[pushNotes]
--矢印の種類ごとにループさせ、矢印の出現位置を逆算する。~
速度が一定の場合は初めだけ逆算して、後は一律減算。~
~
--矢印の種類単位で7秒以上処理時間がかかった場合は、~
一旦タイムアウトを出して処理を終了させ(初期化チェックへ戻...
再度入ってきた場合に途中から処理を続行する。(ver fd 4.3.0...
~
--速度変化・色変化の逆算を行う。~
色変化は識別番号と実際に変更する矢印の対応付けも合わせて...
~
+一時変数削除[delTemporary]
--上記読込処理で共通に使用した一時変数を削除する。~
#clear
~
ページ名: