最低限のスクリプト命令で動作するノベルエンジンを作成中です。
3-4まで実装済み。
サンプルテキスト
%%ふが=tati01 //二つの立ち絵に 位置調整とサイズ調整を設定
%%ほげ=tati02
%y=70 //表示する高さ調整
%scale=1.3 //サイズを3割り増しに
%%end
$ほげ笑=tati01w//変数(ほげ笑を宣言
%%背景=haikei2 //背景の設定
%type=2
%%end
ほげ「こんにちわ」//ほげの立ち絵が表示
%背景 //背景が表示
ふが「こんにちわ」//ほげの隣にふがの立ち絵が表示。ほげは半透明になる
ほげ「いい天気だね」 //ほげが再表示される。ふがが半透明になる。
%ほげ=ほげ笑
ほげ「あはは」//ほげの立ち絵が変更される。
命令の種類
- @クリック待ち //使わ無いかも
- #命令 IF BGM GOTO
- %立ち絵 キャラ名「発言」の形式で立ち絵の自動表示をする。on off可能
- $変数=値 // 各命令の=の右側には変数を使うことができる
- &ラベル gotoー>ラベル ラベルのある行までスキップ
・@ メッセージ処理
@クリック待ち
@@改行+クリック待ち
@@@改ページ+クリック待ち
@wait=kai 改行ごとにクリック待ち
@wait=kuto 句読点(。)ごとにクリック待ち
@wait=off @指示のみでクリック待ち
@page=spa 先頭スペースで改ページ
@page=kai 改行ごとに改ページ
@page=kai 句読点(。)ごとに改ページ
@page=off @指示のみでクリック待ち
デフォルトはkai
@window=テキスト 小窓テキスト
@box_full=on メッセージをフルサイズに
@box_size=500 メッセージの高さ変更
@box_image=aa.jpg メッセージの背景変更
@box_color=#AAAAAA メッセージボックスの色
@font_color=#F2A122 RBGメッセージの色
@font_size=5 フォントサイズ
:$ 変数の宣言
$変数名=文字 文字や数値、ファイルパスを入れる
$...+... 数字計算
$$変数名 配列の作成 変数名1〜連番
値1
値2
値3
$$end 変数名1〜3が作成される
・# 処理命令
##if=変数=値 変数と値が等しければブロック実行
処理1
処理2
##endif 偽ならブロックを抜ける goto end
#if 下の一行のみ実行
#goto=ラベル名 ラベル名までスキップ
#back=ラベル名 ラベル名まで戻る
##for==変数=値 変数と値が等しければ繰り返す
処理1
処理2
##endfor
#bgm=mp3 音楽を流す offで停止
#effect=mp3
##btn=ボタンテキスト
命令1
命令2
##btn=ボタン2テキスト2
命令3
##endbtn
・%CG操作 たち絵 背景 イベント小窓
%%misato=gazo/misato01.png 変数でも可能
%%moto=gazo/moto02.png 複数の立ち絵の同時セッティング
%x=1 +で右へ
%y=20 +で上へ
%size=1.2 2割り増し
%mode=1,立ち絵 2,背景 3.イベントCG
%%end
//misatoとnahsimotoの二つにパラメーターがセットせっとされる
%misato //立ち絵を表示
misato「こんにちわ」//立ち絵の表示とテキスト表示
%misato=misato02//立ち絵を変更して表示
%png .pngを省略
%jpg
%std=立ち絵.pngz=2 2の位置に立ち絵表示
%win=event.jpg 小窓イベントCG
%scr=event.jpg フルスクリーンイベントCG
%bgi=event.jpg 背景
%clear 立ち絵のクリア
%event=イベントCG イベントモードへ以降 背景の全面表示
%end イベントモード終了
%number=2 立ち絵を左右の2キャラのみの表示する。
%postion=2 次の立ち絵のポジション指定 2左 1中央 3右
%shadow=off 立ち絵を暗くしない
%effect=効果1.png=0.1=16 CGエフェクト 効果1.png〜効果16を0.1秒の速度でアニメーション
%back すべての立ち絵を半透明に
命令使用例
#btnボタン表示
#bgm
#kouka
#goto=ラベル ラベルまで行を進む
#back=ラベル ラベルまで行を戻る
#wait=0.1 0.1秒待つ
ボタン表示 テキスト、end、btnまでifブロックになる
#btn=選択1表示テキスト
@fl=1
@kubun=AA
#btn=選択2
@fl=2
#btn=AAAA
@fl=3
#end
IF分岐 テキスト、end、gotoまでifブロックになる
#if=fl1=1
@kubun=A
#goto=lable1
#if=fl=2
@kubun=B
#end
..
..
#label1