[過去ログ]
WOLF RPGエディター 質問スレ 其の11 [無断転載禁止]©2ch.net (1002レス)
WOLF RPGエディター 質問スレ 其の11 [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/gamedev/1503240024/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
251: 名前は開発中のものです。 [] 2018/04/09(月) 20:04:48.88 ID:xOsuGnoy 2の動作指定の時に動作完了までウェイトにチェックを入れれば普通に動くんだけど、 一つのコモンで大量のイベントを動かすために回数付きループを使ってて、 それでウェイトを入れちゃうとイベントが順番にしか動かないから 何とかしようとしてたら気づいたんだけど、なんでこうなってるのか理解できない。 一応このままでも動きを逆にすれば機能しそうだけど、できれば理解したい。 http://mevius.5ch.net/test/read.cgi/gamedev/1503240024/251
253: 名前は開発中のものです。 [sage] 2018/04/09(月) 20:56:10.12 ID:ApWY4it3 >>251 ウディタの仕様からの予想と俺なりの解釈なんで、間違っていたらすまん。と最初に言っておく 間違ってたら誰か修正してくれ ウディタの動作指定の仕様は、【一次予約】と【二次予約】から成り立っているんや。 (A) キャラクターが動いていない(チップの間にいない)状況の場合(移動中?の変数が0の場合) 1. 移動処理が当たるまで処理を実行する 2. 移動処理が入っていた場合は移動先のマスが空いているかの確認 3. 移動先のマスが空いていた場合、Evの座標をそこへ移して、Evの移動処理を【一次予約】に書き込む。変数操作+の、対象Evの移動中?の変数を1にする 4. まだ行が残っていた場合、【二次予約】へ書き込む ※これはコモンEvの場合の処理。マップEvの場合、移動以外の処理にも頻度が影響するため、一番最初の行以外は【二次予約】行き(のハズ) (B) キャラクターが動いている(チップの間にいる)状況の場合(移動中?の変数が1の場合) 1. 既に【二次予約】が存在していた場合は、全て消去 2. 全ての新しい動作指定を【二次予約】へ書き込む んでウディタの処理順番は大雑把に言うと マップ並列実行→自動実行→コモン並列実行→ウディタ側の処理→画面更新 って感じ。んでキャラクターを実際に画面上で移動させたりしているのが、このウディタ側の処理なのよ。 このウディタ側の処理がどんな感じで動いているかと言うと 1. 【一次予約】が残っていた場合は処理を行う 2. 【一次予約】の処理分が、この処理で終わった場合、【二次予約】から(A)の処理を行う 3. 既に何も残っていない場合、対象Evの移動中?の変数を0にする ここで【二次予約】から【一次予約】への移し替えがあるわけ。しかも動作完了と同時に行われる。この処理が、全ての処理が終わった後に行われるっていうのがミソでな。 並列実行や自動実行、呼び出しなんかでは、【一次予約】は書き換えられないんだけど、【二次予約】は書き換えられるので、 キャラクターが動いていない場合は、最初の動作は一次予約に書き込まれるので、「先に実行された処理が優先」されて、キャラクターが動いている場合には「後に実行された処理が優先」される ように見えるんや http://mevius.5ch.net/test/read.cgi/gamedev/1503240024/253
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.040s