スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ウディタTIPS

単独記事にするまでもない小ネタ、伝聞での情報などをまとめました。
過去記事からもピックアップしています。
・Ver2.10を使用しているので、それ以前のバージョンにはない機能もあります。
・伝聞はだいたいTwitterで聞いたもの。

■テストプレイ中だけ機能する処理

■回数付きループ [ 0 ]回
|■
◇ループここまで◇◇

■回数付きループ [ Sys112:[読]テストプレイ中?(1=YES) ]回
|■
◇ループここまで◇◇

■条件分岐(変数): 【1】Sys112:[読]テストプレイ中?(1=YES) が 1と同じ
-◇分岐: 【1】 [ Sys112:[読]テストプレイ中?(1=YES) が 1と同じ ]の場合↓
|■
◇分岐終了◇

個別で機能させたい時や切り替えたい時などは0回と1回ループをコマンドで切り替え、一括・自動で変えたい場合は「システム変数テストプレイ中回」(9000112回)ループか、Sys112が1のときの条件分岐。処理速度は3つとも同じでした。


■お手軽ウィンドウの大きさをピクチャ移動で(数フレームかけて)動かす

■ピクチャ表示:1 [左上]ウィンドウ「file」サイズ[100,100] X:CSelf10[X] Y:CSelf11[Y] / 拡 CSelf12[幅]xCSelf13[高さ]%

ピクチャ【表示】する際、生成サイズを100x100にします。そして縦横の拡大率に実際に表示するサイズを入力すると、ピクチャ移動で滑らかに動かせます
普通はピクチャ【移動】させようとすると、縦横の入力ボックスが反応しなくなるので、【表示サイズ=生成サイズx拡大率】(元画像自体の拡大率は変わらない)という性質を利用した小技です。


■乱数を固定させない

(キー入力受付などの常時並列コモン上部に)
■変数操作: CSelf0 = 0 ~ 0
■変数操作: CSelf0 = 乱数[0~0] + 0

(乱数を使う前に)
■変数操作: Sys110:現在の乱数のシード(種) += Sys30:[読]プレイ時間(ミリ秒単位) + 0

常時並列のコモンで、【使わない変数=0~0】(もしくは呼び出し値8000000)と変数の無駄遣いをしてやると、時間(正確にはフレーム)経過とともに乱数の生成が変わっていきます。
もし使う乱数が十分小さい(1000以下とか)場合は、乱数を使う前にシステム変数の乱数シードにプレイ時間ミリ秒や経過フレームなどを足してやるだけで同じ行動の再現はしなくなりますが、乱数に大きい数を扱う場合はちょっと偏りそうです。オーバーフロー注意。あと、乱数のシードに0を指定すると乱数じゃなくなるので注意。


■フォルダ生成(伝聞)

■ダウンロード:URL[ ]<ウェイト> 保存先[ Data/NewFolder/ ]

ダウンロード機能を使って、URLを空文字列にしてフォルダを指定してやると、フォルダのみ生成されます。フォルダがないときにテキストやCSVは出力できませんが、これを使えば間違いなく生成できます。最初からファイル構成は決めておくべきですが、緊急回避として。


■マップの描画処理停止

■ピクチャ以外の画像更新[停止]
■ピクチャ以外の画像更新[再開]

■チップセット切り替え: [0] 番
■チップセット切り替え: [1] 番

システムを自作する人、もしくは基本システムに精通している人向け処理。基本システムで戦闘すると分かりますが、戦闘の時にマップを見るとチップやキャラはアニメーションし続けています。マップの描画は処理量が割と多いので、マップ上でエフェクト大量の戦闘をすると重くなってきます。【イベント制御】の【ピクチャ以外停止】でマップの描画更新を切ることができるので、わざわざ戦闘専用マップに移動などしなくても大丈夫になります。
もしくは、何も登録していない空のチップセットを作っておいて、それに切り替えても同じような効果が得られます。
どちらも終了処理をミスると、一見フリーズに見えたりして大変なことになるので注意。


■システムセーブ

■文字列操作:CSelf5 = "Save/system.sav"
■データのセーブ: CSelf5

