[過去ログ] Delphiゲームプログラミング相談室 (976レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
6
(1): 1 [sage] 01/11/22 12:16 ID:??? AAS
begin
 game := TGame.Create;
 game.Execute;
 game.
end;
286
(2): 名前は開発中のものです。 [sage] 03/05/20 02:17 ID:zL9Q18du(1) AAS
>>285
285(2): 名前は開発中のものです。 [sage] 03/05/20 01:21 ID:mVYsvlCM(1/2) AAS
Bitbltを使ってアニメーションをさせてるんですが、開始すると
アニメーションは割と綺麗に動きますが、実行させてるFormが
非常に重たくなります。Formを移動させようとしようものなら、
かなりガクガクに動くように…(開発環境マシンはP42.53GHzです)
何方か対策をご教授願えれば幸いです。

// TimerのIntervalは500に設定してます。
procedure TForm1.Timer1Timer(Sender: TObject);
begin
image1.Picture.LoadFromFile('C:\001.bmp');
BitBlt(image2.Canvas.Handle,0,0,37,75,image1.Canvas.Handle,0,0,SRCCOPY);
image2.Repaint;
sleep (100);
image1.Picture.LoadFromFile('C:\002.bmp');
BitBlt(image2.Canvas.Handle,0,0,37,75,image1.Canvas.Handle,0,0,SRCCOPY);
image2.Repaint;
sleep (100);
.
.
.
image1.Picture.LoadFromFile('C:\006.bmp');
BitBlt(image2.Canvas.Handle,0,0,37,75,image1.Canvas.Handle,0,0,SRCCOPY);
image2.Repaint;
end;
sleep() でウェイトをかましているからでは。
WINのタスクを独り占めして文字通り眠ったようになりますから。

タイマーとカウンタを使うのはどうでしょう?
TForm1.FormCreate の所で cnt を 1 に設定しておいてから、

procedure TForm1.Timer1Timer(Sender: TObject);
begin
image1.Picture.LoadFromFile('C:\00' + IntToStr(cnt) + '.bmp');
BitBlt(image2.Canvas.Handle,0,0,37,75,image1.Canvas.Handle,0,0,SRCCOPY);
image2.Repaint;
Inc(cnt);
if cnt>6 then cnt:=1;
end;

というのは如何でしょう?
あと、 bmp ファイルは最初にまとめて ImageList へ読み込ませては?
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.041s