📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Anigrp10, StdCtrls, ExtCtrls, Db, DBClient, AMixer,
MPEGPlayer, MPlayer;
type
Tmainform = class(TForm)
floorimg: TImage;
imgFigure: TImage;
figureimg: TImage;
Timer1: TTimer;
Panel2: TPanel;
backimg: TImage;
ClientDataSet1: TClientDataSet;
mainpanel: TPanel;
subpanel: TPanel;
mainimg: TImage;
Imgcuster: TImage;
nameLabel: TLabel;
txtLabel2: TLabel;
txtLabel1: TLabel;
txtLabel3: TLabel;
tempMemo: TMemo;
cnameLabel: TLabel;
ctxtLabel1: TLabel;
ctxtLabel2: TLabel;
ctxtLabel3: TLabel;
backImage: TImage;
bLabel3: TLabel;
bLabel2: TLabel;
bLabel1: TLabel;
Mixer: TAudioMixer;
MPlayer: TMPEGPlayer;
MP3Timer: TTimer;
aviPanel: TPanel;
MediaPlayer1: TMediaPlayer;
wImgyes: TImage;
wimgno: TImage;
wavimg: TImage;
exitimg: TImage;
endplayimg: TImage;
readmeimg: TImage;
autoreadimg: TImage;
saveimg: TImage;
oldgameimg: TImage;
newgameimg: TImage;
procedure AniView1AfterUpdate(Sender: TObject);
procedure AniView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer; GridX, GridY: Single);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure mainimgClick(Sender: TObject);
procedure FigureCollide(Sender, Collider: TObject;
CollisionTye: Integer);
procedure Figure27Collide(Sender, Collider: TObject;
CollisionTye: Integer);
procedure backImageClick(Sender: TObject);
procedure Figure28Collide(Sender, Collider: TObject;
CollisionTye: Integer);
procedure MP3TimerTimer(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure FormActivate(Sender: TObject);
procedure wavimgClick(Sender: TObject);
procedure exitimgClick(Sender: TObject);
procedure readmeimgClick(Sender: TObject);
procedure saveimgClick(Sender: TObject);
procedure oldgameimgClick(Sender: TObject);
procedure newgameimgClick(Sender: TObject);
procedure endplayimgClick(Sender: TObject);
private
procedure scence(ids:integer;roomids:integer);
procedure newgame;
procedure showchat(idc:integer;roomidc:integer;toidc:integer);
procedure showpart(idp,Roomidp:integer;toidp,nop:integer);
procedure showtextpanel(nameid,name,text:string);
procedure hidepanel;
procedure vallf;
procedure intdat;
procedure readoldgame;
procedure savegame;
function readif:boolean;
function saveif:boolean;
procedure PLAYAVI;
{ Private declarations }
public
{ Public declarations }
end;
var
mainform: Tmainform;
Count: integer;
implementation
uses readmeunit;
{$R *.DFM}
var
PID:integer;
PIDD:boolean;
ROOMID:integer;
TOID:integer;
NO:integer;
MODE:integer;
MP3Canplay:boolean;
MP3Count:integer;
NOWNO:integer;
AniView1:TAniView;
AniMap1:TAniMap;
Figure: TAniFigure;
Figure02: TAniFigure;
Figure01: TAniFigure;
Figure03: TAniFigure;
Figure04: TAniFigure;
Figure05: TAniFigure;
Figure06: TAniFigure;
Figure07: TAniFigure;
Figure08: TAniFigure;
Figure09: TAniFigure;
Figure10: TAniFigure;
Figure11: TAniFigure;
Figure12: TAniFigure;
Figure13: TAniFigure;
Figure14: TAniFigure;
Figure15: TAniFigure;
Figure16: TAniFigure;
Figure17: TAniFigure;
Figure18: TAniFigure;
Figure19: TAniFigure;
Figure20: TAniFigure;
Figure21: TAniFigure;
Figure22: TAniFigure;
Figure23: TAniFigure;
Figure24: TAniFigure;
Figure25: TAniFigure;
Figure26: TAniFigure;
Figure27: TAniFigure;
Figure28: TAniFigure;
Figure29: TAniFigure;
Figure30: TAniFigure;
function Tmainform.readif:boolean;
begin
try
if (AniView1.Top=0) and (AniView1.Enabled) then result:=true else result:=false;
except
result:=false;
end;
end;
function Tmainform.saveif:boolean;
begin
try
if (AniView1.Top=0) and (AniView1.Enabled) and (mode<>1) then result:=true else result:=false;
except
result:=false;
end;
end;
procedure Tmainform.scence(ids:integer;roomids:integer);
var
Colors: integer;
I:INTEGER;
begin
bLabel1.Caption:='';
bLabel2.Caption:='';
bLabel3.Caption:='';
intdat;
case roomids of
{===============================================================================}
0: BEGIN
{===================================================================================}
floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\imgtile8.bmp'); {地板}
Colors:=GetDeviceCaps(AniView1.Canvas.handle,NUMCOLORS);
AniView1.Palette:=floorimg.Picture.Bitmap.Palette;
AniMap1.Width:=20;
AniMap1.Height:=45;
with AniMap1 do begin
{地板}
Tile[1]:=floorimg.Picture.Bitmap;
floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\road01.bmp');
Tile[2]:=floorimg.Picture.Bitmap;
floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\road04.bmp');
Tile[3]:=floorimg.Picture.Bitmap;
floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\road05.bmp');
Tile[4]:=floorimg.Picture.Bitmap;
floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\road02.bmp');
Tile[5]:=floorimg.Picture.Bitmap;
floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\road06.bmp');
Tile[6]:=floorimg.Picture.Bitmap;
floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\road07.bmp');
Tile[7]:=floorimg.Picture.Bitmap;
floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\san01.bmp');
Tile[8]:=floorimg.Picture.Bitmap;
floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\san02.bmp');
Tile[9]:=floorimg.Picture.Bitmap;
floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\san04.bmp');
Tile[10]:=floorimg.Picture.Bitmap;
floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\san03.bmp');
Tile[11]:=floorimg.Picture.Bitmap;
floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\pool01.bmp');
Tile[12]:=floorimg.Picture.Bitmap;
floorimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\pool02.bmp');
Tile[13]:=floorimg.Picture.Bitmap;
{扑地皮}
SetGridRange(0,0,AniMap1.Width-1,AniMap1.Height-1,1,True);
{路}
SetGridRange(10,3,10,33,2,True);
SetGridRange(10,29,10,29,4,True);
SetGridRange(10,33,10,33,3,True);
SetGridRange(8,29,9,29,5,True);
SetGridRange(11,28,13,28,5,True);
SetGridRange(7,33,9,33,5,True);
SetGridRange(5,14,5,14,6,True);
SetGridRange(10,28,10,28,7,True);
SetGridRange(4,7,9,7,5,True);
SetGridRange(10,7,10,7,4,True);
SetGridRange(5,11,5,13,2,True);
SetGridRange(5,15,5,16,2,True);
SetGridRange(4,14,4,14,5,True);
SetGridRange(6,14,9,14,5,True);
SetGridRange(10,14,10,14,4,True);
SetGridRange(10,18,10,18,7,True);
SetGridRange(11,18,13,18,5,True);
{山}
GridTile[14,14]:=8;
AniMap1.GridPassable[14,14]:=False;
GridTile[4,1]:=8;
AniMap1.GridPassable[4,1]:=False;
GridTile[17,28]:=8;
AniMap1.GridPassable[17,28]:=False;
GridTile[5,30]:=8;
AniMap1.GridPassable[5,30]:=False;
GridTile[4,23]:=8;
AniMap1.GridPassable[4,23]:=False;
GridTile[14,15]:=9;
AniMap1.GridPassable[14,15]:=False;
GridTile[5,1]:=9;
AniMap1.GridPassable[5,1]:=False;
GridTile[18,28]:=9;
AniMap1.GridPassable[18,28]:=False;
GridTile[3,27]:=9;
AniMap1.GridPassable[3,27]:=False;
GridTile[2,21]:=9;
AniMap1.GridPassable[2,21]:=False;
GridTile[1,2]:=10;
AniMap1.GridPassable[1,2]:=False;
GridTile[18,27]:=10;
AniMap1.GridPassable[18,27]:=False;
GridTile[5,22]:=10;
AniMap1.GridPassable[5,22]:=False;
GridTile[13,15]:=11;
AniMap1.GridPassable[13,15]:=False;
GridTile[2,1]:=11;
AniMap1.GridPassable[2,1]:=False;
GridTile[18,20]:=11;
AniMap1.GridPassable[18,20]:=False;
GridTile[4,29]:=11;
AniMap1.GridPassable[4,29]:=False;
GridTile[10,39]:=11;
AniMap1.GridPassable[10,39]:=False;
{水台}
GridTile[7,23]:=12;
GridTile[5,27]:=12;
{花}
GridTile[6,20]:=13;
GridTile[13,16]:=13;
GridTile[16,30]:=13;
GridTile[1,3]:=13;
GridTile[15,5]:=13;
end;
AniView1.Map:=AniMap1;
Figure.X:=5;
Figure.Y:=35;
Figure.Z:=0;
Figure.CenterX:=9;
Figure.CenterY:=49;
imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy01.bmp');
Figure.Picture[1]:=imgFigure.Picture.Bitmap;
imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy02.bmp');
Figure.Picture[2]:=imgFigure.Picture.Bitmap;
imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy03.bmp');
Figure.Picture[3]:=imgFigure.Picture.Bitmap;
imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy11.bmp');
Figure.Picture[4]:=imgFigure.Picture.Bitmap;
imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy12.bmp');
Figure.Picture[5]:=imgFigure.Picture.Bitmap;
imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy13.bmp');
Figure.Picture[6]:=imgFigure.Picture.Bitmap;
imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy21.bmp');
Figure.Picture[7]:=imgFigure.Picture.Bitmap;
imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy22.bmp');
Figure.Picture[8]:=imgFigure.Picture.Bitmap;
imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy23.bmp');
Figure.Picture[9]:=imgFigure.Picture.Bitmap;
imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy31.bmp');
Figure.Picture[10]:=imgFigure.Picture.Bitmap;
imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy32.bmp');
Figure.Picture[11]:=imgFigure.Picture.Bitmap;
imgFigure.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\humainlxy33.bmp');
Figure.Picture[12]:=imgFigure.Picture.Bitmap;
Figure.SetScript(1,[1,1,1,1,2,2,2,2,1,1,1,1,3,3,3,3]);
AniView1.AddFigure(Figure);
AniView1.SetFigurePos(Figure,5,5,0);
Figure.PlayScript(1,True);
AniView1.SetKeyFigure(Figure);
Figure.Speed:=1.5;
{花园}
figureimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\pack.bmp');
Figure01.CenterX:=60;
Figure01.Centery:=38;
Figure01.Picture[1]:=figureimg.Picture.Bitmap;
AniView1.AddFigure(Figure01);
AniView1.SetFigurePos(Figure01,8,30,0);
{01house}
figureimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\hose4.bmp');
Figure02.CenterX:=56;
Figure02.Centery:=49;
Figure02.Picture[1]:=figureimg.Picture.Bitmap;
AniView1.AddFigure(Figure02);
AniView1.SetFigurePos(Figure02,15,28,0);
{hfhouse}
figureimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\hose7.bmp');
Figure03.CenterX:=63;
Figure03.Centery:=55;
Figure03.Picture[1]:=figureimg.Picture.Bitmap;
AniView1.AddFigure(Figure03);
AniView1.SetFigurePos(Figure03,6,33,0);
{yxhouse}
figureimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\hose1.bmp');
Figure04.CenterX:=51;
Figure04.Centery:=45;
Figure04.Picture[1]:=figureimg.Picture.Bitmap;
AniView1.AddFigure(Figure04);
AniView1.SetFigurePos(Figure04,5,18,0);
{scbhouse}
figureimg.Picture.LoadFromFile(ExtractFilePath(paramstr(0))+'imgdat\hose2.bmp');
Figure05.CenterX:=51;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -