空想曲線

吉里吉里2/KAG3でのゲーム制作に使える小ネタ置き場。ゲーム用素材も置いてます。

吉里吉里/KAG:ステータスを表示してみよう  

2011-12-07[Wed]
cm0
tb0
吉里吉里/KAGちょいネタ。たぶん10回目。

バトル系や恋愛シミュ系でステータス表示をしたいけど
普通に[emb]タグで変数を表示したら

 攻撃力:120
 防御力:80


↑こうやって左詰め表示されるのがイヤ。
 右詰めにしたい、空いてるところは0で埋めたい(ゼロパディング)
 というときの小ネタ。
まずは、攻撃力と防御力の値を変数にしておきましょう。

; 攻撃力の数値をf.attackという変数にする
[eval exp="f.attack = 120"]
; 防御力の数値をf.defenseという変数にする
[eval exp="f.defense= 80"]

で、右詰め&ゼロパディングで表示
 攻撃力:[emb exp="'%03d'.sprintf(f.attack)"]
 防御力:[emb exp="'%03d'.sprintf(f.defense)"]

sprintfは文字列の整形に使用する関数です。
手前の「%」はつけないといけないモノ、という認識でいいと思います。

その後ろの「03d」では、数字を3ケタで右詰め表示して
空いてるところは「0」で埋めてちょうだいよと命令しています。
右詰めにしたいだけであれば「%3d」と書いてやってください。

また、各ステータスの最小値および最大値には気をつけましょう。
攻撃を受けて、残りの体力が「-50」と表示されてるなんてコトがあります。

( ゜Д゜;)< こいつアンデッドかよ!

と突っ込まれないためにも、条件式を使って0以下にしないよう調整しておきましょう。

あ、でもアンデッドも面白いかも知れないね。
体力が0以下になったらアンデッド化して別能力発動とか。
もちろんそんなの作る予定ないけど。
いいんだよ、言うだけならタダだもの(´∀`*)

余談ですが、こういった「常に表示させておきたい文字列」は
メッセージレイヤではなく、前景レイヤに[ptext]タグを使って記述すれば
[cm]タグでうっかり消してしまう恐れがなくなるのでオススメです。
関連記事

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://kopacurve.blog33.fc2.com/tb.php/169-c4483b56
この記事にトラックバックする(FC2ブログユーザー)

現在のページ

Category

Link

Comment

Mailform

Author

Twitter