コピペで脱出ゲームを作る~文字を表示するよ~

どうも、第七回はじまりです

この先アイテムなりなんなりに入ればどうしたって文字の表示は必要というわけで先にやってしまいましょう
と言っても今回は簡単です、サクッと行っちゃいましょう
まずはこちらを背景の設定の下にでもおいて下さい
上はダメですよ、上から順に表示されるので背景の後ろに文字が表示されて画面上では見えなくなってしまいます


一行目がmessage1という名前のLabelを作るよという宣言、Labelというのが文字のことです
()内が最初に表示される文字ということで、この状態だと空白です

二行めがフォントですね、16pxが大きさなので数字をいじれば大きさが変わります
sans-serifはフォントの種類、特にこだわりがなければこのままでいいかと思います


あとは大丈夫ですね、ところでなんでmessage【1】なんだと思われた方もいるのではないでしょうか?
実はenchant.jsのLabelでは改行ができません(私が調べた限り)
横幅を決めて自動改行は出来るのですがそれでは使いづらい
というわけでmessage2を作って二行めにするんですね
そんなわけでコピペして二行目を作ってください

表示は出来ました、試しに()内をいじってみてください
文字は""で囲んでくださいね


あとはクリックした時文字を変化させればいいわけです
Label名.text = "○○";
これがLabelの中の文字を変化させる文です
試しに左矢印のontouchendにでも挿入してみてください

矢印をクリックしたら文字が変化しましたね?
そんな感じでやっていくわけです

また変数などもLabelに入れられます

これをどこかに入れて移動してみてください
変数basyoの値 だよ と表示されbasyoの変化とともに文字も変化するはずです
このように変数の場合は""はいりません、+で文字列とつなぎ合わせることも可能です
注意:これがある限り他の文字に変えても1フレームで変化されてしまうので試しが終わったら消してください

しかしこのままでは文字が変化しないところをクリックしても前の文字が表示されたままです
たとえば鍵のかかったドアをクリックして「鍵がかかっている」と表示されてから植木鉢をクリックしてるのに「鍵がかかっている」と表示され続けるわけです
これは少々気持ち悪い

というわけで矢印や視点変更のspriteはもちろん背景をクリックしたら文字が消えるようにしましょう
ontouchendの中にLabel名.text = "";と書きましょう

スポンサードリンク



これでいいと思いますが、ついでなのでおまけです

何も無いところをクリックしたら「なにもない」とか表示される物もありますよね
それだけなら背景のontouchendの中をLabel名.text = "なにもない";でいいわけですが(アイテム欄やメッセージ欄を背景でまとめて描いてる場合はその上に別のSpriteを置いてLabel名.text = "";を入れたほうがいいと思います)
何パターンかランダムで表示されるものがありますよね
それについてちょこっとやってみます

※ランダムはswitchより配列を使った方が良いようですので、下に追記します
6行めで変数nanimonaiを宣言します
28行めからクリックした時の反応です
まず前段階で二行文章が表示している場合に備えてmessage2を空白にしてます
そして30行目です、見ただけで拒否反応が出てしまいそうですが、それほど複雑ではありません
先に結果を言ってしまうと変数nanimonaiの値を0・1・2の三つのうちどれかにランダムでするという文です

Math.random()が0から1未満の数字をランダムで作るという意味で、それに3をかけてます

Math.floorが小数点以下を切り捨てにするという意味です

つまり0から0.9999999……のどれかを作り、3をかけて0から2.999999999……のどれかにし、小数点を切り捨てて0・1・2の三つにうちどれかになるというわけです

あとは変数nanimonaiを条件にしたswitch文です
0・1・2で文字を変えればいいわけです

※ここから追記
と、言っていましたがswitchを使うより配列を使った方が良いようです

上で説明した6行目をこの1行めに、ontouchendの中を4行め以降に変えてください

1行めが配列です、配列の右辺に , で区切って並べると左から0,1,2と数字が割り振られます
この場合、配列nanimonai[0]を呼び出せば"特に問題はない"が呼び出されるわけです

そして6行目でmessage1.textに直接入れてしまいます
nanimonaiにランダムの数値を出す式ですが、最後だけ変わってますね
nanimonai.lengthとはnanimonaiの区切られた数という意味です
この場合3個に区切られているので3になります、数字は0,1,2と割り振られていますが個数なので3です
ということで式の結果は前回と同じ0,1,2のどれかになるわけです


といったところで終わり!
ありがとうございました

スポンサードリンク

関連記事
スポンサーサイト

Comment

Comment Form
公開設定

Trackback


→ この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。