作ったライブ壁紙(livewallpaper)は、ひとまず動くことになりました。
キャラクターデザインができていないのでまだお見せできるような代物でないんですが・・・
(画面キャプチャを撮るのもめんどくさい。WindowsPCならASM使ってすぐなんですけど・・・Ubuntuなら素直にddms使えばいいのか)
一番最初に動いた時からどこを変えたかというと、背景色をプログラムで塗っていたんですが、やっぱり好きで設定している壁紙を表示してその上にライブ壁紙を表示したいと思って、設定している壁紙を取得して再描画する方法に変更しました。
【変更前】
『キャンバス描画の処理(キャラクタ描画前)』
Canvas c = null;
c.drawColor(Color.rgb(220, 255, 0));
【変更後】
『コンストラクタ内の処理に追加』
private Bitmap img0;
//壁紙を取得
BitmapDrawable wallpaper = (BitmapDrawable) getWallpaper();
img0 = wallpaper.getBitmap();
『キャンバス描画内の処理(キャラクタ描画前)』
//壁紙描画
c.drawBitmap(img0, 0, 0,null);
あと課題として残っているのは、
1.画面をタップしたときの処理の追加
(onToucheventに書けばいいのかなぁ)
2.Window表示時のアニメーションの停止処理の追加
(onVisibilityChangedメソッドでアニメーション停止したらバッテリ長持ちするのかな。)
今すぐ思いつくのはこの辺かなぁ
キャラクターデザインができていないのでまだお見せできるような代物でないんですが・・・
(画面キャプチャを撮るのもめんどくさい。WindowsPCならASM使ってすぐなんですけど・・・Ubuntuなら素直にddms使えばいいのか)
一番最初に動いた時からどこを変えたかというと、背景色をプログラムで塗っていたんですが、やっぱり好きで設定している壁紙を表示してその上にライブ壁紙を表示したいと思って、設定している壁紙を取得して再描画する方法に変更しました。
【変更前】
『キャンバス描画の処理(キャラクタ描画前)』
Canvas c = null;
c.drawColor(Color.rgb(220, 255, 0));
【変更後】
『コンストラクタ内の処理に追加』
private Bitmap img0;
//壁紙を取得
BitmapDrawable wallpaper = (BitmapDrawable) getWallpaper();
img0 = wallpaper.getBitmap();
『キャンバス描画内の処理(キャラクタ描画前)』
//壁紙描画
c.drawBitmap(img0, 0, 0,null);
あと課題として残っているのは、
1.画面をタップしたときの処理の追加
(onToucheventに書けばいいのかなぁ)
2.Window表示時のアニメーションの停止処理の追加
(onVisibilityChangedメソッドでアニメーション停止したらバッテリ長持ちするのかな。)
今すぐ思いつくのはこの辺かなぁ