Advanced DrawDelphi , Графика и Игры , DirectX и DelphiXAdvanced Draw
Оформил: XVeL 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 |