https://github.com/takishita2nd/FarmGame/tree/develop
まずはレシピデータの作成。
これは今はコードの中に書いてありますが、後々外部データに書き換わります。
これはJsonになるかな。
今回作成したのは、作物から種を作成するレシピ。
農場で小麦を栽培して、収穫した小麦が、工房では小麦の種を作成可能、という状態になっています。
次は実際のアイテム作成画面を作成していきます。
https://github.com/takishita2nd/FarmGame/tree/develop
まずはレシピデータの作成。
これは今はコードの中に書いてありますが、後々外部データに書き換わります。
これはJsonになるかな。
今回作成したのは、作物から種を作成するレシピ。
農場で小麦を栽培して、収穫した小麦が、工房では小麦の種を作成可能、という状態になっています。
次は実際のアイテム作成画面を作成していきます。
https://github.com/takishita2nd/FarmGame/tree/develop
前回作成した画面を元に、
アイテムの蘭をクラス化して、アイテムと個数を表示させました。
ページネーションも表示アイテム数に合わせて表示を変えています。
ページ切り替えの処理は後で実装します。
アイテム作成できるかどうかの判定処理は次回実装します。
(レシピデータを作成しないといかん)
https://github.com/takishita2nd/FarmGame/tree/develop
とりあえず、画面に部品を配置してみました。
前回の絵では5×2で書いていましたが、結構スペースが余ったので、7×2にしました。
これなら問題はなさそうです。
これで行きましょう。
https://github.com/takishita2nd/FarmGame/tree/develop
一画面に2×5のボタンを配置する。
画像には作成できるボタンだけクリックできるようにすると書いてあるけど、
クリックは全ボタン押下可能で、作成可能なボタンだけ色を変えるようにしたい。
作成できないボタンはクリックすると、必要な材料が表示される感じ。
クリックすると、必要な材料と消費パワーを消磁して、作成をクリックすると作成を行う。
こんな感じで行こうと思います。
https://github.com/takishita2nd/FarmGame/tree/develop
これまでは種データやアイテムデータをコードに直に書いていました。
でもこのままでは、アイテム追加をするときにプログラム本体を更新しなければならず、
何かとめんどくさいので、
外部ファイルで入力するようにしました。
データ構造は複雑なものではないので、jsonではなく、csvにしました。
これでToDoリスト一個完了。
https://github.com/takishita2nd/FarmGame/tree/develop
ちょっと表示を修正しました。
まず、収穫時に獲得できるアイテムの数を2~5にしました。
あと、改行を入れることによって、3行まで表示できるようにしました。
あ、縦幅足りないや。
あとで修正します。
そして、収穫したアイテム数を保持するようにしました。
次回以降は、このアイテムを種化する部分。
工房画面で実行するようにします。
あと、アイテムデータを外部データ化しないと、そろそろきつい。
https://github.com/takishita2nd/FarmGame/tree/develop
ようやく収穫まで出来ました。
頑張った。俺。
まだまだ細かい所を修正しなくちゃいけないし、
まだ全体の機能としては足りていませんが、
ようやく一区切り付いた感じがします。
今後やること。
https://github.com/takishita2nd/FarmGame/tree/develop
このプロジェクト始めて一番ハマったかもしれない。
まず、「次の日」クリックでデータの更新を行うことは出来たけど、
それをどうやって画面に表示するか、で躓きました。
画面下と右の共通ボタンからシーンのUIデータを更新する手段がないので、
シーンに共通のインターフェースを実装させ、共通ボタンにそのシーンを渡すことでUIの表示を拘引することに成功。
あと、作物の絵が消えてしまうと言う現象もありましたが、
今考えれば、たぶん、画像のクリッピング処理が間違ってたんだなぁ。
単純なミスであっても、それに気がつくのに時間がかかってしまう。
プログラミングあるあるです。
https://github.com/takishita2nd/FarmGame/tree/develop
前回作成した警告ダイアログをクラス化して、一括ボタンを押したとき、パワーが足りなければ、警告ダイアログを表示するようにしました。
これでこの画面の基本的な機能は実装完了しました。
次はターン更新時の処理を実装していこうと思います。
https://github.com/takishita2nd/FarmGame/tree/develop
一括ボタンを押したときに、
実行するのに体力が足りない場合は、アラートを表示して実行しないようにしたいと思います。
で、今回はそのテスト表示。
フリー素材の画像をダウンロードして、
https://kopacurve.blog.fc2.com
画像を9分割して横長、縦短に加工して表示させてみました。
ちょっと色がいまいちだけど、言い素材がなかった物で、
言い素材が見つかったら差し替えます。
それと、ページングで文字が消える件も、
畑の数を5の倍数で固定することで解消されました。
なので、ページング処理も簡潔化しました。
こんな感じで引き続きコーディングしていきます。