ゲームを作っています。
PictureBoxの中に敵キャラの画像と自分が操作する画像を表示させています。
敵キャラの画像は0.1秒につき1回動くようにしてるのですが、
自分が操作するキャラを動かし続けると、敵キャラが映らなくなってしまいます。
//using System.Drawing; //描画先とするImageオブジェクトを作成する Bitmap canvas = new Bitmap(PictureBox1.Width, PictureBox1.Height); //ImageオブジェクトのGraphicsオブジェクトを作成する Graphics g = Graphics.FromImage(canvas); //画像ファイルを読み込んで、Imageオブジェクトとして取得する Image img = Image.FromFile(@"C:\test\1.bmp"); //画像をcanvasの座標(20, 10)の位置に描画する g.DrawImage(img, 20, 10, img.Width, img.Height); //Imageオブジェクトのリソースを解放する img.Dispose(); //Graphicsオブジェクトのリソースを解放する g.Dispose(); //PictureBox1に表示する PictureBox1.Image = canvas;
【引用】
http://dobon.net/vb/dotnet/graphics/drawimage.html
[描画先とするImageオブジェクトを作成する] のところの
canvas を2つ作って 敵キャラと自キャラを分けています。
同じ canvas 内だと、画像はちらつかないのですが、
「追加情報:オブジェクトは現在他の場所で使用されています。」
というエラーが出たのでうまくできませんでした。
また、【C#におけるダブルバッファリング(画像表示の場合)】
http://home.a00.itscom.net/hatada/csharp/image/doublebuffering01.html
も試してみたのですが、改善しません。
自分が操作するキャラを動かすと、敵キャラが映らなくなってしまうこの現象の
なにか上手な解決策はありませんか?

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/24 16:18