"You'll never really learn to swear until you get a computer."
-- Unknown
Guys, this quote applies to me!!! :x
I have a background sprite with a sprite on top of it which is supposed to move but I can't seem to get it right. Help please :-)
Code:
unit GameU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DXDraws, DXClass, DXSprite, DXInput, GifImage;
type
TForm1 = class(TDXForm)
DXDraw1: TDXDraw;
DXImageList1: TDXImageList;
DXTimer1: TDXTimer;
DXSpriteEngine1: TDXSpriteEngine;
DXInput1: TDXInput;
procedure DXDraw1Initialize(Sender: TObject);
procedure DXTimer1Timer(Sender: TObject; LagCount: Integer);
procedure DXDraw1Finalize(Sender: TObject);
procedure DXDraw1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DXDraw1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
procedure BackGround;
procedure BallCreate;
{ Private declarations }
public
{ Public declarations }
end;
// The BackGroundClass
TBackground = class(TBackgroundSprite)
end;
//This is the ball class
TBall = class(TImageSprite)
private
public
procedure DoMove(MoveCount: Integer); override;
end;
var
Form1: TForm1;
Ball : TBall;
SBackground : TBackground;
BallisDead : Boolean;
MoveLeft, MoveRight : boolean;
implementation
{$R *.dfm}
Procedure TForm1.BackGround;
begin
SBackground := TBackground.Create (form1.DXSpriteEngine1.Engine);
with SBackground do
begin
image := form1.DXImageList1.Items.Find('skytree');
image.Transparent := false;
SetMapSize(1,1);
Z := -10;
Tile := false;
end;
end;
procedure TForm1.BallCreate;
begin
Ball := TBall.Create(DXSpriteEngine1.Engine);
ball.Image := DXImageList1.Items.Find('Test');
ball.X := 30;
Ball.Y := 130;
Ball.Width := Ball.Image.Width;
Ball.Height := Ball.Image.Height;
Ball.PixelCheck := False;
end;
procedure TBall.DoMove(MoveCount : integer);
begin
if MoveRight then
x := x + 50;
if MoveLeft then
x := x - 50;
end;
procedure TForm1.DXDraw1Initialize(Sender: TObject);
begin
BallCreate;
background;
dxTimer1.Enabled := true;
end;
procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin
if not DXDraw1.CanDraw then Exit;
DXInput1.Update;
DXSpriteEngine1.Move(1);
DXSpriteEngine1.Draw;
DXDraw1.Flip;
end;
procedure TForm1.DXDraw1Finalize(Sender: TObject);
begin
dxTimer1.Enabled := false;
end;
procedure TForm1.DXDraw1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = vk_Left then MoveLeft := true;
if Key = vk_Right then MoveRight := True;
end;
procedure TForm1.DXDraw1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_LEFT then moveleft := False;
if key=VK_RIGHT then moveright := False;
end;
end.
Bookmarks