Scene_Map の更新をストップし、ピクチャを表示することで
疑似的なオリジナルメニューを作っています。
通常のピクチャと文字列ピクチャをゴリゴリ動かして、たとえばこういう制御してるんですが
https://twitter.com/wtr_in_reverie/stat ... 9820323841
やっぱりちゃんとシーン遷移させたり、ピクチャに頼らないで整理したほうがいいんだろうなーと思ったものの
空っぽのシーンにビットマップを表示してみて、そのあとピタリと手が止まりました。
正直何をしたらいいのかさっぱりわかりません。
最小の機能で言えば、オリジナルシーンに画像やテキストを表示して、キー入力に応じて動かす
がやりたいことなんですが
シンプルな参考プラグインってないでしょうか。
もともとツクールではこういう機能がウィンドウ制御に組み込まれてるからだと思うんですが
参考情報を探してもウィンドウの表示の仕方とかばっかり出てきて、どうにも取っ掛かりが掴めないでいます。
いまはキー入力監視は並列処理のコモンイベントになっていて
コモンイベントからピクチャをアレコレ動かす関数を呼び出す構成になってるのですが
これをまるっと1つのシーンに押し込めたいのです。
参考情報、あるいは何から調べればいい、みたいなアドバイスを頂けないでしょうか。
ちなみにプログラムを体系的に勉強したことがなくて
なんとなく、なんとなーくしか書けません…
画像を扱う参考になりそうなプラグインを探してます
- Plasma Dark
- 記事: 669
- 登録日時: 2020年2月08日(土) 02:29
- 連絡を取る:
Re: 画像を扱う参考になりそうなプラグインを探してます
最小の機能で言えば、オリジナルシーンに画像やテキストを表示して、キー入力に応じて動かす
がやりたいことなんですが
シンプルな参考プラグインってないでしょうか。
シーンに独自で画像を表示しているプラグインと言われてぱっと思い浮かぶのは MOG_SceneMenu なのですが、あれはそのまま真似してはいけないコードなので、部分的に参考に留めるくらいにしたほうが良いですね。
MOG_SceneMenu ではメニューのコマンドを画像に差し替えているのですが、シーン自体が画像の制御を行ってしまっている点が良くありません。
もともとツクールではこういう機能がウィンドウ制御に組み込まれてるからだと思うんですが
参考情報を探してもウィンドウの表示の仕方とかばっかり出てきて、どうにも取っ掛かりが掴めないでいます。
参考動画を拝見しました。アトリエライクなシステムで、良いUIですね。
あのUIを私がゲーム中で動かすとするなら、以下の2通りどちらかのアプローチで書きます。
1. MADOでウィンドウのUIを変えてしまう(ただし、システム画像用の形式で画像が用意できる場合のみ)
2. 透明なWindowを作り、そこにSpriteを持たせて表示の制御をさせる(システム画像用の形式で画像を用意する労力が大きいか、他に不都合がある場合)
シーンそのものでなんでもかんでも処理してしまうよりは、シーンがウィンドウを持ち、ウィンドウが操作などの処理を受け持つというように、既存の構成に合わせるほうがわかりやすそうです。
Window_Command や Window_Selectable を継承したクラスを作って、そのウィンドウのインスタンスを独自のシーンで作るようにすれば、キー入力の監視周りは継承されたメソッドが勝手にやってくれます。
キー入力の結果は index メソッドなどで取得できますので、 update メソッドの末尾とかでその結果に応じてSpriteを操作してあげれば良いと思います。
もし書き方がわかれば、Spriteも専用にクラスを作ってしまって良いかもしれません。
選択中の青枠画像とそうでない黒枠画像が別のファイルなら、予めreserve(あるいはloadでも良いですが)しておいたbitmapへの参照を持っておいて、真偽値で表示するbitmapを切り替えられるようにしてあげるとか。
ちなみに、デフォルトのシステムでもウィンドウ上に画像を表示するケースが実はあります。
ショップや数値入力イベントをマウスクリックやタッチで開くと、数字を操作するUIが画像で表示されます。
rpg_windows.js の Window_ShopNumber.prototype.createButtons の辺りを参照してみてください。
Re: 画像を扱う参考になりそうなプラグインを探してます
ありがとうございます。
やっぱり MOG 系が思い浮かびますよねぇ…
1回読んでみようと思ってソッコー挫折したヤツですが改めて眺めてみようか…
ウィンドウって透明でもいいんですね… そりゃそうか
ウィンドウじゃない UI がいいんだーと思っていたんですが中身は結局ウィンドウでいいんですね。
MADO はよくわからないんですが
とりあえず画像たくさん作っちゃったのでダミーウィンドウに貼り付けちゃおうか。
Spriteって結局なんなのかいまいちわかってないです。
もっとも選択中の青枠画像…は視認性がよろしくないと思ってたので作り直すなら別画像のカーソルにしたいと思ってました。
カーソル画像用意するのが面倒でとりあえずの仮動作としてたのが結局残ってしまったヤツです。
別画像じゃなくて Hue を回して作ってました。
Window / Sprite それぞれ調べてみようと思います。
別スレッドで言われていた『パワーのあるコード』をどうにかスマートにしたいですね。
むしろパワーしかない 3000 行に近いモンスターだし
表示だけじゃなくてアイテム回りのデータ構造を魔改造したのでコードの長さはもとより処理も重いので…
やっぱり MOG 系が思い浮かびますよねぇ…
1回読んでみようと思ってソッコー挫折したヤツですが改めて眺めてみようか…
1. MADOでウィンドウのUIを変えてしまう(ただし、システム画像用の形式で画像が用意できる場合のみ)
2. 透明なWindowを作り、そこにSpriteを持たせて表示の制御をさせる(システム画像用の形式で画像を用意する労力が大きいか、他に不都合がある場合)
ウィンドウって透明でもいいんですね… そりゃそうか
ウィンドウじゃない UI がいいんだーと思っていたんですが中身は結局ウィンドウでいいんですね。
MADO はよくわからないんですが
とりあえず画像たくさん作っちゃったのでダミーウィンドウに貼り付けちゃおうか。
もし書き方がわかれば、Spriteも専用にクラスを作ってしまって良いかもしれません。
選択中の青枠画像とそうでない黒枠画像が別のファイルなら、予めreserve(あるいはloadでも良いですが)しておいたbitmapへの参照を持っておいて、真偽値で表示するbitmapを切り替えられるようにしてあげるとか。
Spriteって結局なんなのかいまいちわかってないです。
もっとも選択中の青枠画像…は視認性がよろしくないと思ってたので作り直すなら別画像のカーソルにしたいと思ってました。
カーソル画像用意するのが面倒でとりあえずの仮動作としてたのが結局残ってしまったヤツです。
別画像じゃなくて Hue を回して作ってました。
Window / Sprite それぞれ調べてみようと思います。
別スレッドで言われていた『パワーのあるコード』をどうにかスマートにしたいですね。
むしろパワーしかない 3000 行に近いモンスターだし
表示だけじゃなくてアイテム回りのデータ構造を魔改造したのでコードの長さはもとより処理も重いので…
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
https://twitter.com/wtr_in_reverie/