1. 程式人生 > >白鷺引擎正式支援微信小遊戲開發

白鷺引擎正式支援微信小遊戲開發

12月28日微信迎來更新,正式上線小遊戲,並開放了小遊戲開發文件和開發者工具。在微信釋出新版本後,白鷺引擎立即添加了對於微信小遊戲開發的支援,開發者只需要使用白鷺引擎的最新版本,通過使用白鷺引擎完整工具流,就可以快速建立、開發與釋出微信小遊戲,而無需過多的關注底層技術細節。

圖片描述

圖片描述

1.如何建立微信小遊戲專案

(1)建立微信小遊戲專案需要您需要下載白鷺引擎最新版本,首先建立一個新的白鷺引擎專案。

圖片描述

(2)建立專案之後,點選專案設定按鈕,將釋出平臺設定為微信小遊戲,並下載白鷺引擎提供的微信小遊戲支援庫 。

圖片描述

(3)最後在專案配置中填寫 appid,projectname等內容後,點擊發布,即可將您的遊戲釋出到微信開發者工具中。

(4)在釋出之後,您可以在到微信開發者工具中預覽及除錯您的遊戲。

圖片描述

2.如何將現有白鷺引擎專案遷移至微信小遊戲

由於微信小遊戲與傳統的HTML5遊戲的底層機制有較大差異,所以使用白鷺引擎開發的 HTML5 遊戲需要一定的開發工作量才能移植為一款微信小遊戲。整體步驟分為三步:

  • 將一款白鷺引擎遊戲升級至 5.1.1 版本;
  • 將該遊戲的釋出目標設定為微信小遊戲;
  • 進行適配性修改。

具體這三步的處理方式如下:

(1)將一款白鷺引擎遊戲升級至 5.1.1 版本

白鷺引擎 5.1 目前暫不支援使用 egret upgrade 命令進行升級,請您下載 5.1 版本後,建立一個 5.1 新專案,然後將現有遊戲邏輯和資源拷貝至新專案中。後續無論是 HTML5 版本,iOS / Android 版本還是小遊戲版本,均使用這個新專案進行後續開發。

如果您的專案使用了 EUI,請將 EUI 的釋出模式設定為 commonjs,並修改您的 ThemeAdapter.ts的實現,具體可以參考 5.1.1 版本建立的新專案的實現方式。
升級至 5.1.1 這一步驟可能佔用您大約兩小時至兩天時間。主要風險在於引擎升級後,也許存在一些渲染錯誤的 BUG,經過了一個多月的內部測試以及多個開發者團隊的反饋,我們已經解決了已知的所有問題,穩定性可以基本保障。但是如果您發現了問題,請及時與白鷺引擎團隊聯絡,並提供可以復現的 Demo,白鷺引擎官方團隊會第一時間處理。

(2)將遊戲釋出目標設定為微信小遊戲

在執行這一步驟前,建議開發者首先建立一個新專案,並將新專案的釋出目標設定為微信小遊戲,將其釋出並確保可以在微信IDE里正確預覽,這樣您會對整個專案結構更加熟悉。

通過白鷺最新的 Egret Launcher ,您可以直接將遊戲釋出目標設定為微信小遊戲,如果您更偏愛命令列的呼叫方式,可以採用如下的呼叫方式:

圖片描述

執行上述步驟之後,您可以使用微信開發者工具開啟專案,就可以看到您的專案了。

(3)進行適配性修改

上述步驟均完成後,您就可以將您的專案遷入微信小遊戲中,為了給終端使用者提供更好的使用者體驗,微信小遊戲對您的遊戲存在一些技術限制,針對微信小遊戲現在公佈的製作標準其進行改造可能佔用您一天至一個星期。具體限制如下:

  • 禁止 eval , new Function 等動態程式碼載入機制,白鷺引擎的 EUI 使用了這種方式,已經通過將主題檔案的釋出策略改為 commonjs 進行了規避,如果您的專案採用了上述動態程式碼機制,需要採用其他方式實現。
  • 微信小遊戲沒有直接執行 JavaScript 檔案的介面,都是通過 require() 方式進行載入,除了禁止動態載入外,require 由於是基於CommonJS 的模組機制,所以不支援全域性物件,如果您的專案中存在了全域性物件的跨檔案訪問,需要設定 window.object1 = object1 這樣的方式強制將特定物件轉為全域性物件。由於白鷺引擎的專案會將您的專案所有檔案編譯為一個檔案,所以這種問題主要出現在 main.js 檔案與其他第三方庫檔案之間的全域性呼叫上。
  • 遊戲總體積不得大於 4M,目前引擎的體積佔用為 800k 左右,目前比較大的佔用是生成的 commonjs 格式的面板檔案,如果您的面板檔案過大導致體積過大,請等待白鷺引擎後續版本的持續迭代優化
  • 如果您的遊戲資源大於4M,可以使用動態載入的機制,動態載入檔案的快取不得大於 50M,如果您的資源總體積可以控制在 50M 以內,只需要將部分資原始檔不放置到專案中即可,但是如果總體積大於 50M,您需要設計資源的快取儲存和釋放策略。再次強調,程式碼檔案必須放在遊戲包中,不可以動態載入。
  • 需要對接微信相關介面,如使用者資訊、社交關係等,具體請參見微信提供的 API 文件與示例。

