1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183:
| unit main;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, ExtCtrls, StdCtrls, DXDraws, DXClass, Menus, DXSprite, ImgList;
type TMainform = class(TForm) Panel: TPanel; StatusBar: TStatusBar; but_start: TButton; DXTimer: TDXTimer; GroupBox_Objects: TGroupBox; MainMenu: TMainMenu; menu_file: TMenuItem; menu_exit: TMenuItem; menu_options: TMenuItem; menu_velocity: TMenuItem; menu_priority: TMenuItem; N1: TMenuItem; Vektoren1: TMenuItem; Bahnen1: TMenuItem; Gitter1: TMenuItem; N2: TMenuItem; Info: TMenuItem; Volllbild1: TMenuItem; menu_fullscreenW: TMenuItem; N3: TMenuItem; RealTime1: TMenuItem; Hoch1: TMenuItem; Hheralsnormal1: TMenuItem; Normal1: TMenuItem; NiedrigeralsNormal1: TMenuItem; Nierig1: TMenuItem; edit_posx: TEdit; edit_posy: TEdit; Edit3: TEdit; Edit4: TEdit; Label2: TLabel; Label1: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Edit1: TEdit; Label9: TLabel; Label10: TLabel; but_physical_info: TButton; Edit2: TEdit; Label11: TLabel; Label12: TLabel; N4: TMenuItem; Neu1: TMenuItem; ImageList: TImageList; DXImageList: TDXImageList; DXSpriteEngine: TDXSpriteEngine; DXDraw: TDXDraw; procedure but_startClick(Sender: TObject); procedure DXTimerTimer(Sender: TObject; LagCount: Integer); procedure menu_fullscreenWClick(Sender: TObject); procedure but_physical_infoClick(Sender: TObject); procedure menu_exitClick(Sender: TObject); procedure InfoClick(Sender: TObject); procedure DXDrawInitialize(Sender: TObject); procedure FormCreate(Sender: TObject); private public end;
TObjekt = class(TImageSpriteex) private public constructor Create(AParent: TSprite); override; end;
TBack = class(TBackGroundSprite) end;
var Mainform: TMainform; Back: TBack; Objekt: TObjekt; ThreadID: DWORD; ThreadHandle: THandle;
implementation
uses grav, info;
{$R *.dfm}
constructor TObjekt.Create(AParent: TSprite); begin inherited Create(AParent); Image := Mainform.DXImageList.Items.Find('Planet'); X := 20; Y := 30; Z := 0; Width := Image.Width; Height := Image.Height; Visible:=True; end;
procedure simulate; begin with Mainform do begin end; EndThread(0); end;
procedure TMainform.but_startClick(Sender: TObject); begin DXTimer.Enabled := true;
end;
procedure TMainform.DXTimerTimer(Sender: TObject; LagCount: Integer); begin DXSpriteEngine.Move(1); DXDraw.Surface.Fill(0);
DXSpriteEngine.Draw; DXDraw.Surface.Canvas.font.color:=clAqua; DXDraw.Surface.Canvas.brush.style:=bsclear; Statusbar.Panels[0].Text := 'FPS: ' + Inttostr(dxtimer.FrameRate); DXDraw.Surface.Canvas.Release; DXDraw.Flip; end;
procedure TMainform.menu_fullscreenWClick(Sender: TObject); begin if Mainform.WindowState = wsNormal then begin Mainform.WindowState := wsMaximized; menu_fullscreenW.Checked := true; end else if Mainform.WindowState = wsMaximized then begin Mainform.WindowState := wsNormal; menu_fullscreenW.Checked := false; end; end;
procedure TMainform.menu_exitClick(Sender: TObject); begin Application.Terminate; end;
procedure TMainform.InfoClick(Sender: TObject); begin Infoform.ShowModal; end;
procedure TMainform.DXDrawInitialize(Sender: TObject); begin Objekt := TObjekt.Create(DXSpriteEngine.Engine); end;
procedure TMainform.FormCreate(Sender: TObject); begin Back := TBack.Create(DXSpriteEngine.Engine); Back.SetMapSize(1,1); Back.Image := DXImageList.Items.Find('Background'); Back.Z := -1; Back.Tile := True; end;
end. |