[ActionScript 3] 【开源】D5Power RPG网页游戏开发套件



  D5Power™游戏引擎是一套完整的、跨平台的游戏开发工具和框架。包含游戏渲染引擎、位图UI引擎、网络通讯框架、游戏角色拼合工具、UI素材拼合工具、D5Power™游戏引擎编辑器。适用于网页游戏与移动平台游戏开发。
  D5Power™游戏引擎诞生于2007年,作为国内首款免费开源的网页游戏引擎,D5Power™以其清晰的结构、优秀的运行性能、丰富的支持工具而受到广大游戏开发者的关注,成为了解学习游戏开发知识,进行商业游戏开发的首选引擎。其配套的游戏开发社区,目前拥有近23万用户。自2007年引擎的第一个版本(D5DotK)发布以来,已累计下载近50万次,用户遍布全国各地。上海、武汉、福建、杭州、北京等地区均有游戏开发企业/团队采用D5Power™引擎进行网页游戏开发。根据不完全统计,目前D5Power™游戏引擎已为数十款游戏直接或间接提供了技术支持。腾讯等一线游戏平台中,均有采用D5Power™引擎开发的游戏上线。

  同时,D5Power™研发团队也提供了配套的在线培训服务,自2012年在线培训项目开启以来,已累计培训游戏开发人才近200人,为广州菲音、北京菲音、腾讯游戏等企业输送了优秀的游戏开发人才。也有学员在通过培训后自立门户,成为游戏行业的创业者。

  为了大家共同的游戏梦想,我们一直在前行!


下一版本:2.5.2
功能预告:任务编辑器
GoogleCode地址(可从本地址获取项目SVN): http://d5power.googlecode.com
官方网站及讨论区: http://www.d5power.com


[最新版本]2.5.1版本============================
源码打包下载: http://bbs.d5power.com/d5rpg/2.5.1/D5Rpg.rar
编辑器2.5公开测试版: http://bbs.d5power.com/d5rpg/2.5.1/D5Power.exe
角色拼合工具: http://bbs.d5power.com/d5rpg/2.5.1/Character.exe


视频教程:
第一篇:
高清下载:http://www.d5power.com/forum.php?mod=viewthread&tid=3&extra=page%3D1





第二篇:
高清下载:http://www.d5power.com/forum.php?mod=viewthread&tid=18&extra=page%3D1



第三篇:
http://www.d5power.com/forum.php?mod=viewthread&tid=18&extra=page%3D1

960


16130654_3qB8.jpg



分享(0) 收藏(39)

举报




16130655_JIza.jpg

D5Power  16130655_7o6m.jpg

Rank: 8Rank: 8

  • 威望

  • 174 点

  • 义气

  • 281 点

AQ大侠 fouryear AQ小生 紫带金边向日葵勋章六角金星勋章 赤子之心勋章 原创·文采飞扬 游戏开发者

沙发

16130655_broM.gif 发表于 2011-2-18 09:19:30

第一步 创造第一幅游戏地图

2011-02-18 14:20以前下载过开发包的朋友请重新下载。新的开发包增加了本篇教程中使用的素材。

这是第一篇开发指引。
在这篇指引里,我们将使用 MapEditor 地图编辑工具来设计一幅新的游戏地图。

MapEditor支持背景循环地图,和整幅背景图自动切割分块。先来看一下循环背景地图的制作。

在开始本教程前,请确认安装好了MapEditor.

1.jpg 

一、准备素材

我们准备了4个地图元素素材,把它们保存在map1目录中,之后把这里素材包放到MapEditor安装目录的asset\map目录下(你应该看到,已经有一个默认的map0目录了)。
然后运行MapEditor程序
2.jpg 

二、新建地图

通过菜单 文件--》新建来新建一张地图,地图ID为1(因为我们的素材目录为1,如果你想建立其他ID的地图,则提供相应的素材目录即可,否则编辑器会提示找不到资源包)。地图尺寸随意填写,默认为3000X3000,注意不要太大。区块尺寸使用默认的300X300即可。因为我们将使用300X300的循环素材

在这里说明一下,区块的尺寸在循环地图中,即为地砖(循环背景)的大小。而如果你不使用循环背景,而使用全图切割(稍后我会介绍自动地图素材切割器),那么这个区块尺寸将作为单块切割的标准尺寸来使用。

为了地图更加精确,建议地图的总尺寸和区块尺寸都是15的倍数(开发工具中,地图最小区域为15)。
3.jpg 

所有参数填写完成后,点击保存。
4.jpg 

此时,编辑器将自动加载地图ID对应的目录中所有的可用素材:


同时,在config/目录将自动保存一份当前地图的存档:
5.jpg 

三、设置循环背景
6.jpg 

在这里输入loop/n.jpg,这是编辑器默认携带的一个循环背景。点击更新。
7.jpg 

四、增加地图元素
我们可以在资源库列表中点选想增加的资源,该资源会跟随鼠标在地图预览窗口中移动(待建),在地图中选择一个位置后,会把该对象放在地图上。
8.jpg 

