📄 drawscrn.pas
字号:
unit DrawScrn;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DXDraws, DXClass, DirectX, IntroScn;
type
TDrawScreen = class
private
public
CurrentScene: TScene;
constructor Create;
destructor Destroy; override;
procedure KeyPress (var Key: Char);
procedure KeyDown (var Key: Word; Shift: TShiftState);
procedure MouseMove (Shift: TShiftState; X, Y: Integer);
procedure MouseDown (Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure Initialize;
procedure Finalize;
procedure ChangeScene (scenetype: TSceneType);
procedure DrawScreen (MSurface: TDirectDrawSurface);
end;
implementation
uses
ClMain;
constructor TDrawScreen.Create;
var
i: integer;
begin
//dsfflsf
end;
destructor TDrawScreen.Destroy;
begin
inherited Destroy;
end;
procedure TDrawScreen.Initialize;
begin
end;
procedure TDrawScreen.ChangeScene (scenetype: TSceneType);
begin
if CurrentScene <> nil then
CurrentScene.CloseScene;
case scenetype of
stIntro: CurrentScene := IntroScene;
stLogin: CurrentScene := LoginScene;
// stSelectCountry:
// stSelectChr: CurrentScene := SelectChrScene;
// stNewChr:
// stLoading:
// stLoginNotice: CurrentScene := LoginNoticeScene;
// stPlayGame: CurrentScene := PlayScene;
end;
if CurrentScene <> nil then
CurrentScene.OpenScene;
end;
procedure TDrawScreen.Finalize;
begin
end;
procedure TDrawScreen.KeyPress (var Key: Char);
begin
if CurrentScene <> nil then
CurrentScene.KeyPress (Key);
end;
procedure TDrawScreen.KeyDown (var Key: Word; Shift: TShiftState);
begin
if CurrentScene <> nil then
CurrentScene.KeyDown (Key, Shift);
end;
procedure TDrawScreen.MouseMove (Shift: TShiftState; X, Y: Integer);
begin
if CurrentScene <> nil then
CurrentScene.MouseMove (Shift, X, Y);
end;
procedure TDrawScreen.MouseDown (Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if CurrentScene <> nil then
CurrentScene.MouseDown (Button, Shift, X, Y);
end;
procedure TDrawScreen.DrawScreen (MSurface: TDirectDrawSurface);
begin
MSurface.Fill(0);//.Erase(0);
if CurrentScene <> nil then
CurrentScene.PlayScene (MSurface);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -