最近一段时间一直使用Asphyre来开发游戏,觉得在DELPHI下使用Asphyre开发游戏,可以让开发速度提高很多。今天我就来写一写如何使用Asphyre来开发游戏。也作为自己的一个总结。
一:安装Asphyre。
Asphyre现在最新版本应该是4.10。不过我使用的是3.10。这个版本可以在DELPHI7下安装。可以去火人的网站下载:
[url]www.huosoft.com[/url]
当你下载并安装了Asphyre310以后就会在DELPHI的组件栏中出现Asphyre的组件页
二:使用Asphyre来开发游戏。
(1)创建一个工程。
并在Form上放置Asphyre组件TAsphyreDevice (MyDevice)、AsphyreTimer (MyTimer)、TAsphyreCanvas (MyCanvas)、TAsphyreImages (MyImages)、TASDb (MyASDB)。
并在Form上放置Asphyre组件TAsphyreDevice (MyDevice)、AsphyreTimer (MyTimer)、TAsphyreCanvas (MyCanvas)、TAsphyreImages (MyImages)、TASDb (MyASDB)。
(2)设置属性。
设置MyASDB属性FileName为My.asdb。文件My.asdb是一个资源文件,它包含了所有游戏中使用到的图片。
(3)编写代码。
在Form的Create中写入初始化代码:
if (not MyDevice.Initialize()) then
begin
Close();
Exit;
end;
begin
Close();
Exit;
end;
在MyDevice的OnInitialize事件中写入代码:
Success:=MyImages.LoadFromASDb(MyASDB);
MyTimer.Enabled:= Success;
MyTimer.Enabled:= Success;
这两行代码的意思是将资源文件加载进MyImages中,并启动组件MyTimer。
在MyTimer的事件OnTimer中写入绘制背景代码
MyDevice.Render(0, True);
MyDevice.Flip();
在组件MyDevice的OnRender事件中开始绘制游戏界面中的各项信息。
//绘制背景
MyCanvas.Draw(MyImages.Image['Gameback.image'], 0, 0, 0, fxBlend);
Draw函数中的含义是MyImages.Image['Gameback.image']是需要绘制的图片名称。此名称必须和ASDB文件中的文件名称一致。
后面两个0,0指的是绘制的实际坐标。
第三个0的意思是指绘制使用的Pattern。这个后面我会说到。
通过上面的代码我们就可以将一副图绘制到FORM界面上。
下面的俄罗斯方块就是我使用Asphyre编写出来的。
以后的几篇文章中,我会对使用Asphyre开发游戏有详细的说明。
本文转自狗窝博客51CTO博客,原文链接http://blog.51cto.com/fxh7622/36993如需转载请自行联系原作者
fxh7622