各画像に当たり判定を設定するスクリプト記述の一例です。
- キャラクターに当たり判定(衝突範囲)を付与する。
- 障害物に当たり判定(衝突範囲)を付与する。
これにより、キャラクターと障害物がぶつかる設定にすることができます。
スクリプト記述例
※スクリプト記述例はLight.vn基本サンプル(公式本体)を使用した場合を想定しています。ダウンロードはこちらから。
- スクリプト「sample_script.txt」内に
//背景 ~背景0 map maps/box.png | イン map 300
//キャラクター ~絵0 vale scg/vale/vale_sampleb.png 0 140 80 | 拡大 vale 100% | .イン vale 300 衝突範囲方形追加 vale 0 0 406 806 侵入禁止
//障害物 ~絵0 door1 maps/door_cl.png 950 -250 50 | 拡大 door1 50% | イン door1 300 //障害物衝突範囲 衝突範囲方形追加 door1 0 0 668 1107 侵入禁止
//キャラクター操作 キーダウン a 方向移動x vale -400ups キーダウン d 方向移動x vale 400ups キーアップ a 方向移動x vale 0ups キーアップ d 方向移動x vale 0ups ~待機 続行禁止 //-----------------------------------------------------------------------
- 【キャラクターをキー操作する設定】スクリプトを基に修正・追記を行っています。
スクリプト解説
操作キャラクターと障害物に当たり判定(衝突範囲)を付与する方法を解説していきます。
1. キャラクターに当たり判定(衝突範囲)を付与する
「衝突範囲方形追加」コマンドでキャラクター(lam)に対し当たり判定(衝突範囲)を付与します。
以下、表示サンプル例。
- 上記に追記で
//キャラクター ~絵0 vale scg/vale/vale_sampleb.png 0 140 80 | 拡大 vale 100% | .イン vale 300 衝突範囲方形追加 vale 0 0 406 806 侵入禁止
- 当たり判定である「衝突範囲」はエディターの設定タブ内「衝突範囲表示」にチェックを入れることで、紫枠として表示されます。
- 基本的には、当たり判定のサイズは基画像の大きさで指定します。
キャラクターの指定画像(vale)サイズは 706px x 906px なので、そのままのサイズを指定します。
素材の拡大縮小に対しては当たり判定も自動的に拡大縮小されます。
- 当たり判定のサイズは任意のサイズにできます。
今回は、イラスト(vale)に合うように少し小さめサイズに設定しました。
- 「衝突範囲方形追加」オプションである「侵入禁止」を記述しておきます。
他の当たり判定(侵入禁止同士)と重ならない(接触時にすり抜けない)ようにするために必要です。
- キャラクターと障害物の両方に「侵入禁止の衝突範囲」を付与したら、テストプレイでぶつかってみましょう。
接触時に画像同士がすり抜ける(重なる)ことがなくなっているのが確認できます。- 参照項目:衝突範囲方形追加
- 参照項目:エディター機能タブの利用 > 衝突範囲表示
2. 障害物(ドア)に当たり判定(衝突範囲)を付与する
「衝突範囲方形追加」コマンドで障害物(door)に対し当たり判定(衝突範囲)を付与します。
以下、表示サンプル例。
- スクリプト「sample_script.txt」内に
//障害物 ~絵0 door1 maps/door_cl.png 950 -250 50 | 拡大 door1 50% | イン door1 300 //障害物衝突範囲 衝突範囲方形追加 door1 0 0 668 1107 侵入禁止
- 今回の当たり判定のサイズは基画像の大きさで指定しています。
指定画像(door)サイズは 668px x 1107px なので、そのままのサイズを指定します。
素材の拡大縮小に対して当たり判定も自動的に拡大縮小されます。
※基画像に対して、当たり判定のサイズ・位置は自由に決められます。
- 「衝突範囲方形追加」オプションである「侵入禁止」を記述しておきます。
他の当たり判定(侵入禁止同士)と重ならない(接触時にすり抜けない)ようにするために必要です。- 参照項目:衝突範囲方形追加