今までの設定を1つにまとめたスクリプト記述の一例です。
- 歩行アニメ登録。
- 背景マップ拡大・画面外衝突範囲。
- 障害物設置・障害物衝突範囲。
- キャラクター・衝突範囲・カメラ制御。
- 衝突範囲接触判定。
- 歩行開始スクリプト・歩行停止スクリプト。
- キャラクター操作。
これにより、キャラクターのキー操作・横スクロールが完成します。
スクリプト記述例
※スクリプト記述例はLight.vn基本サンプル(公式本体)を使用した場合を想定しています。ダウンロードはこちらから。
- 新規スクリプト「sample_script.txt」内に
//歩行アニメ登録 ~アニメ登録 vale_ri 1 scg/vale/vale_sampleb.png 100 scg/vale/vale_samplea.png 100 0 ~アニメ登録 vale_le 1 scg/vale/vale_sampleb.png 100 scg/vale/vale_sampelc.png 100 0
//背景 ~背景0 map maps/box.png | イン map 300 ~絵0 map2 bg/beautiful_park.png 1280 0 0 | 拡大 map2 100% | イン map2 300 ~絵0 map3 bg/monele_arts_building.png 2560 0 0 | 拡大 map3 100% | イン map3 300 //画面外衝突範囲 衝突範囲方形 左壁 -50 360 100 720 侵入禁止 衝突範囲方形 右壁 3890 360 100 720 侵入禁止
//障害物 ~絵0 door1 maps/door_cl.png 950 -250 50 | 拡大 door1 50% | イン door1 300 ~絵0 door2 maps/door_cl.png 2220 -250 50 | 拡大 door2 50% | イン door2 300 //障害物衝突範囲 衝突範囲方形追加 door1 0 0 668 1107 衝突範囲方形追加 door2 0 0 668 1107
//キャラクター ~絵0 vale scg/vale/vale_sampleb.png 0 140 80 | 拡大 vale 100% | .イン vale 300 //キャラクター衝突範囲 衝突範囲方形追加 vale 0 0 406 806 侵入禁止 //カメラ制御 カメラ追走 vale x y 0 0 0 カメラ範囲x 640 3200 カメラ範囲y 360 360
//接触判定 衝突開始時 vale door1 "画像 door1 maps/door_op.png" 衝突終了時 vale door1 "画像 door1 maps/door_cl.png" 衝突開始時 vale door2 "スクリプト sample_script.txt エリア移動" 衝突終了時 vale door2 "スクリプト sample_script.txt 移動中止"
//キャラクター操作 キーダウン a スクリプト sample_script.txt 左進 キーダウン d スクリプト sample_script.txt 右進 キーアップ a スクリプト sample_script.txt 左停止 キーアップ d スクリプト sample_script.txt 右停止 ~待機 続行禁止 //-----------------------------------------------------------------------
//歩行開始スクリプト 栞 左進 画像 vale vale_ri 方向移動x vale -400ups スクリプト終了 栞 右進 画像 vale vale_le 方向移動x vale 400ups スクリプト終了
//歩行停止スクリプト 栞 左停止 画像 vale scg/vale/vale_sampleb.png 方向移動x vale 0ups スクリプト終了 栞 右停止 画像 vale scg/vale/vale_sampleb.png 方向移動x vale 0ups スクリプト終了
//接触結果 栞 エリア移動 画像 door2 maps/door_op.png 効果音 maou_door se_maou_door1.ogg 文字0 word_p 2300 630 100 rounded-mplus-1c-regular.ttf 60 "pキーでエリア移動" | イン word_p 300 キーダウン p ジャンプ start0.txt スクリプト終了
栞 移動中止 画像 door2 maps/door_cl.png アウト word_p キーダウン p スクリプト終了
- 「新規スクリプト」はエディターの右上「新規スクリプトボタン」を押すことで作成できます。
※PC上で新規テキストを作成し、「scripts」フォルダに移動させることでも可能です。
- 「新規スクリプト」はエディターの右上「新規スクリプトボタン」を押すことで作成できます。
スクリプト解説
各設定を組み合わせて「横スクロール」を実装します。
1. 歩行アニメーニョン設定
「アニメ登録」コマンドにて、使用する歩行アニメーニョンを設定します。
以下、表示サンプル例。
- スクリプト「sample_script.txt」内に
//歩行アニメ登録 ~アニメ登録 vale_ri 1 scg/vale/vale_sampleb.png 100 scg/vale/vale_samplea.png 100 0 ~アニメ登録 vale_le 1 scg/vale/vale_sampleb.png 100 scg/vale/vale_sampelc.png 100 0
2. マップ設定
「絵」コマンドでマップを広げて、全体を「衝突範囲方形」コマンドで囲みます。
以下、表示サンプル例。
- 上記に追記で
//背景 ~背景0 map maps/box.png | イン map 300 ~絵0 map2 bg/beautiful_park.png 1280 0 0 | 拡大 map2 100% | イン map2 300 ~絵0 map3 bg/monele_arts_building.png 2560 0 0 | 拡大 map3 100% | イン map3 300 //画面外衝突範囲 衝突範囲方形 左壁 -50 360 100 720 侵入禁止 衝突範囲方形 右壁 3890 360 100 720 侵入禁止
3. 障害物の設定
「絵」コマンドで障害物を配置し、「衝突範囲方形追加」コマンドで各障害物に衝突範囲を付与します。
以下、表示サンプル例。
- 上記に追記で
//障害物 ~絵0 door1 maps/door_cl.png 950 -250 50 | 拡大 door1 50% | イン door1 300 ~絵0 door2 maps/door_cl.png 2220 -250 50 | 拡大 door2 50% | イン door2 300 //障害物衝突範囲 衝突範囲方形追加 door1 0 0 668 1107 衝突範囲方形追加 door2 0 0 668 1107
4. キャラクターとカメラ設定
「絵」コマンドでキャラクターを配置し、「衝突範囲方形追加」コマンドでキャラクターに衝突範囲を付与します。
「カメラ追走」コマンドでキャラクターとカメラを連動させます。
「カメラ範囲x」「カメラ範囲y」でゲーム画面でのカメラ表示範囲を制限します。
以下、表示サンプル例。
- 上記に追記で
//キャラクター ~絵0 vale scg/vale/vale_sampleb.png 0 140 80 | 拡大 vale 100% | .イン vale 300 //キャラクター衝突範囲 衝突範囲方形追加 vale 0 0 406 806 侵入禁止 //カメラ制御 カメラ追走 vale x y 0 0 0 カメラ範囲x 640 3200 カメラ範囲y 360 360
5. 接触設定
複数コマンドを発動させるためのスクリプト
「栞」コマンドで複数コマンドをまとめておきます。
以下、表示サンプル例。
- 上記(「~待機 続行禁止」以降の行)に追記で
//接触結果 栞 エリア移動 画像 door2 maps/door_op.png 効果音 maou_door se_maou_door1.ogg 文字0 word_p 2300 630 100 rounded-mplus-1c-regular.ttf 60 "pキーでエリア移動" | イン word_p 300 キーダウン p ジャンプ start0.txt スクリプト終了
栞 移動中止 画像 door2 maps/door_cl.png アウト word_p キーダウン p スクリプト終了
衝突判定コマンド
「衝突開始時」コマンド「衝突終了時」コマンドでキャラクターと障害物の接触時設定をします。
以下、表示サンプル例。
- 上記(「~待機 続行禁止」よりも上の行)に追記で
//接触判定 衝突開始時 vale door1 "画像 door1 maps/door_op.png" 衝突終了時 vale door1 "画像 door1 maps/door_cl.png" 衝突開始時 vale door2 "スクリプト sample_script.txt エリア移動" 衝突終了時 vale door2 "スクリプト sample_script.txt 移動中止"
6. 歩行スクリプト設定
「キーダウン」コマンド指定用の歩行開始スクリプト「左進」「右進」を記述します。
「キーアップ」コマンド指定用の歩行停止スクリプト「左停止」「右停止」を記述します。
以下、表示サンプル例。
- 上記(「~待機 続行禁止」以降の行)に追記で
//歩行停止スクリプト 栞 左停止 画像 vale scg/vale/vale_sampleb.png 方向移動x vale 0ups スクリプト終了 栞 右停止 画像 vale scg/vale/vale_sampleb.png 方向移動x vale 0ups スクリプト終了
//歩行停止スクリプト 栞 左停止 画像 vale scg/vale/vale_sampleb.png 方向移動x vale 0ups スクリプト終了 栞 右停止 画像 vale scg/vale/vale_sampleb.png 方向移動x vale 0ups スクリプト終了
7. キャラクター操作設定
キートリガに「スクリプト」コマンド指定し、「歩行開始スクリプト」「歩行停止スクリプト」の各「栞」を指定します。
以下、表示サンプル例。
- 上記(「歩行開始スクリプト」よりも上の行)に追記で
//キャラクター操作 キーダウン a スクリプト sample_script.txt 左進 キーダウン d スクリプト sample_script.txt 右進 キーアップ a スクリプト sample_script.txt 左停止 キーアップ d スクリプト sample_script.txt 右停止 ~待機 続行禁止 //-----------------------------------------------------------------------