掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ゲームスピードを一定にするには? (ID:9475)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
その後何回か試して見たところ、やっぱりダメでした。 なので、ソースを出させていただきます。よろしくお願いします。 開発環境で(F9)でなくても、起動させていて直接EXEを実行でもスムーズに動きます。 const jikiy=30; type Tjiki = record //自機 x: Integer; zanki: Integer; end; TForm1 = class(TForm) Ura: TImage; Back: TImage; Event: TApplicationEvents; procedure FormCreate(Sender: TObject); procedure gameplay; procedure key; procedure FormDestroy(Sender: TObject); procedure EventIdle(Sender: TObject; var Done: Boolean); private { Private 宣言 } jiki: Tjiki; char,mchar,exp,mexp: TBitmap; Nowtime, Beforetime: DWORD; public { Public 宣言 } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Form1.DoubleBuffered :=True; TimeBeginPeriod(1); Form1.ClientHeight:=480; Form1.ClientWidth:=640; Ura.Height:=Form1.ClientHeight; Ura.Width:=Form1.ClientWidth; jiki.x:=280; //キャラクター char:= TBitmap.Create; char.LoadFromFile('picture\pic.bmp'); mchar:= TBitmap.Create; mchar.LoadFromFile('picture\pic.bmp'); mchar.Mask($00000000); end; procedure TForm1.gameplay; begin //背景を裏画面にコピー BitBlt(Ura.Canvas.Handle,0,0,640,480, Back.Picture.Bitmap.Canvas.Handle,0,0,srccopy); key; //プレイヤーのキー操作 //裏画面を表示 BitBlt(Form1.Canvas.Handle,0,0,640,480, Ura.Canvas.Handle,0,0,srccopy); end; //自機の操作 procedure TForm1.key; begin if GetKeyState(VK_LEFT)<0 then Dec(jiki.x); if GetKeyState(VK_RIGHT)<0 then Inc(jiki.x); //自機操作限定 if jiki.x<0 then jiki.x:=0; if jiki.x>Form1.ClientWidth-64 then jiki.x:=Form1.ClientWidth-64; //自機を裏画面に表示 BitBlt(Ura.Canvas.Handle,jiki.x,jikiy,64,32, mchar.Canvas.Handle,0,0,srcand); BitBlt(Ura.Canvas.Handle,jiki.x,jikiy,64,32, char.Canvas.Handle,0,0,srcinvert); end; procedure TForm1.FormDestroy(Sender: TObject); begin char.Free; mchar.Free; TimeEndPeriod(1); end; procedure TForm1.EventIdle(Sender: TObject; var Done: Boolean); begin NowTime:=timeGetTime; if (NowTime-BeforeTime) < 17 then begin Sleep(1); Done:=False; Exit; end; gameplay; BeforeTime:=NowTime; Done:=False; end; end.
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.