你可能注意到,在小地图中有一个白色的方框。你可以通过拖动白色方框的位置,来更改当前地图预览窗口中的镜头位置。并编辑地图元素。

如果不小心点错了元素,使用鼠标右键即可取消待建状态。

在元素编辑状态下,点击元素可以使用地图元素属性调节器。在这里可以控制元素的可视遮盖点,是否参与碰撞检测等。可视遮盖点只要点击元素,会自动进行计算。用于角色在地图中移动时,计算层次的表现。一般设置于元素的底部。可以勾选批量调节来修改场景中同素材的全部元素。

五、编辑障碍点

地图上有一部分是不允许玩家通过的。可以通过障碍点编辑器来进行编辑。点击障碍点编辑图标
9.jpg 

这时,地图预览窗口将铺设障碍点网格。你可以使用鼠标把不希望用户通过的地方点成黑色。同样,可以使用小地图的镜头控制框来修改镜头的位置。
10.jpg 

如果想回到地图元素编辑状态,再次点击障碍点编辑器图标即可。

六、保存地图

使用文件--》保存或另存来保存地图文件。地图文件将使用2进制格式压缩保存以节约空间。文件菜单中的“保存为服务器配置”是一个专门为服务器端提供的保存设置,在这个保存模式中,将不会记录建筑等设置,只保存地图的可通过区域。以2进制形式保存,前2字节为地图宽度,后2字节为地图高度,之后为0或1的序列,用来表示整个地图的可通过设置。

地图配置将自动以当前地图名+_server保存。

七、缩略图

您需要自己制作地图的缩略图,并把它放在地图的元素目录中,命名为main.jpg。地图引擎会自动查找并载入缩略图。只有main.jpg存在,地图引擎才会启用马赛克预加载功能。

八、地图切割器

您可以不设置循环区块,而使用工具--》地图切割器来切割一副大的地图。切割器将根据当前的地图设置自动切割,并生成地图配置文件。生成后,其他的操作是与前面的循环地图一致的。

下一篇使用引导中,我将向大家讲解,如何使用开发包,将目前的地图配置文件还原到游戏场景中。

点评

16130658_Fufe.gif

cyh云端  星战风暴www.xingzhanfengbaoxiaoshuo.net/  发表于 2013-12-20 15:31:16

16130658_bKIA.jpg


举报



16130655_JIza.jpg

D5Power  16130655_7o6m.jpg

Rank: 8Rank: 8

  • 威望

  • 174 点

  • 义气

  • 281 点

AQ大侠 fouryear AQ小生 紫带金边向日葵勋章六角金星勋章 赤子之心勋章 原创·文采飞扬 游戏开发者

板凳

16130655_broM.gif 发表于 2011-2-18 09:19:37

使用开发包还原地图并创建游戏角色

在上一篇开发指引中,我们使用地图编辑器编辑了一个属于自己的地图。但是,这个地图还只能存在于编辑器中,本篇教程将使用开发工具包编写程序,将地图文件渲染出来。

首先,Flash Builder中新建一个ActionScript项目。
1.jpg 

在左边的项目列表中,右键选择新建的项目,然后选择属性(Porperties),选择ActionScript构建路径选项,添加SWC,并选择开发工具包(D5Rpg.swc)
2.jpg 

把地图编辑器中的asset和config两个目录复制,粘贴到刚才新建项目所在的文件目录中的src目录下,现在src目录看起来应该是这样的:
3.jpg 

顺带说一句,这里是没必要每次都把目录全部复制的,比如制作的地图ID为1,那么实际只需要config/map1,asset/tiles/1(如果你使用了地图切割器),asset/map/map1/,asset/loop/n.jpg(如果你使用了循环地图背景,那么需要把循环文件拿过来)。

好了。现在准备工作完成了,接下来,我们只需要一行简单的代码,复原地图并开始渲染,修改你的主文档程序,写入以下语句:
  1. var b:D5Game= new D5Game('map0',stage);

  2.                         addChild(b);

复制代码

D5Game是开发工具包中已经定义好的程序入口,它需要两个参数,第一参数为地图编辑器所产生的地图配置文件名,程序会自动在config/目录下查找文件,第二参数为当前的舞台对象,读取完成后,程序自动开始解释地图文件并开始渲染。现在,程序的运行画面如下:
4.jpg 

特别声明:你必须在bin-debug目录下放置一个Character.swf,才可以让程序正确运行。Character.swf是开发工具包默认的游戏素材库文件,我们将在后续教程中讲解如何构建自己的Character.swf。本篇教程的附件中有一个空的Character.swf文件供测试使用。如果开发工具包找不到这个文件,则程序白屏无法正常运行。

下面,我们将在这个编辑好的地图中创建角色。首先,准备一张角色素材图,并放到asset/目录下,在本例中,我放到了asset/Character/0.png这个路径。注意,角色素材应该是透明的png或者gif图,目前开发包只有光效素材才支持通道混合效果。