3.後續路線圖

微信小遊戲上線或將為HTML5行業帶來重要利好,為行業帶來機遇與挑戰,後續發展有待行業從業者共同探索。白鷺科技作為HTML5引擎研發商致力於為開發者提供更為便捷的開發,白鷺引擎後續會與微信團隊進行進一步的技術合作,完善使用白鷺引擎開發微信小遊戲的開發體驗。主要包含:

  • 將微信的檔案讀寫 API 與白鷺引擎資源管理器進行更緊密的整合。
  • 開發效率與工作流優化。

相關推薦

白鷺引擎正式支援遊戲開發

12月28日微信迎來更新,正式上線小遊戲,並開放了小遊戲開發文件和開發者工具。在微信釋出新版本後,白鷺引擎立即添加了對於微信小遊戲開發的支援,開發者只需要使用白鷺引擎的最新版本,通過使用白鷺引擎完整工具流,就可以快速建立、開發與釋出微信小遊戲,而無需過多的關注底

遊戲開發(7)-支援情況和執行環境

一、支援情況 基本上所有基於HTML5的遊戲引擎都是依賴於瀏覽器環境提供的BOM和DOM API,但是小程式是一個不同於瀏覽器的JavaScript執行環境,沒有BOM和DOM API。因此如果要在小遊戲中使用引擎,需要對引擎進行改造。 目前,Cocos,E

遊戲開發之五:為three.js新增物理引擎Physijs

