⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shape2d.dpr

📁 此為國外大名鼎鼎的2D遊戲引擎HGE的Delphi版本 原官方是C++的,現在完全改為Delphi可使用,另外再增加許多單元與功能 新增的單元有HGEImages,HGECanvas,HGEDef
💻 DPR
字号:
program Shape2D;

{$R *.res}

uses
  Windows,
  SysUtils,
  HGEImages,
  HGECanvas,
  Classes,
  HGE;


var
  HGE: IHGE = nil;
  Images: THGEimages;
  Canvas: THGECanvas;
  P:array[0..4] of TPoint;

function FrameFunc: Boolean;
begin
  case HGE.Input_GetKey of
    HGEK_ESCAPE:
    begin
      FreeAndNil(Canvas);
      FreeAndNil(Images);
      Result := True;
      Exit;
    end;
  end;
  Result := False;
end;

function RenderFunc: Boolean;
begin
  HGE.Gfx_BeginScene;
  Canvas.DrawPart(Images.Image['bg2'],0,0,0,0,800,600,$FFFFFFFF,Blend_Default);
  HGE.Circle(100,100,60, ARGB(255,255,0,0), True);
  HGE.Circle(250,100,60,2, ARGB(255,0,255,0),False);
  HGE.Triangle(400,50,350,150,450,150,ARGB(255,0,0,255),True);
  HGE.Ellipse(550,100,80,50,ARGB(255,255,255,0), True);
  HGE.Ellipse(710,100,50,80,ARGB(255,255,0,255), False);
  HGE.Arc(100,250,60,50,300,ARGB(255,0,255,0),True,TRue);
  HGE.Line2Color(200,200,300,300,ARGB(255,255,0,0),ARGB(255,0,0,255),Blend_Default);
  HGE.Line2Color(200,300,300,200,ARGB(255,255,255,0),ARGB(255,0,255,255),Blend_Default);
  HGE.Rectangle(330,200,150,150,ARGB(255,255,0,255),True);
  HGE.Rectangle(510,200,150,150,ARGB(255,0,255,255),False);
  HGE.Quadrangle4Color(50,400,200,400,200,550,50,550,
     ARGB(255,255,0,0),ARGB(255,0,255,0),ARGB(255,0,0,255),ARGB(255,255,255,0),True);
  HGE.Quadrangle4Color(250,400,400,400,400,550,250,550,
     ARGB(255,255,0,0),ARGB(255,0,255,0),ARGB(255,0,0,255),ARGB(255,255,255,0),False);
  P[0]:=Point(550,420);  P[1]:=Point(470,420); P[2]:=Point(420,485); P[3]:=Point(470,550); P[4]:=point(550,550);
  HGE.Polygon(P, ARGB(255,55,255,150), True);
  HGE.Gfx_EndScene;
  Result := False;
end;

procedure Main;
begin
  HGE := HGECreate(HGE_VERSION);
  HGE.System_SetState(HGE_FRAMEFUNC,FrameFunc);
  HGE.System_SetState(HGE_RENDERFUNC,RenderFunc);
  HGE.System_SetState(HGE_USESOUND, False);
  HGE.System_SetState(HGE_WINDOWED,False);
  HGE.System_SetState(HGE_SCREENWIDTH, 800);
  HGE.System_SetState(HGE_SCREENHEIGHT,600);
  HGE.System_SetState(HGE_SCREENBPP,32);
  HGE.System_SetState(HGE_TEXTUREFILTER, true);
  HGE.System_SetState(HGE_FPS,HGEFPS_VSYNC);
  Canvas := THGeCanvas.Create;
  Images := THGEImages.Create;

  if (HGE.System_Initiate) then
  begin
    Images.LoadFromFile('bg2.png');
    HGE.System_Start;
  end
  else
    MessageBox(0,PChar(HGE.System_GetErrorMessage),'Error',MB_OK or MB_ICONERROR or MB_SYSTEMMODAL);

  HGE.System_Shutdown;
  HGE := nil;
end;

begin
  ReportMemoryLeaksOnShutdown := True;
  Main;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -