Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2009, 23:09   #1
DOLBY
Форумчанин
 
Аватар для DOLBY
 
Регистрация: 12.12.2007
Сообщений: 121
По умолчанию Не рисуется спрайт в Delphix

Товарищи программисты, есть проблема. Написал простенькую прогу при помощи компонентов Delphix по аналогии с примерами из DelphiWorld. Эта "прога" должна просто выводить анимированный спрайт на экран в полноэкранном режиме. Проблема в том, что спрайт не выводится на экран.
Помогите пожалуйста.

P.S. вложил файлы проекта.

P.P.S. код:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DXDraws, DXClass, DXSprite;

type
  TForm1 = class(TDXForm)
    DXDraw1: TDXDraw;
    DXSpriteEngine1: TDXSpriteEngine;
    DXTimer1: TDXTimer;
    DXImageList1: TDXImageList;
    procedure FormCreate(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DXTimer1Timer(Sender: TObject; LagCount: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  DXForm1: TForm1;

implementation

{$R *.dfm}

////////////////////////////////////////////////////////////////////////////////
type
  TAsterix = class (TImageSpriteEx)
   constructor Create (AParent : TSprite) ; override;
   procedure DoMove (movecount : Integer) ; override;
  end;

constructor TAsterix.Create(AParent : TSprite) ;
begin
 inherited Create (AParent);
 Image:=DXForm1.DXImageList1.Items.Items[0];
 Width:=Image.Width;
 Height:=Image.Height;
 X:=100;
 Y:=100;
 Z:=0;
 AnimCount:=Image.PatternCount;
 AnimLooped:=true;
 AnimPos:=1;
 Angle:=0;
end;

procedure TAsterix.DoMove(movecount : Integer);
begin
 inherited DoMove(movecount);
 AnimPos:=AnimPos+1;
end;

////////////////////////////////////////////////////////////////////////////////

procedure TForm1.FormCreate(Sender: TObject);
begin
 DXImageList1.Items.MakeColorTable;
 DXDraw1.ColorTable := DXImageList1.Items.ColorTable;
 DXDraw1.DefColorTable := DXImageList1.Items.ColorTable;
 DXDraw1.UpdatePalette;

 DXDraw1.Options := [doFullScreen, doFlip];
 DXDraw1.Width := 1024;
 DXDraw1.Height := 768;
 DXDraw1.Display.Width := 1024;
 DXDraw1.Display.Height := 768;
 DXDraw1.Display.BitCount := 16;
 DXForm1.BorderStyle := bsNone;
 DXDraw1.Left := 0;
 DXDraw1.Top := 0;
 DXDraw1.Cursor := crNone;
 DXDraw1.Initialize;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 case key of
  VK_ESCAPE: Close;
 end; 
end;

procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer);
begin
 if not DXDraw1.CanDraw then
  close;
 DXSpriteEngine1.Move(1);
 DXSpriteEngine1.Dead;
 DXDraw1.Surface.Fill(0);
 DXSpriteEngine1.Draw;
 DXDraw1.Flip;
end;

end.
Вложения
Тип файла: rar Bammers.rar (189.2 Кб, 9 просмотров)
Компьютеры - вещь слишком сложная, чтобы работать в принципе. Поэтому то, что они работают хоть как-то, уже чудо.
DOLBY вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Учебники DelphiX Novice Gamedev - cоздание игр: Unity, OpenGL, DirectX 5 08.12.2011 20:56
DelphiX program123 Gamedev - cоздание игр: Unity, OpenGL, DirectX 7 13.03.2009 15:26
Размер Image изменяется на размер картинки, а сама она рисуется на области первой картинки RPGer Мультимедиа в Delphi 6 20.10.2008 19:54
скачать DelphiX GHO§T Свободное общение 8 28.09.2008 22:25
Обсуждение DelphiX mager Gamedev - cоздание игр: Unity, OpenGL, DirectX 19 13.07.2007 02:57