Loading...

android-group-japan@googlegroups.com

[Prev] Thread [Next]  |  [Prev] Date [Next]

[android-group-japan: 1861 ] Re: 【アドバイスください】canva sについて micco Fri Oct 02 09:03:49 2009

大野さん

ありがとうございます。
miccoです。

確かに全ピクセルを描かないといけないと書いてありますね。
言われてみると、ループ毎に画面全体を描画しているタイトル画面は正常に表示されています。
皆様から色々なアドバイス頂いておりますが、いま開発環境に触れられない状況でして、結果
をご報告できないのが心苦しい限りです。
ご容赦ください・・・。

なかなか奥が深くて、日曜プログラマーには難しいです。
引き続き宜しくお願いいたします。

On 9月30日, 午前1:17, Yasuo Ohno <[EMAIL PROTECTED]> wrote:
> こんばんは。大野と言います。
>
> >以下のような流れ(細かいところは省略しています)でソースを書いているのですが、エミュレーターで実行すると、タイトル状態からプレイ状態に遷移した
> >際、タイトル画像が残ったキャンバスと新たにゲームステージ&自キャラクター画像等が描画されたキャンバスが交互に表示される現象が生じます。
>
> 内部的にDouble Buffer化されていて、PostはFront BufferとBack Bufferを入れ替えているだけ。
> lockCanvasはBack Bufferを取得しているだけと考えると動作に納得いくかなと思って検索したら
> 下記のページが見つかりました。http://groups.google.com/group/android-developers/msg/8d1243c33f9b7b6e
> ※ 斜め読みしかしてないんで、、、もし間違っていたらすいません。
>
> >どうしたらこういう状態になるのか分からないので、どの部分が問題か想像することもできずに困っております。
> >holder.lockCanvas()で最新ビューのcanvasが取得できると理解しており、そのcanvas上で画像表示を繰り返しているだけで
> >すので、何故2つのcanvasが交互に取得されるのか全く理解できない状況です。
>
> http://developer.android.com/reference/android/view/SurfaceHolder.htm...()
>
> The content of the Surface is never preserved between unlockCanvas() and
> lockCanvas(), for this reason, every pixel within the Surface area must be
> written. The only exception to this rule is when a dirty rectangle is
> specified, in which case, non dirty pixels will be preserved.
>
> Dirty rectangleが定義されていない限りは全PixelをUpdateしなければならないようです。
>
> http://developer.android.com/reference/android/view/SurfaceHolder.htm...)
>
> こちらを使って更新したい場所を指定するようにしてみるのはいかがでしょうか?
>
> ご参考になれば幸いです。
> はずしてたら すいません。
>
> ==
> Yasuo Ohno
--~--~---------~--~----~------------~-------~--~----~
このメールは次の Google グループの参加者に送られています: 日本Androidの
会
 このグループにメールで投稿: [EMAIL PROTECTED]
 このグループから退会する: [EMAIL PROTECTED]
 その他のオプションについては、次の URL からグループにアクセスしてくださ
い。 http://groups.google.co.jp/group/android-group-japan?hl=ja
-~----------~----~----~----~------~----~------~--~---