スポンサーサイト

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

ウディタ/小ネタ

小ネタも溜まってきたので記事にしてみます。


1.乱数のシード

ウディタでは、乱数が使用できます。
変数操作などの演算子「~」ですね。
セーブデータから、同じ行動をしたら同じ結果になってしまう事は経験ないでしょうか?
乱数といっても擬似なので、○の次は△、□……というふうに決まってるんですよね。
これを回避する方法。

回避策1.乱数無駄遣い
 並列常時のイベントに、「変数操作:0~0」を入れるだけです。
 そうすれば、時間の経過とともに乱数が変化していきます。

回避策2.乱数シードの変更
 同じようなものなんですが、システム変数110番に「乱数のシード」というものがあります。
 回避策1でも、乱数を使用してこのシードを変化させていたんですが、
 それを直接いじる方法。
 同じように常時イベントに入れますが、入れる値をどうするか。
 多分、現在の時分秒やミリ秒、プレイ時間などがいいと思います。
 注意点は、ゼロにしないこと!
 シードがゼロだと、その後の乱数はずっとゼロのままです。
 マイナスでも、数回同じ数字が出たりしておかしな挙動になるので、大きめの自然数がいいようです。


2.ピクチャ移動・ディレイ

ピクチャの移動は便利ですね。
自由変形の一点の座標だけを移動することもできます。
「中心」を「左上」などに変えられないので、座標のとり方に注意ですが。
ディレイとは、遅れること。
ディレイ5フレームなら、5フレーム後に処理が始まります。

移動とディレイを駆使すると、ウェイトを挟まなくても
「放物線を描いて移動後、数フレームでゆっくり消える」なんてのも作れます。
片道勇者の、ダメージの数字みたいな感じです。


3.回数付きループ[0]回

[0]回っていうのは、要するに処理をしないことです。
そのコマンドは無視されます。

使い道1.コメント化
 コマンドが処理されないので、
 「動いてほしくないけど、消したら復帰するの大変だな」というような
 一時的に消えてほしい時に使用できます。

使い道2.条件分岐「上記以外」にラベルジャンプする
 上記以外にラベルでジャンプはできません。
 (エラーは出ないが、正しく処理されない)
 でもどうしてもジャンプしたい!っていう時に、
 上記以外→真下に設置した0回ループの中にラベルでジャンプさせます。
 すると、他の場所からジャンプするのが可能になります。


4.デバッグに便利なコマンド

■変数操作+: CSelf0 = 処理中の自動/接触/決定キーEv番号[コモンなら+500000]
■変数操作+: CSelf1 = 処理中のEv行数 [自動/接触/決定キー起動Ev]

変数操作+は色々なコマンドがありますが、この二つはすごい便利です。
今実行しているイベントがどこの何行目かを取得してくれます。
こいつらを、常時並列イベントで

■デバッグ文:イベント\cself[0]、\cself[1]行目
■ピクチャ表示:999999 [左上]文字列[イベント\cself[0]、\cself[1]行目] X:10 Y:10

こういう風に、画面やデバッグウィンドウに表示してやれば
どのあたりでエラーが起きているか分かりやすくなります。

並列イベントが悪さをしていそうな場合は、
並列イベント全ての先頭で「並列○○実行開始!」みたいなデバッグ文を入れると
分かりやすいです。
関連記事

Comment

Post a comment

非公開コメント

お知らせ

記事移行完了

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

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

カウンター

2012/09~

メールフォーム

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

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