[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

960php




分享(0) 收藏(39)网络

举报框架




D5Power  编辑器

Rank: 8Rank: 8

  • 威望ide

  • 174 点工具

  • 义气oop

  • 281 点post

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

沙发

 发表于 2011-2-18 09:19:30

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

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

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

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

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

1.jpg 

1、准备素材

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

2、新建地图

经过菜单 文件--》新建来新建一张地图,地图ID为1(由于咱们的素材目录为1,若是你想创建其余ID的地图,则提供相应的素材目录便可,不然编辑器会提示找不到资源包)。地图尺寸随意填写,默认为3000X3000,注意不要太大。区块尺寸使用默认的300X300便可。由于咱们将使用300X300的循环素材

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

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

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

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


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

3、设置循环背景
6.jpg 

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

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

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

若是不当心点错了元素,使用鼠标右键便可取消待建状态。

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

5、编辑障碍点

地图上有一部分是不容许玩家经过的。能够经过障碍点编辑器来进行编辑。点击障碍点编辑图标
9.jpg 

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

若是想回到地图元素编辑状态,再次点击障碍点编辑器图标便可。

6、保存地图

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

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

7、缩略图

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

8、地图切割器

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

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

点评

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


举报



D5Power  

Rank: 8Rank: 8

  • 威望

  • 174 点

  • 义气

  • 281 点

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

板凳

 发表于 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的专用控制器,影子渲染以及部分特效支持。

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

相关文章
相关标签/搜索