キー操作でキャラクターを動かすスクリプト記述の一例です。
- 「背景」「絵」で背景・障害物・キャラクターを表示させる。
- 「キートリガ」と「方向移動」でキー操作を設定する。
これにより、マップ(背景)を自由に動けるキャラクターを作り出すことができます。
※基本的なキー操作スクリプトなので、まだ歩行アニメ、画面枠での衝突、障害物との衝突などの設定はされていません。
スクリプト記述例
※スクリプト記述例はLight.vn基本サンプル(公式本体)を使用した場合を想定しています。ダウンロードはこちらから。
- 新規スクリプト「sample_script.txt」内に
//背景 ~背景0 map maps/box.png | イン map 300 //障害物 ~絵0 tree1 maps/tree_02.png 50 -102 80 | 拡大 tree1 50% | イン tree1 300 ~絵0 tree2 maps/tree_02.png 750 -450 80 | 拡大 tree2 50% | イン tree2 300 ~絵0 tree3 maps/tree_02.png 750 250 80 | 拡大 tree3 50% | イン tree3 300 ~絵0 door maps/door_cl.png 850 -200 80 | 拡大 door 20% | イン door 300 //キャラクター ~絵0 lam maps/tilemap_tut/lam/front_0.png 660 350 80 | 拡大 lam 300% | イン lam 300
//キャラクター操作 キーダウン a 方向移動x lam -400ups キーダウン d 方向移動x lam 400ups キーダウン w 方向移動y lam -400ups キーダウン s 方向移動y lam 400ups キーアップ a 方向移動x lam 0ups キーアップ d 方向移動x lam 0ups キーアップ w 方向移動y lam 0ups キーアップ s 方向移動y lam 0ups ~待機 続行禁止
- 「新規スクリプト」はエディターの右上「新規スクリプトボタン」を押すことで作成できます。
※PC上で新規テキストを作成し、「scripts」フォルダに移動させることでも可能です。
- 「新規スクリプト」はエディターの右上「新規スクリプトボタン」を押すことで作成できます。
- キーボードの「a」キー「d」キー「w」キー「s」キーを押すとキャラクターが移動し、離すと止まる設定になっています。
スクリプト解説
画像の配置とキー操作の設定を解説していきます。
1.「背景」コマンド「絵」コマンドで素材画像を表示
「背景」「障害物」「キャラクター」をそれぞれ任意の位置に配置しましょう。
配置は「背景」コマンド「絵」コマンドを使用します。
以下、表示サンプル例。
- 新規スクリプト「sample_script.txt」内に
//背景 ~背景0 map maps/box.png | イン map 300 //障害物 ~絵0 tree1 maps/tree_02.png 50 -102 80 | 拡大 tree1 50% | イン tree1 300 ~絵0 tree2 maps/tree_02.png 750 -450 80 | 拡大 tree2 50% | イン tree2 300 ~絵0 tree3 maps/tree_02.png 750 250 80 | 拡大 tree3 50% | イン tree3 300 ~絵0 door maps/door_cl.png 850 -200 80 | 拡大 door 20% | イン door 300 //キャラクター ~絵0 lam maps/tilemap_tut/lam/front_0.png 660 350 80 | 拡大 lam 300% | イン lam 300
2. キートリガコマンドでキー設定
「キーダウン」コマンド「キーアップ」コマンドで操作キーを指定し、発動コマンドに「方向移動」コマンドを記述します。
以下、表示サンプル例。
- 上記に追記で
//キャラクター操作 キーダウン a 方向移動x lam -400ups キーダウン d 方向移動x lam 400ups キーダウン w 方向移動y lam -400ups キーダウン s 方向移動y lam 400ups キーアップ a 方向移動x lam 0ups キーアップ d 方向移動x lam 0ups キーアップ w 方向移動y lam 0ups キーアップ s 方向移動y lam 0ups ~待機 続行禁止
- 例では「a」キー「d」キー「w」キー「s」キーを操作キーとして割り当てています。
- 「キーダウン」は「指定キーを押した瞬間」に「なんのコマンドを発動させるか」を指定できるコマンドです。
逆に「キーアップ」は「指定キーを離した瞬間」に「なんのコマンドを発動させるか」を指定できるコマンドです。
キーダウンのwikiコマンド説明には使用できる対応キー表があるので、確認して指定キーを変えて試してみるのも良いと思います。
右クリックで右移動、なんてこともできるようになります。
- 「方向移動」は「ms式」と「ups式」の2種類の記述方式があります。
「ms式」は「x方向」「y方向」に「どれだけのpx距離」を「どれだけの時間」で移動させるかを指定できるコマンドになります。キーダウン a 方向移動x lam 500 2000
上記例では、操作したいキャラクターの個体名(lam)を「500px」の距離を「2000ミリ秒」で移動するように設定しています。
この場合500px移動した時点で自動的に停止してしまうので「キーダウン」ではなく「キー長押し」での指定にすると移動が止まることがなくなります。
「ups式」は「x方向」「y方向」に「どれだけのpx速さ」で移動させるかを指定できるコマンドになります。
実行している間は指定速度で移動し続けます。
今回は「キーダウン」でのコマンド1回起動なので「ups式」を採用しています。
例では400px毎秒での移動速度となっています。
移動を停止させたい場合は、移動速度または移動距離・移動時間を「0」にします。
「移動」や「速度」などのコマンドでもキャラクターを操作することができますので、分かる人は違いなども比較しながら実装してみてください。
- 「待機 続行禁止」は、以降に記述するスクリプトを読み込まないようにするため、ここで止めています。
現段階では下にスクリプトがなにもないので、記述してなくても問題ありません。