- - PR -
pictureBox を使用したアニメーション
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-06-23 18:06
今、背景画像の上にImageを描画し、そのImageが動くものを作ろうとしています。
一般的にはどのように行うのでしょうか? 1.背景をFormのBackgroundに設定し、動かす画像をpictureBoxのImageに設定。 TimerでpictureBoxのtopとleftをインクリメントしてみました。 →もわ〜んとした感じでスムーズではなかったです。 2.大きいpictureBoxのbackgroundに背景を設定し、動かす画像をGraphicsクラスの DrowImageを使用して描画する。Timerを使用し、表示する位置を変えて動くように見せる。 →残像が残る。Clearがありましたが、色で塗りつぶすと書かれていました。 BackgroundがImage画像なので単色塗りつぶすのは使えません。 BackgroundのImageをnullにし、Backgroundを再描画し、 さらに動かす画像をDrowImageするのがいいのでしょうか? それとも、動かす画像の位置付近を、背景画像の一部を切り抜いて 描画し、その上に動かす画像を描画するのがいいのでしょうか? 3.上記以外。 いろいろネットで検索をしていたら、マスクの画像を容易して・・・ というのもありました。このばあいどのようにするのがいいのか 教えていただけないでしょうか? よろしくお願いします。 | ||||||||||||
|
投稿日時: 2006-06-23 18:53
書き忘れてしまいました。
C#(vs.net 2003、.netframework 1.1)を使用しています。 | ||||||||||||
|
投稿日時: 2006-06-24 08:53
2番の方法ですが、以下の様にしてませんよね?
してたら、残像か残るのは当然ですが・・・ 通常、以下のコードでいいと思います。
#ちらつきが目立つのであれば、ダブルバッファリングの処理を追加してください。 [ メッセージ編集済み 編集者: 深山 編集日時 2006-06-24 08:55 ] | ||||||||||||
|
投稿日時: 2006-06-24 21:42
深山さんありがとうございました。
うまく表示されました。 ちらつきが目立ったため、ダブルバッファリングを調べてみました。 このような制御方法があるとは知りませんでした。 NET Framework 1.xでも設定可能みたいなので これから試してみます。 本当にありがとうございました。今からわくわく気分です。 |
1