Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Advanced Draw

Delphi , Графика и Игры , DirectX и DelphiX

Advanced Draw

Оформил: XVeL
Автор: Daddy
WEB-сайт: http://daddy.mirgames.ru

Кручу-верчу, обмануть хочу, или как использовать продвинутые методы вывода спрайтов. В классе TSprite есть три метода: DoDraw, DoCollision и DoMove Чтобы заставить спрайт созданный таким образом:
TPlayer = class(TImageSprite)
end;
выводится через продвинутые методы (DrawRotate, DrawAplha, DrawSub, DrawWave, StretchDraw), нужно "заглушить" стандартный вывод при создании объекта. Вот так:
type
   THero = class(TImageSprite)
      Angle:integer;
   protected
      procedure DoCollision(Sprite: TSprite; var Done: Boolean); override;
      procedure DoMove(MoveCount: Integer); override;
      procedure DoDraw; override; // вот здесь
   end;
Теперь в процедуре DoDraw выводим спрайт нужным нам способом. Вот так:
procedure THero.DoDraw;
begin
   image.drawrotate(form1.DXDraw.Surface,round(x)+16,round(y)+16,image.width,image.height,round(animpos),0.5,0.5,Angle);
end;
Посмотрите этот dodraw.zip примерчик, для более ясного понимания. А теперь недокументированная фишка! Забываем то, что написано выше и читаем дальше. Cоздадим спрайт таким образом:
TPlayer = class(TImageSpriteEx)
protected
   procedure DoMove(MoveCount: Integer); override;
end;
И теперь в процедуре DoMove можно задать Angle (угол поворота спрайта) и Alpha (прозрачность спрайта). Примерно так:
type
   THero = class(TImageSpriteEx)
      Angle:integer;
   protected
      procedure DoCollision(Sprite: TSprite; var Done: Boolean); override;
      procedure DoMove(MoveCount: Integer); override;
   end;

procedure TPlayer.DoMove(MoveCount: Integer);
begin
   X:=100;
   Y:=100;
   Angle:=60;
   Alpha:=150;
end;
Дерзайте!

В статье описывается использование продвинутых методов вывода спрайтов в программировании с помощью классов TImageSprite и TImageSpriteEx, а также демонстрируются примеры использования этих методов для изменения угла поворота и прозрачности спрайта.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: DirectX и DelphiX ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 11:32:43/0.0046050548553467/1