Windows標準のマウスカーソルでなく、オリジナルの画像を表示します。
基本情報
前提スクリプト
拡張タイプ
★ 既成 (導入するだけでゲームの挙動が変化する)
☆ 要画像素材 (特定の画像ファイルが必要)
素材
● 既定値をそのまま使う場合は、以下の画像を Graphics/System に入れてください。
● RTPの画像を加工しているため、ツクールシリーズ以外での利用はご遠慮ください。
Mouse_Cursor.png
Mouse_Invalid.png
Mouse_Select.png
Mouse_Click.png
説明
概要
マウスカーソルをシステムのものではないオリジナルのアニメーションにします。
設定方法
- カーソルの設定方法は「画像で指定」と「アニメーション(RPG::Animation)で指定」の2種類があります。
- 基本的には前者のほうが軽量なのでなるべく前者を使い、複雑なアニメーションにしたい場合だけ後者をご利用ください。
- ただし、アニメーションを設定する場合は LNS101 アニメーション拡張 が必要になります。
- カーソル画像は定数 Cursor で定義されます。規定値は以下のとおりです。
Cursor = {
:default => ["Mouse_Cursor", 1, 1, 24, 24, 2],
:click => ["Mouse_Click", 24, 24, 48, 48, 2],
:select => ["Mouse_Select", 24, 24, 48, 48, 2, 9],
:invalid => ["Mouse_Invalid", 12, 12],
}
キーのシンボル
- :default
- 標準状態
- :click
- 左クリック時
- :invalid
- ウィンドウを開いているとき、ウィンドウの外にある場合
- マップ画面で、通行不能な地形を選択中の場合
- :select
- マップ画面で、起動可能なイベントを選択中の場合
- 戦闘画面で、バトラーの上にカーソルがある場合
- 任意のシンボルは省略可能です。
- 省略した場合は :default が参照され、それも省略されていた場合はシステムのカーソルが使われます。
- 各キーに対応する値は指定方法によって変わります。(下記参照)
◆ 画像で指定
:select => ["Mouse_Select", 24, 24, 48, 48 , 2 , 9 ],
(キー) => [ "画像名" , ox, oy, 幅, 高さ, 更新間隔, ループ位置],
(画像名以外は省略可能)
- 画像名
- Graphics/System/(画像名)"が読み込まれます。拡張子は省略できます。
- 存在しない画像名を指定した場合はシステムのカーソルが使われます。
- ox, oy
- 画像の転送元原点です。
- マウスカーソルの位置はここを基準とされるので、例えば三角形のカーソル画像ならその先端がある位置を指定してください。
- 省略した場合は「幅と高さ」の中心(つまり画像の中心)となります。
- 幅, 高さ
- パターン 1つあたりの幅と高さです。
- アニメーションの最大パターン数はこれを基準に決定されます。
- 例えば 幅30, 高さ20 の画像に対して、幅=10, 高さ=10 と設定した場合、最大パターン数は [30 / 10] * [20 / 10] = 6 パターンとなります。
- 画像の大きさがこれらの整数倍でない場合、余った部分は無視されます。
- 省略した場合、読み込んだ画像をそのまま使います。
- 更新間隔
- パターンを更新する間隔(フレーム数)です。
- Graphics.frame_count がこれの倍数のときにカーソルパターンのインデックスを 1つ進めます。
- 省略した場合は 6(およそ0.1秒ごと) になります。
- ループ位置
- パターンが最後まで到達した場合、ここで指定されたパターンインデックスまで戻って繰り返します。
- マイナスの値を指定すると最大のインデックスから数えます。例えば -1 の場合、最後のパターンで固定することを意味します。
- 省略した場合は 0(最初から) になります。
◆ アニメーションで指定
:default => [:animation, "マウスカーソル", false ],
(キー) => [:animation, アニメーション , 左右反転],
(左右反転は省略可能)
- アニメーション
- 再生するアニメーションを指定します。
- 文字列ならその名前のアニメ、数値なら ID を直接指定することになります。
- 存在しないアニメが指定された場合はシステムのカーソルが使われます。
- 指定されたアニメーションがループ再生されます。
- ループ設定の方法は [LNS101 アニメーション拡張] の説明を参照してください。
- 左右反転
- 真の場合、アニメーションを左右反転して描画します。
- 省略した場合は反転されません。
備考
再定義されるメソッド
設定項目
- Cursor
- カーソル状態とカーソル画像定義のリスト
- SS_Cursor_Show <既定値 true >
- LNS040 Graphics拡張導入時、スクリーンショットの際にカーソルを含める
- 偽の場合、スクリーンショット時にはカーソル画像を隠す
更新履歴
- こんにちは。不具合を発見したのでご報告いたします。 LNS000 組み込み拡張 LNS010 Input拡張 LNS100 プリセット拡張 LNS102 マウス操作 LNS140 マップ/キャラ拡張 の5つを導入した状態で、マップ画面でマウスカーソルをゲームウインドウの外側で大きく動かすなどすると、「 スクリプト 'LNS 140 マップ/キャラ拡張' の 980 行目で IndexError が発生しました。 index -1 too small for array; minimum: 0 」というエラーメッセージが表示され、ゲームが終了してしまいます。 スクリプトは全て最新で、内容は改変していません。 -- 2022-07-26 01:29:40
- 確認が遅れましたが、対応修正しました。正確には「既に対応済みであったがアップロードを忘れていた」という状態でした…… -- 2022-11-01 15:39:07
- 対応ありがとうございます!しかし LNS000, 010, 100, 102, 140 の5つを入れた状態で起動直後に「スクリプト 'LNS140 マップ/キャラ拡張' の 1719 行目で NameError が発生しました。 undefined method 'lns102_dash?' for class 'Game_Player'」と表示され、終了します。 -- 2022-12-24 16:39:35
最終更新:2020年12月29日 09:43