[過去ログ] 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
>>285285(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