【無限ガチャアプリ開発話④】
無限ガチャアプリ開発話④
最後に、無限ガチャのアプリ作成での苦労したことをお話ししようと思います。
無限ガチャを開発する中で一番苦労したのは、アルバム機能の作成でした。
取得アイテム一覧ではガチャを回してアイテムを取得すると、自動でアイテム画像が追加されるようになっています。しかし、なぜか2行目以降に取得したアイテムを表示する場合、そのアイテムの画像が1行目のアイテム画像に上書きされる形でしか表示されない問題が発生しました。
下の画像で問題なしがA、問題ありがBになります。
5つ目のアイテムを取得すると次の行に画像が表示されるはずなのに、どうして…と私は三日三晩、悩み続けました。
最終的には解決したのですが、その方法をお話しするにあたって、まずはアルバム機能のレイアウトの仕組みについて説明します。
初期の取得アイテム一覧は、上の図のようには空っぽの状態です。
そこからガチャを回してアイテムが取得されると、別のレイアウトに設定してある①(上記の図を参照)の行を、取得したアイテム数に合わせて1行ずつアイテム一覧にインポートしてきます。
インポートされた①は非表示設定になっており、取得したアイテムで①の元画像を上書きした後、上書きされた画像(=取得したアイテム数)だけ表示に切り替えます。
以上がアルバム機能のレイアウトの仕組みです。
ここで、上書き先の画像を指定するidというものがあます。
①のレイアウトでは、何番目の画像を上書きするか指定するために4つの画像にそれぞれ異なるidを設定していました。
しかし2行目以降が追加された場合、インポートするレイアウトは同じため上書き先の画像を指定するidが1行目のものとかぶってしまいます。
このことが原因で、2行目以降のアイテム画像が1行目のアイテム画像に上書きされてしまうという問題が発生していたのです。
ですので、私は取得アイテムが増えて行をインポートするタイミングで、以下の二つのコードが実行されるようにプログラムに追加しました。
1.動的にidを生成するコード
2.1で生成したidを、インポートした元の画像のものと置き換えるコード
以上の2つを追加することによって、上記の問題が発生することはなくなり、なんとか解決することができました…。
このように、無限ガチャの作成は、当初想定していた何倍も大変でした。
少しでも参考になりそうなインターネット上の記事と、自分の脳みそを掛け合わせてプログラムを作成しながら、吐き出されるエラーに頭を抱える日々でした。
けれど簡単じゃなかったからこそ、その分やりがいがあり完成したときの達成感は大きかったです。
久しぶりに何かを一から作ることの楽しさを感じました。
これからも今回のアプリ作成の経験を活かしながら、プログラミングについてもっと知っていければいいなと思います。
無限ガチャについてのブログは以上になります。
最後までご覧くださり、ありがとうございました!
<おわり>
この記事へのコメントはありません。