![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не отображается спрайт [Delphi, Windows]
greenrul © (2002-09-22 03:56:00)Необходимо вставить в игру вниз "меню", но картинка не появляется. Вот код юнита:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DXClass, DXSprite, DXInput, DXDraws, StdCtrls;
type
TForm1 = class(TDXForm)
DXDraw1: TDXDraw;
DXImageList1: TDXImageList;
DXInput1: TDXInput;
DXSpriteEngine1: TDXSpriteEngine;
DXTimer1: TDXTimer;
procedure DXTimer1Timer(Sender: TObject; LagCount: Integer);
procedure FormCreate(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
type
TMenuSprite=class(TImageSprite)
protected
procedure DoCollision(Sprite: TSprite; var Done: Boolean); override;
end;
procedure TMenuSprite.DoCollision(Sprite: TSprite; var Done: Boolean);
begin
Collision;
end;
procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin
if not DXDraw1.CanDraw then exit;
DXInput1.Update;
DXSpriteEngine1.Move(LagCount);
DXSpriteEngine1.Dead;
DXDraw1.Surface.Fill(0);
DXSpriteEngine1.Draw;
DXDraw1.Flip;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
I:=true;
with TMenuSprite.Create(Dxspriteengine1.Engine) do
begin
PixelCheck := True;
Image := form1.dxImageList1.Items.Find("menu");
x:=10;
y:=10;
z:=2;
Width := Image.Width;
Height := Image.Height;
end;
end;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=VK_ESCAPE then application.Terminate
end;
end.
P.S. - не подскажете как лучше реализовать меню внизу в программном плане (я пока новичок)
Shadow (2002-09-22 16:54:00) [1]А ты уверен, что DXDraw1.CanDraw=true?
И еще, убери DXDraw1.Surface.Fill(0) и посмотри, что получится.
greenrul (2002-09-22 13:29:00) [2]PLEASE HELP!