Code:
unit __pf_simpleplayer;
interface
uses Windows,
Messages,
SysUtils,
Variants,
Classes,
Graphics,
Controls,
Forms,
Dialogs,
DJXTimer,
DJX,
ExtCtrls,
djxclasses,
d3dx9,
StdCtrls,
DJXFonts,
ComCtrls,
djxlandscape,
djxtextures,
Direct3D9,
djxrender,
djxmeshes,
DJXMaterials,
DJXLights,
__dxtexturemanager;
type tpf_simpleplayer= class
public
constructor create;
procedure render;
private
fdjx: tdanjetx;
ftm: tdxtexturemanager;
fnameintl: string;
fstretch_x,
fstretch_y: single;
fx,
fy: integer;
fpos_x,
fpos_y: single;
fwidth,
fheight: integer;
procedure setdjx(const value: tdanjetx);
procedure setnameintl(const value: string);
procedure settm(const value: tdxtexturemanager);
procedure setstretch_x(const value: single);
procedure setstretch_y(const value: single);
procedure setx(const value: integer);
procedure sety(const value: integer);
procedure setpos_x(const value: single);
procedure setpos_y(const value: single);
published
property djx: tdanjetx read fdjx write setdjx;
property texturemanager: tdxtexturemanager read ftm write settm;
property nameintl: string read fnameintl write setnameintl;
property stretch_x: single read fstretch_x write setstretch_x;
property stretch_y: single read fstretch_y write setstretch_y;
property x: integer read fx write setx;
property y: integer read fy write sety;
property width: integer read fwidth;
property height: integer read fheight;
property pos_x: single read fpos_x write setpos_x;
property pos_y: single read fpos_y write setpos_y;
end;
implementation
{ tpf_simpleplayer }
constructor tpf_simpleplayer.create;
begin
fdjx:= nil;
ftm:= nil;
fwidth:= 32;
fheight:= 64;
fstretch_x:= 1;
fstretch_y:= 1;
end;
procedure tpf_simpleplayer.render;
begin
if fdjx= nil then exit;
if ftm= nil then exit;
if ftm.djxtl.Find(fnameintl)<> nil then begin
//player stretchen
{
ftm.djxtl.Find(fnameintl).Draw4col(
(fx* ftile_width)* fstretch_x,
(fy* ftile_height)* fstretch_y,
(fx* ftile_width)* fstretch_x+ ftile_width* fstretch_x,
(fy* ftile_height)* fstretch_y,
(fx* ftile_width)* fstretch_x+ ftile_width* fstretch_x,
(fy* ftile_height)* fstretch_y+ ftile_height* fstretch_y,
(fx* ftile_width)* fstretch_x,
(fy* ftile_height)* fstretch_y+ ftile_height* fstretch_y,
djxcolor(clwhIte),
djxcolor(clwhIte),
djxcolor(clwhIte),
djxcolor(clwhIte)
);
}
ftm.djxtl.Find(fnameintl).Draw4col(
(fpos_x- fwidth/ 2)* fstretch_x,
(fpos_y- fheight/ 2)* fstretch_y,
(fpos_x+ fwidth/ 2)* fstretch_x,
(fpos_y- fheight/ 2)* fstretch_y,
(fpos_x+ fwidth/ 2)* fstretch_x,
(fpos_y+ fheight/ 2)* fstretch_y,
(fpos_x- fwidth/ 2)* fstretch_x,
(fpos_y+ fheight/ 2)* fstretch_y,
djxcolor(clwhIte),
djxcolor(clwhIte),
djxcolor(clwhIte),
djxcolor(clwhIte)
);
//kreuz auf fpos
fdjx.Primitives2D.Line(fpos_x- 5, fpos_y- 5, fpos_x+ 5, fpos_y+ 5, djxcolor(clwhite));
fdjx.Primitives2D.Line(fpos_x+ 5, fpos_y- 5, fpos_x- 5, fpos_y+ 5, djxcolor(clwhite));
end;
end;
procedure tpf_simpleplayer.setdjx(const value: tdanjetx);
begin
fdjx:= value;
end;
procedure tpf_simpleplayer.setnameintl(const value: string);
begin
fnameintl:= value;
end;
procedure tpf_simpleplayer.setpos_x(const value: single);
begin
fpos_x:= value;
end;
procedure tpf_simpleplayer.setpos_y(const value: single);
begin
fpos_y:= value;
end;
procedure tpf_simpleplayer.setstretch_x(const value: single);
begin
fstretch_x:= value;
end;
procedure tpf_simpleplayer.setstretch_y(const value: single);
begin
fstretch_y:= value;
end;
procedure tpf_simpleplayer.settm(const value: tdxtexturemanager);
begin
ftm:= value;
end;
procedure tpf_simpleplayer.setx(const value: integer);
begin
fx:= value;
end;
procedure tpf_simpleplayer.sety(const value: integer);
begin
fy:= value;
end;
end.
Bookmarks