【伺か】メンテナンスモードを作ってみる。【yaya】
ukagaka前回
初めに
次回に好感度実装をしようと思っています。
しかし、現在の数値などで面倒なチェック作業が必須になるので先にそれを確認しやすくしてしまおうと思います。
今回すること
メンテナンスモード(デバッグモード)を実装する。
- 簡単にon/offできる。
- ダブルクリック時にメンテナンスモードだと別のメニューを表示する。
- メンテナンスモードであることが一目でわかるように、サブキャラを実装してみる。
といったものをつけようと思います。
Menuを独立させる。
以前 、【コピペで作る】伺か ダブルクリックでメニューを開けるようにする【yaya】 — 異風堂々でdic_DoubleClick.uka
に作ったメニューを改修して作成します。
menu一式を独立させるのでdic_DoubleClick.uka
このように全て書き換えてしまいます。
もし、部位の追加などをしていたら適時書き換えてください。
OnMouseDoubleClick {
_char = reference[3]
_parts = reference[4]
EVAL("MouseDoubleClick_%( _char )%( _parts )")
}
MouseDoubleClick_0Head {
"ダブルクリック:頭"
}
//メインキャラの当たり判定が無い部分
MouseDoubleClick_0 {
//"ダブルクリック:None"
CallDoubleClickMenu
}
dic_Menu.uka
を新しく作り、yaya.txtに登録します。
CallDoubleClickMenu {
//メンテナンスモードが有効ならば
if ( ISFUNC( "DebugModeFunction" ) == 1 ) {
DebugMenu()
//メンテナンスモードが無効ならば
} else {
DoubleClickMenu()
}
}
DoubleClickMenu {
"\_q/
\n[half]/
【機能】\n/
\![*]\q[テストメニューA,TestMenuA]\n/
\![*]\q[テストメニューB,TestMenuB]\n/
\![*]\q[テストメニューC,TestMenuC]\n/
\![*]\q[天気関係,weather_menu]\n/
\![*]\q[特にない,]\n/
\n[half]\e"
}
TestMenuA {
"テストメニューA"
}
TestMenuB {
"テストメニューB"
}
TestMenuC {
"テストメニューC"
}
DebugMenu {
"\_q/
\n[half]/
【メンテナンス】\n/
\![*]\q[メンテナンスメニューA,DebugMenuA]\n/
\![*]\q[特にない,]\n/
\n[half]\e"
}
DebugMenuA {
"メンテナンスA"
}
dic_DebugMode.uka
を作成してyaya.txtに登録します。
DebugModeFunction {
"DebugModeNow"
}
ここまででdic_DebugMode.uka
が読み込まれている場合はメンテナンスモードとして動かすことができるようになりました。
再起動して本来通常のメニューが出る動作を確認してみてください。
メンテナンスモードのon/offをする。
dic_DebugMode.uka
をコメントアウトするだけで、オフにすることができます。
以降はこのような分岐を設定しておけば、メンテナンスモード時の挙動を変更できます。
if ( ISFUNC( "DebugModeFunction" ) == 1 ) {
} else {
}
おまけ
サブキャラを実装してメンテナンスモード中であることが一目瞭然にしてみる。
shell/surface9999.png
を下記の画像で登録した。
以前書いた【コピペで作る】伺か 起動時に一緒に天気予報も教えてもらう。【yaya】 — 異風堂々のdic_Hello.uka
の中のHelloWorld関数をこのように改変します。
HelloWorld {
_DebugMode = GetDebugMode()
_mainText = GetHelloComment()
_subText = ""
_text = ""
//一日一回のみ処理する
if ( SameDayFlag == 1 ) {
//自動が有効ならば
if ( WeatherFlag == 1 ) || ( WeatherFlag == 3 ) {
_subText = CallWeather
}
}
_text = _DebugMode + _mainText + _subText
_text
}
同じくdic_Hello.uka
に下記を追記します。
GetDebugMode {
if ( ISFUNC( "DebugModeFunction" ) == 1 ) {
"\1\s[9999]\0"
} else {
""
}
}
これでメンテナンスモード中のみ先ほどの画像が二人目として表示されるようになるので、解除し忘れることはないでしょう。
伺かは左上の色を透過色として扱うのでこのようになりました。
次回
次は今回作成したメンテナンスモードを使用し、いつでも現在のユーザーとの関係を確認できるようにしつつ好感度を実装しようと思います。
【伺か】更新しやすい形で好感度と関係性を実装した話。【YAYA】