let THREE = require('./three/three') import Physijs from './three/physi' export default class game3d { constructor() { Physijs.scripts.worker

遊戲開發之三:實現遊戲的簡易引擎

一、建立引擎目錄 在主目錄下建立名為'lib'的資料夾,存放引擎程式碼 二、建立所有遊戲元素的基類:Node 在'lib'資料夾下建立'node.js'檔案; 一個元素,需要座標去定義位置,長寬來定義範圍,還需要能夠切換顯示狀態,新增子元素和獲取父元素等等 程式碼如下:

遊戲開發

微信小遊戲開發 遊戲開發 棋牌遊戲開發 嗨。。老板你是不是想找公司開發遊戲項目? 我們就是你一直想找的公司,在此懇請老總你認真看看我的介紹 看是否有你想開發項目,歡迎加我v 信視頻了解我公司能力。 專業開發大型3D遊戲軟件; 定制開發任意模式的系統軟件棋 牌果園莊園牧場遊戲 。聯系方式:

遊戲開發,分銷系統定制開發

微信小遊戲 棋牌遊戲 分銷系統定制 ● 深圳市龍火科技有限公司專業為企業提供一站式手機APP軟件開發,移動APP推廣服務,包括ANDROID APP開發,IOS APP開發,企業APP定制服務,同時提供最全的APP開發流程以及開發方案。 ● 龍火科技自成立以來,已為

遊戲開發筆記

由於 新產品 名稱 creat gpo 思考 1.8 rep 開發者 2017年12月28日,微信更新的 6.6.1 版本開放了微信小遊戲,小遊戲作為一款新產品迅速走向開發者視野,為趕上最新IT潮流,決定通過一款簡單的微信小遊戲來學習小遊戲的基本開發。 由於從未接觸過遊戲開

遊戲開發新手常見問題整理

cal 歷史 alt 整理 引擎 錯誤 出錯 sta 第三方 微信小遊戲一經推出就受到了許多開發者的關註,目前已有2000多款作品上線。我們也在第一時間推出了微信小遊戲適配解決方案,並持續優化改進,同時整理發布了多篇關於使用白鷺引擎開發微信小遊戲的FAQ文章(詳情可查看白鷺

開發記錄】遊戲開發入門——俄羅斯方塊

了解 分享 公眾 lib 不必要 並且 視頻 text box 叨叨   我在前一陣子,打算做一個微信小遊戲,當然是單機的,只是為了了解小遊戲開發的過程,最終選擇了俄羅斯方塊這一經典小遊戲作為demo,源代碼已托管值github,當然,這個遊戲demo對用不並不友好,但是已

遊戲開發入門

什麼是微信小遊戲? 看前幾天的科技新聞,微信中的“跳一跳”小遊戲從去年12月釋出,截至到今年3月份已經積累了3.9億玩家,這是一個多麼恐怖的數字,“跳一跳”遊戲帶火了整個微信小遊戲開發圈。微信小遊戲是個什麼東西呢? 參考一下萬能的百度百科: 微信小遊戲是基於微信客戶端的遊戲,它即

遊戲開發總結

函數 可維護 reat 回收 優點 圖片 commonjs .com 模塊 者有了開發遊戲的能力。小遊戲沒有WXSS、WXML、多頁面等內容,但加了一些渲染、文件系統以及後臺多線程的功能。 小遊戲的運行環境是小程序環境的擴展,基本思路也是封裝必要的 WEB 接

遊戲 - 開發工具安裝 - 官方 Demo 執行

安裝開發工具      有了《微信小遊戲 - 理論介紹 - 賬號註冊 - 開發前準備》小程式帳號之後,需要一個開發工具來進行開發小程式/遊戲。前往 開發者工具下載頁面 ,根據自己的作業系統下載對應的安裝包進行安裝。有關開發者工具更詳細的介紹可以檢

遊戲開發初體驗

1.環境搭建 官網下載安裝nodejs設定目錄,配置環境變數 2.註冊賬號下載下微信官方工具集啟動demo體驗 3.雲開發的版本會提示報錯 雲開發版本專案配置:開啟project.config.json將以下條目正確配置   "projectname":

遊戲開發技巧

在一些時間以前,比如2012年之前,做web遊戲的人還不是很多(就是用javascript寫遊戲的人)。 當時也沒想那麼多,就是為了製作一個「不需要下載,點開就能玩的遊戲」,所以就投入到web遊戲製作的大海中。 但那時很多人都說,「你這些東西看著蠻好玩的,但感覺沒什麼用啊

遊戲開發(11)-檔案系統

檔案系統 檔案系統是小程式提供的一套以小程式和使用者維度隔離的儲存以及一套響應的管理介面。通過wx.getFilesSystemManager()可以獲取到全域性唯一的檔案管理器,所有檔案管理操作通過FileSystemManager來呼叫。 ··· var fs = wx.getF

遊戲開發(10)-音訊播放

小遊戲內只有一種音訊播放的方式,即使用InnerAudioContext來播放。 使用InnerAudioContext播放 通過wx.createInnerAudioContext()介面可以建立一個音訊例項innerAudioContext,通過這個例項可以播放音訊。 ···

遊戲開發(8)-模組化

模組化 小程式提供了CommonJS風格的模組API,可以通過module.expotrs和exports匯出模組,通過require引入模組。 我們在根目錄下新建資料夾src,再在src中新建資料夾util,在util中新建module.js。 |----src | |---

遊戲開發(6)-Adapter

Adapter 小遊戲的執行環境在IOS上是JavaScriptCore,在Android上是V8,都是沒有BOM和DOM的執行環境,沒有全域性的document和window物件。 但通過呼叫微信官方提供的Adapter後,就可以呼叫BOM和DOM的方法了。 所謂的Adapter是一

遊戲開發(5)-全域性物件和檔案限制類型

一、全域性物件 window物件是瀏覽器環境下的全域性物件。 小遊戲執行環境中沒有BOM API,因此沒有window物件。 但是小遊戲提供了全域性物件GameGlobal,所有全域性定義的變數都是GameGlobal的屬性。 console.log(GameGlobal.set

遊戲開發(4)-動畫和觸控事件

一、動畫 在JavaScript中,一般通過setInterval、setTimeout、requestAnimationFrame來實現動畫效果。 微信小遊戲對這些API提供了支援: setInterval() setTimeout() requestAnimationFr