procedure TForm1.DGCScreen1Initialize(Sender: TObject); begin //Add car animation DGCSpriteMgr1.Animations.Add('car', True); with DGCSpriteMgr1.Animations[0] do begin SetFrames(0, 100, [0]); SetFrames(2, 100, [1]); SetFrames(4, 100, [2]); SetFrames(6, 100, [3]); SetFrames(8, 100, [4]); SetFrames(10, 100, [5]); SetFrames(12, 100, [6]); SetFrames(14, 100, [7]); SetFrames(16, 100, [8]); SetFrames(18, 100, [9]); SetFrames(20, 100, [10]); SetFrames(22, 100, [11]); SetFrames(24, 100, [12]); SetFrames(26, 100, [13]); SetFrames(28, 100, [14]); SetFrames(30, 100, [15]); end; |
//Add car sprite DGCSpriteMgr1.Sprites.AddRaceCar(0, 320, 360, 8, 4, 0); with DGCSpriteMgr1.Sprites[0] as TDGCRaceCar do begin AllActions := laStopInside; Handling := 50; //try changing this value < 50 = better handling //Also try changing Acceleration/Decelleration end; |
procedure TForm1.DGCScreen1Flip(Sender: TObject); var sx, sy, n: Integer; begin //Draw background image DGCScreen1.Back.Draw(0, 0, DGCScreen1.Images[16], False); //Update the sprites but save car x, y in case hit side of track with DGCSpriteMgr1.Sprites[0] do begin sx := x; sy := y; DGCSpriteMgr1.Update; if DGCScreen1.Back.CollisionTest(0, 0, DGCScreen1.Images[Frame], X, Y, True) then begin X := sx; Y := sy; Speed := 0; end; end; |