こんにちは。
この解説記事、まだ終わってなかったんですよね。RPGツクールMZのピクチャのコマンドにはこれまで紹介した表示・移動以外にも回転・色調変更・消去があります。
1回目「ピクチャの表示」↓
2回目「ピクチャの移動」↓
今回「ピクチャの回転・色調変更・消去」↓
ピクチャの回転については設定項目が”ピクチャ番号”と”回転速度”だけなので特に難しいことはないのですがぱっと見だけではわからない特徴があるので書いておきます。
①ピクチャの回転は回転速度の値を正にすると右回転、負にすると左回転する。
②回転を止めるにはピクチャの回転コマンドで速度を0に指定する。
③コマンドで速度を0に指定するまでは回転を続ける。
④移動コマンドと組み合わせて回転させながらの移動も可能。
⑤速度1=0.5°/フレーム
⑥回転の中心は”表示”または”移動”コマンドで最後に指定した”原点”。
…こんなところかと思います。
⑤についてもうちょっと書くとこれは12にすると1秒(60フレーム)に1回転するってことです。
例えば下のようなコマンドを実行すると1回転でピッタリ止まります。回転しすぎたり手前で止まるなんてこともありません。
これってつまり画像を任意の角度に傾けることができるってことなんですよね。
次のようにすると画像は45°傾いた状態で表示されます。
実は回転速度の設定は90が上限になっているので上の方法による表示は45°が限界です。時間を2フレーム以上にしてしまうと回転の途中が見えてしまうのです。
なので傾ける前の表示時点では不透明度を0にするとか、90°傾けた画像を用意して最大45°でも対応できるようにする、などの工夫が必要になってきます。
或いはスクリプト。下記のスクリプトをピクチャの回転コマンドの代わりに使えば90以上の速度も指定できます。
$gameScreen.rotatePicture(ピクチャ番号,回転速度);
例) ピクチャ番号2、回転速度180なら・・・$gameScreen.rotatePicture(2,180);
もちろん回転速度は負の値も使えますのでこれで完璧に任意の角度での表示ができますね。
//追記//
次のスクリプトなら角度を直接指定できるようです↓
(教えて頂いてありがとうございます!!)
$gameScreen.picture(ピクチャ番号)._angle = 角度
例)ピクチャ番号1番を90°傾ける・・・$gameScreen.picture(1)._angle = 90;
//追記終わり//
ピクチャの回転コマンドの解説は以上です。
色調変更と消去についてはそのまんま見たらわかる感じになっているので解説は不要かもしれませんがさらっとだけやっておきましょう。
色調変更は”ピクチャ番号”で対象を指定し、”色調”のところでスライドバーを動かして変化量を設定、”時間”の項目でどれだけの時間をかけて変化させるかを入力し、変化が完了するまで以降のイベントコマンドを待機させるかどうかを”完了までウエイト”のチェックボックスで設定します。
色調は通常、ダーク、セピア、夕暮れ、夜のデフォ設定が用意されており、ボタンをクリックすると設定が変わるようになっています。
ピクチャの消去はピクチャ番号を指定するだけ。消去した後は再度”表示”のコマンドを実行するまで移動、回転、色調変更はできません。
これでピクチャ関連コマンドが全部終わりました。色を変えたり動きをつけたりと組み合わせでいろいろできそうですよね。
回転しながらセピアに変色、その後消滅↓
今回はここまでです。ありがとうございました。