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