変数の桁によって表示の位置を変えたい
先ほどぶりです。アサユキです。
先日のCGモードを差分表示にした記事がTwitterでインプレ2000越えしてたのを見て、普段の私のインプレよりはるかに高いので(せいぜい30くらい?)みんな差分表示気になってたんだな~としみじみ思いました。
今回は個人的にメモしておきたいゲーム制作の進捗があったので、覚書です。
今制作中のゲーム画面なんですが、後回しにしていた好感度をチェックできるステータス画面が出来上がりました。
プレイ中のメッセージウィンドウにrollしてあるボタンからsleepgameで飛べます。
(ちなみにこのパーセンテージの数値、ゲーム変数が表示されない~!って数日悩んでたんですが、
数字を表示する前に[s]でゲームを停止させていたという凡ミスが発覚したので穴があったらはいりたい所存です。)
で、この数字MAXが100%何ですが、変数が1桁、2桁、3桁の時によって表示する位置を変えたくて。
だって固定表示にすると、
こうなったり・・・
かといって左側に固定配置すると・・・
こうなって余白がウルトラ不格好じゃないですかー!やだー!
一瞬もう画像で数字作るか……?とか血迷ったんですが、絶対面倒だしデータサイズのことを考えると避けた方がいいなって思ったので、覚えたてのifとelsif,elseを使うことにしました。
;----------------------------------------------------------- *koharu
;進行度が100(3桁)の時
[if exp="f.小春進行度==100"] [ptext layer=1 page=fore text=&f.小春進行度 size=33 x=320 y=467 color=hotpink] @layopt layer=1 visible=true
;進行度が100以外で9よりも大きい時(10~99の2桁の時)
[elsif exp="f.小春進行度>9"] [ptext layer=1 page=fore text=&f.小春進行度 size=33 x=341 y=467 color=hotpink] @layopt layer=1 visible=true
;進行度が100でもなく、10~99でもないそれ以外の時(つまり9~0の1桁の時)
[else] [ptext layer=1 page=fore text=&f.小春進行度 size=33 x=360 y=467 color=hotpink] [layopt layer=1 visible=true] [endif]
;----------------------------------------------------------
こんな感じで条件分岐させることによって座標を変更できるようにしました。
全キャラ分のX値割り出すのしんどかったよ・・・。
多分マイナス値になったり100越えしたりするとレイアウトが崩れるんだろうな…?と思うのですが、
その辺は今回のゲームの仕様上、こちらの管理さえしっかりしていれば問題ないはず。
プレイヤーがアイテムを使ってステータスの値を変えられるようなものだと
もうちょっと手を加えないといけないんだろうけど。
(今思ったけど進行度って何だろう……わかりにくいな……変えようかな…)
変数についてちょっとわかって来たので制作するの楽しいです。
ステータス画面は用意してあったものの、組み方がぼんやりとしかわかってなくて放置してた部分なので
余計達成感があるというか。
出来なかったことができるようになる、思った通りの動きになる、っていう楽しさは
ゲーム制作の醍醐味ですよね!
引き続き頑張ります!
追記:素材配布しました
そうだ忘れていました、何気にMaterialページに新素材配布しました。
自分で作るのは意外と面倒な横線素材です。
(ラグナコードで頻繁に利用してるけど、意外と素材配布が無くて困ったんだよね…)
大き目のサイズで作ってあります。
使用報告とかクレジットとかいらないので、使えそうだったら自由に使ってください。
素材単体での販売、二次配布だけはやめてください。
詳しくはMaterialページの利用規約を読んでもらえれば。
以上です~