AdMobの続きです。
今回のアプリでは、SurfaceView を使用していて、タイトル画面とAdMobの重ね合わせが必要になります。
タイトル画面は画像(pngファイル)で作成されていて、ボタンなどもすべて画像で作成済みの状態です。
(イメージボタンを使えば良かったのかもしれませんが、何故かうまく行かなかったのでOnTouchイベントで処理しています)
タイトル画面との重ね合わせはタイトル画面の view と AdMob の view を FrameLayout で実現できます。
※下のソースコードは、実際のソースコードから抜粋しています。
private FrameLayout flayout;
flayout = new FrameLayout(this); ← FlameLayoutの作成
gm = new GameMain(this , hd); ← ゲーム本体のビュー作成
flayout.addView(gm, new FrameLayout.LayoutParams( ← レイアウトへ追加
FrameLayout.LayoutParams.MATCH_PARENT,
FrameLayout.LayoutParams.MATCH_PARENT));
adview = new AdView(this); ← AdMobのビュー作成
flayout.addView(adview, params); ← レイアウトへ追加
setContentView(flayout); ← 表示の設定
表示するときには、flayoutに対してaddViewを行い、非表示にするときにはflayoutに対してremoveViewを行っています。
冷静に考えればそんなに難しくもないとは思うのですが、なにせ初めてのアプリ作成ということで、
ビューの使い方自体がはっきりわかっていなかったため苦労しました。
重ね合わせで行えば、他のゲームを作るときにも使い回すことができると思うので、
これはこれで良かったのかなぁと思います。
0 件のコメント:
コメントを投稿