TITLE:最低限コマンドでノベルゲーム制作
まきな氏が作成した「[[''Lightvn初心者向け最低限逆引きコマンドリスト''>https://twitter.com/makina_novel/status/1673164182672515072?s=20]]」です。
//https://docs.google.com/spreadsheets/d/1ntG9uVlWH8nCXksdnxBqgo_t6KLi40QmE5EY1PtvCyY/edit#gid=243375527
ノベルゲーム制作に必要なコマンドだけを選出し、逆引き出来るようになっています。
&color(red){''※''};スクリプト記述例は''Light.vnテンプレート''を使用した場合を想定しています。テンプレートのダウンロードは[[こちらから。>https://lightvn.net/project/]]
&br;
#contents
~
*汎用 [#general]
--[[以降の記述がコマンドであることを明示する>beginnerGP#list1]]
--[[コメント・メモを1行記載できる>beginnerGP#list2]]
--[[コメント・メモを複数行記載できる>beginnerGP#list3]]
--[[コマンドを同期処理にする>beginnerGP#list4]]
--[[指定ミリ秒 待機する>beginnerGP#list5]]
--[[ウインドウにサブタイトル表示する>beginnerGP#list6]]
~
**以降の記述がコマンドであることを明示する [#list1]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){~};
~絵 c0 scg/ram_b_1.png 100 0 10
&attachref(./list1.png,nolink,以降の記述がコマンドであることを明示する);
-Light.vnは、スクリプト文中の行頭に「~」を付与すると、以降をコマンド(命令語)として認識します。
-エディター内における記述が「シナリオ文章」なのか「コマンド命令文」なのかを認識させるときに必要となります。
シナリオ文章は青文字になるため、コマンド記述も青文字になってしまっている場合には「~」を追記しコマンドとして認識させましょう。
--参照項目:[[''使用ガイド > コマンドとは > コマンドとは何か''>command#command0]]
&br;
**コメント・メモを1行記載できる [#list2]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){//};
//コメント
&attachref(./list2.png,nolink,コメント・メモを1行記載できる);
-エディター内へのメモ書きや、一時的にスクリプトを読み込まないようにするときに便利です。
--参照項目:[[''使用ガイド > 文章表現 > コメントアウト''>text#script1]]
&br;
**コメント・メモを複数行記載できる [#list3]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){/**/};
/*
コメント1
コメント2
*/
&attachref(./list3.png,nolink,コメント・メモを複数行記載できる);
-エディター内への複数行にわたってのメモ書きや、一時的に複数行のスクリプトを読み込まないようにするときに便利です。
--参照項目:[[''使用ガイド > 文章表現 > コメントアウト''>text#script1]]
&br;
**コマンドを同期処理にする [#list4]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){.};
.イン c0 200
&attachref(./list4.png,nolink,コマンドを同期処理にする);
-同期処理にするとそのコマンドが終了してから次の処理に移ります。
逆に言えば「.」が先頭に付与されていない場合、非同期処理(コマンドの終了を待たず次のコマンドを読み込む)挙動になっています。
--参照項目:[[''使用ガイド > コマンドとは > コマンドの種類 > 効果コマンド(演出コマンド)''>command#command2]]
&br;
**指定ミリ秒 待機する [#list5]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){待機};
待機 1000
&attachref(./list5.png,nolink,指定ミリ秒 待機する);
-待機に秒数を指定しているのにすぐに下行を読み込んでしまう場合は、上記の「.」を使用し「.待機 1000」などとすると確実に待機させることができます。
-待機は指定ミリ秒待機する以外にも様々な種類・指定方法があります。
--参照項目:[[''待機''>commands/script#wait]]
&br;
**ウインドウにサブタイトル表示する [#list6]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){タイトル追加文字列};
タイトル追加文字列 " 第1章 テンプレート"
&attachref(./list6.png,nolink,ウインドウにサブタイトル表示する);
-アプリウィンドウに指定文字が表示されます。エディターウィンドウにも表示されるので確認してみてください。
--参照項目:[[''タイトル追加文字列''>commands/system#setTitleSuffix]]
&br;
*テキスト [#text]
--[[メッセージウィンドウを表示(生成)する>beginnerGP#list7]]
--[[メッセージウィンドウを透明にする>beginnerGP#list8]]
--[[メッセージウィンドウを再表示する>beginnerGP#list9]]
--[[メッセージウィンドウを消す>beginnerGP#list10]]
--[[新しい文章(改ページ)>beginnerGP#list11]]
--[[続く文章>beginnerGP#list12]]
--[[改行>beginnerGP#list13]]
--[[クリック待ち>beginnerGP#list14]]
--[[名前表示>beginnerGP#list15]]
~
**メッセージウィンドウを表示(生成)する [#list7]
''タイプ'':コマンドマクロ ''マクロ/コマンド'':&color(red){文字窓下段};
~文字窓下段
&attachref(./text7.png,nolink,メッセージウィンドウを表示(生成)する);
-本記述はコマンドマクロ(スクリプト内で自作したコマンドみたいなもの)のため、Light.vn wikiなどに記載がないため注意してください。
-マクロおよびコマンドマクロは「macros.txt」内の記述を呼び出すため「~文字窓下段」の前に「''スクリプト system/macros.txt''」の記述が必須となります。
&color(red){''※''};「スクリプト system/macros.txt」の記述は、そのスクリプト内で一度書き込めば機能します。
--参照項目:[[''マクロ''>commands/script#macro]]
--参照項目:[[''コマンドマクロ''>commands/script#commandMacro]]
&br;
**メッセージウィンドウを透明にする [#list8]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){スクリプト};
~スクリプト system/textbox.txt txt_hide
&attachref(./text8.png,nolink,メッセージウィンドウを透明にする);
-「system」フォルダ内の「textbox.txt」に記述されている&color(blue){''【栞 txt_hide】~【スクリプト終了】''};までを呼び出すスクリプトコマンドになっています。
--参照項目:[[''スクリプト''>commands/script#script]]
&br;
**メッセージウィンドウを再表示する [#list9]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){スクリプト};
~スクリプト system/textbox.txt txt_show
&attachref(./text9.png,nolink,メッセージウィンドウを再表示する);
-「system」フォルダ内の「textbox.txt」に記述されている&color(blue){''【栞 txt_show】~【スクリプト終了】''};までを呼び出すスクリプトコマンドになっています。
--参照項目:[[''スクリプト''>commands/script#script]]
&br;
**メッセージウィンドウを消す [#list10]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){アウト};
~アウト txtbox.* 200
&attachref(./text10.png,nolink,メッセージウィンドウを消す);
-アウトコマンドは指定素材を”透明”にするものではなく、スクリプト上から”消滅”させます。
--参照項目:[[''アウト''>commands/transition#fadeout]]
&br;
**新しい文章(改ページ) [#list11]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){"};
"テキストを表示する
&attachref(./text11.png,nolink,新しい文章(改ページ) );
-文章を表示させるためには【''メッセージウィンドウ''】が必要なため「''スクリプト system/macros.txt''」と「''~文字窓下段''」の記述が必須となります。
&color(red){''※''};「スクリプト system/macros.txt」と「~文字窓下段」の記述は、そのスクリプト内で一度書き込めば機能します。
--参照項目:[[''使用ガイド >文章表現 > 新しい文章''>text#script2]]
&br;
**続く文章 [#list12]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){-"};
"テキストを表示する\w
-"テキストを続ける
&attachref(./text12.png,nolink,続く文章);
-文章を表示させるためには【''メッセージウィンドウ''】が必要なため「''スクリプト system/macros.txt''」と「''~文字窓下段''」の記述が必須となります。
&color(red){''※''};「スクリプト system/macros.txt」と「~文字窓下段」の記述は、そのスクリプト内で一度書き込めば機能します。
--参照項目:[[''使用ガイド >文章表現 > 続く文章''>text#script3]]
&br;
**改行 [#list13]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){.};
"テキストを表示する\w
.テキストを続ける
&attachref(./text13.png,nolink,改行);
-文章を表示させるためには【''メッセージウィンドウ''】が必要なため「''スクリプト system/macros.txt''」と「''~文字窓下段''」の記述が必須となります。
&color(red){''※''};「スクリプト system/macros.txt」と「~文字窓下段」の記述は、そのスクリプト内で一度書き込めば機能します。
--参照項目:[[''使用ガイド >文章表現 > 改行''>text#script4]]
&br;
**クリック待ち [#list14]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){\w};
"テキストを表示する\w
"テキストを表示する
&attachref(./text14.png,nolink,クリック待ち);
-文章を表示させるためには【''メッセージウィンドウ''】が必要なため「''スクリプト system/macros.txt''」と「''~文字窓下段''」の記述が必須となります。
&color(red){''※''};「スクリプト system/macros.txt」と「~文字窓下段」の記述は、そのスクリプト内で一度書き込めば機能します。
-「''文字自動待機''」という便利なコマンドがあるため一度調べてからこのコマンドを使用するか検討してください。
--参照項目:[[''使用ガイド >文章表現 > 文章待機''>text#script5]]
--参照項目:[[''文字自動待機''>commands/text#textAutoWait]]
&br;
**名前表示 [#list15]
''タイプ'':マクロ ''マクロ/コマンド'':&color(red){~【】};
~【なまえ】
&attachref(./text15.png,nolink,名前表示);
-本記述はコマンドマクロ(スクリプト内で自作したコマンドみたいなもの)のため、Light.vn wikiなどに記載がないため注意してください。
-マクロおよびコマンドマクロは「macros.txt」内の記述を呼び出すため「~【なまえ】」の前に「''スクリプト system/macros.txt''」の記述が必須となります。
&color(red){''※''};「スクリプト system/macros.txt」の記述は、そのスクリプト内で一度書き込めば機能します。
--参照項目:[[''マクロ''>commands/script#macro]]
--参照項目:[[''コマンドマクロ''>commands/script#commandMacro]]
&br;
*キャラクター [#chara]
--[[立ち絵を表示する>beginnerGP#list16]]
--[[立ち絵を消す>beginnerGP#list17]]
--[[立ち絵を変える・表情を変える>beginnerGP#list18]]
~
**立ち絵を表示する [#list16]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){絵};、&color(red){イン};
絵0 c0 scg/ram_b_1.png 100 0 10
イン c0 500"
&attachref(./chara16_2.png,nolink,立ち絵を表示する);
&attachref(./chara16_1.png,nolink,立ち絵の位置を変える);
-立ち絵の位置を右や左に指定したい場合は、''座標x''の数値を変更してみてください
&color(blue){''例''};:絵0 c0 scg/ram_b_1.png ''100'' 0 10 → 絵0 c0 scg/ram_b_1.png ''400'' 0 10"
--参照項目:[[''絵''>commands/image#cg]]
--参照項目:[[''イン''>commands/transition#fadein]]
&br;
**立ち絵を消す [#list17]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){アウト};
アウト c0 500
&attachref(./chara17.png,nolink,立ち絵を消す);
--参照項目:[[''アウト''>commands/transition#fadeout]]
&br;
**立ち絵を変える・表情を変える [#list18]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){画像};
画像 c0 scg/ram_b_2.png 200
&attachref(./chara18.png,nolink,立ち絵を変える・表情を変える);
-「イン」「アウト」などを使用することなく、イン状態の素材画像を指定画像と入れ替えるコマンドです。
&color(red){''※''};元画像と入れ替える画像の縦横サイズは同じにしないとエラーとなります。
--参照項目:[[''画像''>commands/transition#image]]
&br;
*背景 [#bg]
--[[背景を表示する>beginnerGP#list19]]
--[[背景を消す>beginnerGP#list20]]
~
**背景を表示する [#list19]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){背景};、&color(red){イン};
背景0 bg0 bg/beautiful_park.png
.イン bg0 500
&color(red){''※''};Ver''14.2.1''以降は素材変更のため下記参照。
背景0 bg0 bg/large_park_daytime.jpg
.イン bg0 500
&attachref(./bg19.png,nolink,背景を表示する);
-「絵」コマンドと違い、ウィンドウサイズに合わせて自動的に拡大縮小し、表示位置がx軸、y軸、レイヤー値がそれぞれ初期値が"''0''"になります。
--参照項目:[[''背景''>commands/image#bg]]
--参照項目:[[''イン''>commands/transition#fadein]]
&br;
**背景を消す [#list20]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){アウト};
.アウト bg0 500
&attachref(./bg20.png,nolink,背景を消す);
--参照項目:[[''アウト''>commands/transition#fadeout]]
&br;
*スチル [#still]
--[[スチルを表示する>beginnerGP#list21]]
--[[スチルを消す>beginnerGP#list22]]
~
**スチルを表示する [#list21]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){絵};、&color(red){イン};
絵0 still0 LightSp_Lblue.png 0 0 20
イン still0 500
&attachref(./still21.png,nolink,スチルを表示する);
-スチルを表示する際、''画像の前後関係(レイヤー値)''に注意してください。
一番右の数値は画像の表示順番を表しているため、"0"だと手前にキャライラストが表示されてしまう場合があるため"20"など大きめの数字にしておきましょう。
例では「メッセージウィンドウ」が"''100''"、「キャラクター」が"''10''"になっているため、「スチル(ロゴ画像)」を"''20''"に設定しました。
それによりキャラクターの手前、メッセージウィンドウの奥という位置取りになっています。
--参照項目:[[''絵''>commands/image#cg]]
--参照項目:[[''イン''>commands/transition#fadein]]
&br;
**スチルを消す [#list22]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){アウト};
アウト still0 500
&attachref(./still22.png,nolink,スチルを消す);
--参照項目:[[''アウト''>commands/transition#fadeout]]
&br;
*音楽 [#bgm]
--[[BGMを鳴らす>beginnerGP#list23]]
--[[BGMを消す>beginnerGP#list24]]
--[[効果音を鳴らす>beginnerGP#list25]]
~
**BGMを鳴らす [#list23]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){背景音};
背景音 bensound-enigmatic.ogg 反復
&attachref(./bgm23.png,nolink,BGMを鳴らす);
-「''反復''」を付与することで繰り返し再生を行っています。
--参照項目:[[''背景音''>commands/media#bgm]]
&br;
**BGMを消す [#list24]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){アウト};
アウト 背景音 1000
&attachref(./bgm24.png,nolink,BGMを消す);
--参照項目:[[''アウト''>commands/transition#fadeout]]
&br;
**効果音を鳴らす [#list25]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){効果音};
効果音 se0 airplane+fas+t2.ogg
&color(red){''※''};Ver''14.2.1''以降は素材変更のため下記参照。
効果音 se0 se_maoudamashii_onepoint30.ogg
&attachref(./bgm25.png,nolink,効果音を鳴らす);
--参照項目:[[''効果音''>commands/media#soundEffect]]
&br;
*遷移 [#transition]
--[[栞を設定する>beginnerGP#list26]]
--[[スクリプトを終了する>beginnerGP#list27]]
--[[スクリプト、栞にジャンプする>beginnerGP#list28]]
--[[スクリプト、栞を呼び出す>beginnerGP#list29]]
~
**栞を設定する [#list26]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){栞};
栞 scenario00_00
&attachref(./list26.png,nolink,栞を設定する);
-栞は「スクリプト」コマンドでの呼び出し先、「ジャンプ」コマンドでのジャンプ先の指定に使用します。
--参照項目:[[''栞''>commands/script#bookmark]]
&br;
**スクリプトを終了する [#list27]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){スクリプト終了};
栞 scenario00_00
&attachref(./list27.png,nolink,スクリプトを終了する);
-「スクリプト」コマンドで呼び出した場合、「スクリプト終了」を記述しないと呼び出したスクリプトが残ったままになりエラーやバグの原因になります。
きっちりと終了させましょう。
--参照項目:[[''スクリプト終了''>commands/script#script_fin]]
&br;
**スクリプト、栞にジャンプする [#list28]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){ジャンプ};
ジャンプ scenario00.txt scenario00_00
&attachref(./list28.png,nolink,スクリプト、栞にジャンプする);
-例では「scenario00.txt」内の「scenario00_00」という栞へ移動する記述になっています。
&color(red){''※''};テンプレートには「scenario00.txt」はありませんのでテストプレイ(F5)をした場合はスクリプトエラーになります。
--参照項目:[[''ジャンプ''>commands/script#jump]]
--[[「''スクリプト''」と「''ジャンプ''」の違いについてはこちらへ>editortab#hb3686e1]]
&br;
**スクリプト、栞を呼び出す [#list29]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){スクリプト};
スクリプト scenario00.txt scenario00_00
&attachref(./list29.png,nolink,スクリプト、栞を呼び出す);
-例では「scenario00.txt」内の「scenario00_00」という栞以降のスクリプトを呼び出す記述になっています。
&color(red){''※''};テンプレートには「scenario00.txt」はありませんのでテストプレイ(F5)をした場合はスクリプトエラーになります。
--参照項目:[[''スクリプト''>commands/script#script]]
--[[「''スクリプト''」と「''ジャンプ''」の違いについてはこちらへ>editortab#hb3686e1]]
&br;
*選択 [#choice]
--[[選択肢を表示する>beginnerGP#list30]]
~
**選択肢を表示する [#list30]
''タイプ'':コマンド ''マクロ/コマンド'':&color(red){タッチ素材設定};、&color(red){ボタン};、&color(red){ボタン文字};、&color(red){ボタングループ化};、&color(red){待機};
~タッチ素材設定 sys2/Chat_SelectSmall_Frame_01.png sys2/Chat_SelectSmall_Frame_02.png sys2/Chat_SelectSmall_Frame_03.png
~ボタン btn0 276 100 90 ジャンプ select0_btn0
~ボタン文字 btn0 rounded-mplus-1c-regular.ttf 24 "選択肢1"
~ボタン btn1 276 250 90 ジャンプ select0_btn1
~ボタン文字 btn1 rounded-mplus-1c-regular.ttf 24 "選択肢2"
~ボタン btn2 276 400 90 ジャンプ select0_btn2
~ボタン文字 btn2 rounded-mplus-1c-regular.ttf 24 "選択肢3"
ボタングループ化 btn
待機 ボタン選択 btn
&attachref(./choice30.png,nolink,選択肢を表示する);
-例ではボタンを押すとそれぞれ「select0_btn0」「select0_btn1 」「select0_btn2」という栞にジャンプする記述になっています。
&color(red){''※''};テンプレートでは指定している栞がないため、テストプレイ(F5)をした場合にボタンを押すとエラーとなります。
--参照項目:[[''タッチ素材設定''>commands/UI#touchableRes]]
--参照項目:[[''ボタン''>commands/UI#button]]
--参照項目:[[''ボタン文字''>commands/UI#btnText]]
--参照項目:[[''ボタングループ化''>commands/UI#setButtonGroup]]
--参照項目:[[''待機''>commands/script#wait]]
&br;
~
*あわせて観ておきたい動画 [#movie]
#flex_container(flex-start){{{
#flex_box(370px){{
[[&attachref(script_movie/maki4.png,nolink,【作業雑談】Light.vnの基本的な演出つくる【高天原まきな】);>https://www.youtube.com/watch?v=GS0a-qiDxs4]]
[[【作業雑談】Light.vnの基本的な演出つくる【高天原まきな】>https://www.youtube.com/watch?v=GS0a-qiDxs4]]
}}
#flex_box(370px){{
[[&attachref(script_movie/maki6.png,nolink,【作業雑談】続Light.vnの初心者向けコマンドをリストアップしてみたい【高天原まきな】);>https://www.youtube.com/watch?v=uhz3ERDHCkI]]
[[【作業雑談】続Light.vnの初心者向けコマンドをリストアップしてみたい【高天原まきな】>https://www.youtube.com/watch?v=uhz3ERDHCkI]]
}}
#flex_box(370px){{
[[&attachref(script_movie/maki5.png,nolink,【作業雑談】Light.vnの初心者向けコマンドをリストアップしてみたい【高天原まきな】);>https://www.youtube.com/watch?v=yj5_VFbHecY]]
[[【作業雑談】Light.vnの初心者向けコマンドをリストアップしてみたい【高天原まきな】>https://www.youtube.com/watch?v=yj5_VFbHecY]]
}}
}}}
~
----------
~
#contents
~
~
~