文字列にシステムセーブのファイル名を入力、その呼び出し値番号(例では1600005番)にすると、番号以外のセーブデータを好きな場所に作れます。
同様の処理で特殊セーブに変数だけを読み書きできますが、変数ひとつの書き込み速度=丸ごとセーブの速度なので、書き込みだけ注意が必要。


■動作指定で変数操作(伝聞)

■動作指定:キャラ[CSelf0] / 変数設定このEvのセルフ変数0=V0[一時変数]
■動作指定:キャラ[CSelf0] / 変数設定V0[一時変数]=このEvのセルフ変数0

タイトルのとおりなんですが、動作指定では変数操作や効果音再生もできます。通常変数しか使えなかったりして使い勝手はあまり良くありませんが、場所移動直後にコモンイベントからマップセルフ変数を読むと前のマップが参照されるという問題の解決に役立ったりします。


■条件分岐「変数がX~Yの範囲内」(2014/05/18追記)

■条件分岐(変数): 【1】CSelf0[入力値] が CSelf1[下限]以上
-◇分岐: 【1】 [ CSelf0[入力値] が CSelf1[下限]以上 ]の場合↓
|■条件分岐(変数): 【1】CSelf0[入力値] が CSelf2[上限]以下
|-◇分岐: 【1】 [ CSelf0[入力値] が CSelf2[上限]以下 ]の場合↓
| |▼ ここに範囲内のときの処理
| |■
|◇分岐終了◇
|■
◇分岐終了◇

■条件分岐(変数): 【1】CSelf0[入力値] が CSelf1[下限]未満 【2】CSelf0[入力値] が CSelf2[上限]超
-◇分岐: 【1】 [ CSelf0[入力値] が CSelf1[下限]未満 ]の場合↓
|■
-◇分岐: 【2】 [ CSelf0[入力値] が CSelf2[上限]超 ]の場合↓
|■
-◇上記以外
|▼ ここに範囲内のときの処理を書く
|■
◇分岐終了◇

値がX~Yの範囲にあるかどうかを条件分岐させる時は、上のように二重にしてもいいんですが、「下限未満」「上限超」の「上記以外」で範囲が求められます。分岐ひとつで済むので、入れ子が多いよりはこっちのほうがスマートな気がします。速度的にはあまり変わり無さそうです。



以下、裏技的操作(非推奨)


■UDB操作

■条件分岐(変数): 【1】ユーザDB(1,0,0)[ ] が 0と同じ
-◇分岐: 【1】 [ ユーザDB(0,0,0)[ ] が 0と同じ ]の場合↓
|■
◇分岐終了◇
■条件分岐(変数): 【1】システムDB(0,0,0)[<マップ名を入力> マップファイル名 ] が 0と同じ
-◇分岐: 【1】 [ システムDB(0,0,0)[<マップ名を入力> マップファイル名 ] が 0と同じ ]の場合↓
|■
◇分岐終了◇

条件分岐を「可変DB」にして、タイプの数字の所に-100を入力するとUDB0が、200を入力するとSDB0が参照されます。同様にDB操作で同じパターンでUDBやSDBに代入できたりします。試しにBGM音量に代入しましたが、数値は変わったものの反映されず。UDBは反映されますが、セーブデータをロードする時はBasicDataから読まれるので上書きされてしまいます。予期せぬ動作も引き起こしそうなので使い所はほとんど無さそうです。


■イベント座標をデバッグ文に直接表示

■デバッグ文:\sys[100000]

変数呼び出し値9100000と同等。【+10*Y+X】を追加すれば、 イベントYの各座標を取得できる。同様に\sys[180000]で主人公座標。
素直に変数操作+か呼び出し値使ったほうが美しいので、使う機会はなさそうです。気づいたので嬉しくて書いただけです。



以下、思いついたら追加していくかもしれません。
関連記事

Comment

Post a comment

非公開コメント

お知らせ

記事移行完了

記事をFC2からcatgames.16mb.comへ移行完了しました。

このサイトは更新されません。

カウンター

2012/09~

メールフォーム

名前:
メール:
件名:
本文:

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。