JsRenderには独自コンバーターを作って値を変更できる機能があります。
セーブ画面専用に別の変数を用意するのめんどいなーという方向け。
ですが、別の変数を用意する方が楽な場合の方が多いかと思いますので話のネタに。
うわ便利!!と、思ったわりに用途が思い浮かばないですし…
スリーシェルゲームの時にプレイ時間とかクリアフラグとかで使いたかったです。
ものは試しにプレイ時間と数値の3桁区切りにするコンバーターを作ってみます。
ざっくり説明
$.views.converters
メソッドの引数に、{コンバーター名:関数,...}
と連想配列で記述します。
コンバーターを使用するには、{{コンバーター名:値}}
のように、コロンの前にコンバーター名を指定します。
使い方
js
適当な名前のjsファイルにして、others
フォルダに置きます。
とりあえず views.converters.js
にしておきます。
※因みに、$.convertSecToString
はティラノの libs.js
にある関数です。
ありがたく使わせていただきます。余談ですが、libs.js
は面白いです。
js呼び出し
[loadjs]
タグで呼び出します。
定番の first.ks が良いと思います。
[loadjs storage="views.converters.js"]
テンプレート
save.html、load.html に {{SecTo:変数名}}
、{{comma3:変数名}}
と記述します。
例えば、f.playtime
f.money
という変数を表示したいときはこんな感じになります。
{{SecTo:stat.f.playtime}} {{comma3:stat.f.money}}
セーブデータが無い時にエラーが出るので、{{if stat.f}} 等の記述も必要です。
この辺りは「セーブ画面にf.変数を表示する」を参照してください。
その他
- 一回呼び出せば、全てのJsRenderテンプレートで使えます。TIPプラグインでも使えます。
- コンバーター名は大文字小文字を区別します。
- 数値から始まるコンバーター名はエラーになります。
参考サイト
- JsRender(公式)
- JavaScriptテンプレートエンジン「JsRender」のすすめ | 1 pixel
- JsRenderチュートリアル – 独自のコンバータを作る – Do You PHP はてブロ
関連記事
スポンサーリンク