在D5Game类中,首先要进行的是系统的初始化工作,包括必要数据加载等。当这些前置工作全部完成后,即会运行init方法,要添加角色,必须等前置工作完成后。因为,我们定义一个D5Game的子类,来覆写init方法,并在这个方法中增加添加角色的代码。在本例中,我继承了一个新类MyWorld,下面是包括角色添加功能在内的全部代码:
  1. package

  2. {

  3.         import com.D5Power.Controler.CharacterControler;

  4.         import com.D5Power.D5Game;

  5.         import com.D5Power.Objects.CharacterObject;

  6.         import com.D5Power.Objects.Effects.Shadow;

  7.         import com.D5Power.Render.RenderCharacter;

  8.         import com.D5Power.basic.GraphicsResource;

  9.         

  10.         import flash.display.Loader;

  11.         import flash.display.LoaderInfo;

  12.         import flash.display.Stage;

  13.         import flash.events.Event;

  14.         import flash.geom.Point;

  15.         import flash.net.URLRequest;

  16.         

  17.         /**

  18.          * 自定义游戏主入口程序

  19.          */ 

  20.         public class MyGame extends D5Game

  21.         {

  22.                 public function MyGame(config:String, stg:Stage)

  23.                 {

  24.                         super(config, stg);

  25.                 }

  26.                 

  27.                 override protected function init():void

  28.                 {

  29.                         super.init();

  30.                         

  31.                         // 加载外部资源

  32.                         var loader:Loader = new Loader();

  33.                         loader.contentLoaderInfo.addEventListener(Event.COMPLETE,buildMy);

  34.                         loader.load(new URLRequest('asset/Character/0.png'));

  35.                 }

  36.                 

  37.                 private function buildMy(e:Event):void

  38.                 {

  39.                         // 获取加载完成的数据

  40.                         var target:LoaderInfo = e.target as LoaderInfo;

  41.                         

  42.                         // 定义角色控制器,第一参数为游戏感知器,第二参数为控制方式,本例使用了纯鼠标控制,控制器默认支持键盘,鼠标两种控制模式

  43.                         var ctrl:CharacterControler = new CharacterControler(_scene.perc,CharacterControler.MOUSE);

  44.                         var c:CharacterObject = new CharacterObject(ctrl);

  45.                         // 定义图形控制器

  46.                         var g:GraphicsResource = new GraphicsResource(target.content,8,9,15);

  47.                         

  48.                         c.graphics = g;        // 指定贴图

  49.                         c.render = new RenderCharacter(); // 设置渲染器

  50.                         c.render.d_buffer = _scene.doubleBuffer; // 设置渲染器的缓冲区

  51.                         c.speed=2;// 移动速度

  52.                         c.setName('D5Power');// 设置用户名

  53.                         

  54.                         c.Pos = new Point(310,408);// 放置坐标

  55.                         

  56.                         _scene.addObject(c);

  57.                         _scene.focus(c); // 镜头注视

  58.                 }

  59.                         

  60.         }

  61. }

复制代码

上述代码已经有了比较详细的注释,不再过多解释。

最后,把刚才使用D5Game类的那段代码,换成我们新写好的MyGame。
  1. var b:MyGame= new MyGame('map0',stage);

复制代码

到现在为止,你已经可以通过地图编辑器编辑自己喜欢的地图,通过开发包还原并创建游戏角色了。在下一篇教程中,我将为大家介绍开发包的其他功能。包括NPC的设置,NPC的专用控制器,影子渲染以及部分特效支持。

附件中为本例的全部源码和编译后的运行效果。附带了例中所使用的素材(切割器切割过的区块)和地图配置文件。



转载于:https://my.oschina.net/u/1777508/blog/368508

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ActionScript 3.0 是一种基于Adobe Flash 平台的编程语言,常用于游戏开发。它具有强大的功能和丰富的库,可实现各种游戏特效和交互方式。以下是关于使用ActionScript 3.0 开发游戏的一些重要信息。 首先,ActionScript 3.0 具有面向对象编程的特性,如封装、继承和多态,这使得游戏开发更加灵活和可扩展。你可以创建各种类型的游戏对象,并根据需要设定它们的属性和行为。 其次,ActionScript 3.0 提供了丰富的图形和动画处理功能。你可以使用内置的绘图库来创建游戏场景、角色和特效,也可以通过使用动画库来制作复杂的动画序列。此外,还可以利用位图和矢量图形进行图像处理和渲染。 除了图形和动画,ActionScript 3.0 还提供了音频和视频处理能力。你可以使用内置的音频库来播放背景音乐和音效,还可以通过外部库或平台来处理视频和流媒体。 另外,ActionScript 3.0 支持网络功能,如Socket 和HTTP 连接等。这意味着你可以开发在线多人游戏,与其他玩家进行实时对战或合作。 此外,Adobe Flash 还提供了一套全面的开发工具和环境,如Adobe Animate 和Flash Builder。这些工具提供了可视化的界面设计、调试和测试的功能,可以帮助开发者更高效地创建和调整游戏。 总而言之,ActionScript 3.0 是一种强大的游戏开发语言,具有丰富的功能和工具。使用它,开发者可以创建出各种类型的游戏,并实现复杂的图形、动画、音频和网络交互效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值