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

附件中爲本例的所有源碼和編譯後的運行效果。附帶了例中所使用的素材(切割器切割過的區塊)和地圖配置文件。

相關文章
相關標籤/搜索