これも昔からお馴染み、「君の名前は?」イベント。
顔見知りなのに名前を知らない不思議。
Confirmと同じくUIAlertViewで済ませます。
まずは設定ファイル。
story_prompt.json
まずは、「やぁ」とメッセージを表示。
その後テキスト入力用のアラートを表示して、入力内容をkeyに指定されているusername
をキーにNSUserDefaultに保存します。
そして、保存された内容を使ってメッセージを表示します。
アラート表示は以下のような実装。
SJStroyScene.m
メッセージ内にある<username>
は以下の処理で置換されます。
動作確認してみます。
入力。
黒歴史になりがち
表示。
馴れ馴れしい
できました。
ソースコード: sj-prototype-apps/SJRolePlaying at master · tnantoka/sj-prototype-apps
コメント
昔ながらのお使いゲーでお馴染み、はい・いいえの確認。
はいと言うまで前に進ませてくれません。
専用のNodeを作ってもいいのですが、今回は手抜きでUIAlertViewで済ませます。
設定ファイルは以下のとおりです。
story_confirm.json
Yesをタップされるとc1y
、Noをタップされるとc1n
に進むようにします。
SJStroyScene.m
できました。
はいと言うまで許さない
次はテキスト入力を、これもUIAlertViewを使って実装予定。
ソースコード: sj-prototype-apps/SJRolePlaying at master · tnantoka/sj-prototype-apps
コメント
引き続き軽いお題で、設定画面です。
言語の日英切り替えと音のON/OFF、スペシャルサンクスなどを表示します。
コードは単純で、前回作ったSJTapNodeとSKLabelをただ並べているだけです。
1点、コンテンツの高さがシーンより大きくなるので、以下のようにスクロールを実装しています。
完成画面はこちら。
TableView風
今回はあえて、Sprite Kitを使っていますが、UIKit(UITableView)を使った方が確実に楽なので、そちらをオススメします。
ソースコード: sj-prototype-apps/SJRolePlaying at master · tnantoka/sj-prototype-apps
コメント
今回は軽いお題で、タイトル画面を作ります。
リリース時には凝った演出があった方がよいかもしれませんが、現状ではタイトルとボタンを並べるだけです。
ボタンはSJTapNodeというクラスで表現しています。
touchesEnded:withEvent:
が発生した時にdisabledじゃなければ、targetのactionを呼び出す単純なNodeです。
なお、タップ中やdisabled時はcolorBlendFactorを操作してグレーになるようにしています。
SJTapNode
これを以下のようにSJTitleSceneで利用しています。
今は、ボタンをクリックしてもNSLogされるだけです。
ごく単純ですが、これでタイトル画面が表示されます。
質素な画面
次は設定画面を作ります。
ソースコード: sj-prototype-apps/SJRolePlaying at master · tnantoka/sj-prototype-apps
コメント
そろそろお店の中を歩くだけは飽きてきたので、他のシーンに移動したいと思います。
まだまだ足りない機能はあるのですが、今はあくまでプロトタイプなので、細かいのは実際にゲームに組み込む時に実装する予定。
今回からSceneの構成を変更しました。
ベースとしてSJBaseSceneを作成。シーンの情報を定義したjsonファイルの内容を元に、各シーンを読み込みます。
SJBaseScene
以下が今回利用したstory_opening.json
です。
typeがstroy
となっているため、SJStorySceneを読み込みます。
また、nextで設定されているのが遷移先のシーンです。
今回はまだ他のシーンがないため、自分自身を指定しています。
これを以下のように、会話が始まる時にnextSceneプロパティに保持します。
SJStroyScene
そして、メッセージの表示が終わった時に、loadNextSceneを呼び出します。
loadNextSceneは冒頭のSJBaseSceneで定義されているメソッドで、nextSceneが設定されていればそのシーンに遷移します。
SJStroyScene
これで、博士との会話が終わると他のシーンに移動するようになりました。
無限ループ
ソースコード: sj-prototype-apps/SJRolePlaying at master · tnantoka/sj-prototype-apps
コメント