LayaAir示例項目源碼編譯運行指南

2020-12-12 Charley話遊戲

由於一些開發者不知道如何去使用和編譯Github上的源碼示例,本篇將引導開發者去使用Github上的DEMO。這對於引擎初學者,快速了解引擎API與引擎示例效果會有著幫助。

一、克隆 LayaAir源碼項目到本地

先安裝好Git環境,不會的可以自行百度搜索一下,這裡就不展開了。然後clone(克隆)LayaAir源碼倉庫到本地。

git clone https://github.com/layabox/LayaAir.git二、通過npm安裝LayaAiri源碼環境依賴包

因為我們需要用到npm安裝一些LayaAir引擎源碼開發編譯的依賴環境。

基礎的Node環境npm,需要提前安裝好。沒安裝好的,要看一下官網文檔,進行安裝:

https://ldc2.layabox.com/doc/?nav=zh-ts-1-0-0

當我們進入clone後的LayaAi源碼本地根目錄後,需要通過命令行環境來安裝依賴包,操作如下圖所示:

然後在命令行下,執行npm install命令,如下圖所示:

由於引擎根目錄中有package.json文件,所以npm install會自動執行安裝package.json中指定的依賴包。

如上圖所示,在安裝的過程會有一個警告,那是安裝依賴包所使用的第三方依賴,可以不用管。不影響使用。

三、引擎使用示例目錄說明

引擎的源碼目錄可以用VSCode打開,示例目錄位於 源碼根目錄/src/samples/ 目錄下,如下圖所示。

在上圖中,index.ts是示例的入口文件,2d與3d目錄分別對應著引擎的2D與3D示例。

由於引擎源碼是TS語言的,所以示例也是基於TS源碼的示例。如果想看AS3與JS示例,可以前往官網的開發者中心,查看線上示例。

示例的資源文件位於源碼根目錄/bin/res/,如下圖所示:

四、如何運行查看LayaAir引擎示例

為了驗證我們的編譯與項目環境沒有問題,我們先把默認的示例給編譯運行起來看一看。

由於引擎源碼目錄中,已經配置好gulp任務,可以直接在VSCode中通過 Ctrl + Shift + B 運行gulp任務(gulp:LayaAirBuild),啟動編譯。如下圖所示:

當然,我們也可以在VSCode中通過F5或者Ctrl + F5,自動啟動gulp任務,進行代碼的編譯。

效果如下圖所示:

無論哪種方式,編譯完成之後,

我們從VSCode終端命令行,通過 cd bin進入bin目錄,然後通過anywhere命令啟動一個web伺服器。

操作如下圖所示:

web服務啟動後,會彈出瀏覽器,打開web服務的根目錄bin,效果如下圖所示:

indexTSC.html是入口頁面,直接點擊就可以打開我們默認的示例。

效果如下圖所示:

如果我們編譯沒有問題,打開indexTSC.html頁面,就會看到上圖一樣的示例效果。

點擊兩個效果列表,我們就可以切換查看到別的示例。點擊下拉列表右側的下箭頭按鈕,可以快捷切換到下一個示例效果。

五、切換官方的3D和2D示例

默認的示例,我們通過切換查看示例效果,會發現官網上的3D示例效果全都有,為什麼沒有2D的呢?

其實是有的,需要修改代碼,切換到2D示例,就可以查看了。

由於運行的代碼入口是index.ts,打開後會發現只有兩行

import{Main}from"./Main";newMain();通過代碼,我們可以看出,默認引入了示例目錄下的main.ts,並實例化了Main類。

這個類,其實包括了Layabox官網上所有的2D與3D線上示例。

我們只需要在實例化Main類的時候,傳入構造方法的參數,就可以切換為2D示例效果。

index.ts修改後的代碼如下所示:

import{Main}from"./Main";newMain(false);再次編譯運行後,效果如下圖所示:

六、切換到指定示例或者自己的示例

如果我們想調試某個指定的示例,或者自己寫的示例。

那直接在入口index.ts中實例化對應的類就可以了。

例如,實例化反射探針的示例,我們就直接去new ReflectionProbeDemo();即可,

編碼效果如下圖所示:

然後,再次編譯運行,效果如下圖所示:

七、如果出現引用路徑錯誤的解決方案

在編寫自定義示例時, 如果出現VSCode自動引用路徑錯誤的現象,如下圖所示:

需要檢查 TypeScript版本,如下圖所示:

推薦使用 3.7.X 版本的TypeScript,可以自動引用補全正確路徑。

END

引擎案例分享:

聊聊電商圈成功的遊戲跨界案例3D研發經驗分享:50多款3D小遊戲的炫稷遊戲創始人程銀斌分享3D研發經驗!3D技術分享:有著30多款3D小遊戲產品的長沙嗨鹿互動科技資深研發工程師分享3D遊戲研發經驗132款3D跑酷極限運動主題的微信小遊戲分享LayaAir引擎78款3D射擊主題微信小遊戲分享,看看玩過幾款!

相關焦點

  • Spring源碼解析之源碼的下載編譯
    老粉應該知道了,筆者最近剛上架技術生涯的第一本書《Java源碼模擬面試解析指南 》。於是趁著年輕時還有時間修福報,準備再做一個 Spring源碼面試指南。相比於之前是直接閱讀引入jar包的方式來研讀 JDK 源碼,由於框架源碼的複雜性及強可插拔性,一般將源碼編譯到本地,由此便可以邊研讀源碼邊加自由地注釋,方便調試程序等。首先進入 spring 官方倉庫,fork 一份倉庫到自己帳號下,方便自己提交。
  • LayaAir2.8新增適配華為快遊戲!
    開發者開發一次即可將應用分發到所有支持行業標準的手機運行。華為快遊戲支持將現有HTML5遊戲項目通過LayaAirIDE,直接發布打包成快應用形式進行發布。在華為GPU Turbo手機運行時速度更快,更省電。
  • 教你如何在Mac系統下編譯Android系統的源碼
    本篇來自 qqdds 的投稿,主要講解了如何在Mac系統下編譯Android源碼,希望大家喜歡。這就導致了對於很多的問題其實是知其然不知其所以然,所以從現在開始我下定決心開始學習Android的源碼。那說到源碼就必須提到編譯源碼這件事情。
  • hive之編譯源碼
    使用maven來進行源碼,真的是靠運氣,特別是你網絡很差的情況下,再特別是你沒有本地庫的時候,靠運氣吃飯。。。
  • 反編譯SO文件到C源碼
    1、下載IDA Pro,我用的是6.8的版本,解壓後,有idaq.exe、idaq64.exe兩個可執行文件,分別用於反編譯32位、64位的so的so文件。IDA工具2、打開IDA,將需要反編譯的so文件拖到IDA中,在彈出的」load a new file」窗口中, 選擇」ELF for ARM(Shared object)[elf.ldw]」選項,然後再點擊ok按鈕。
  • Layabox率先完成bilibili小遊戲的適配與IDE發布,LayaAir 2.6.1...
    在Layabox與B站攜手努力下,如今,Layabox率先讓基於LayaAir引擎的產品可以在B站小遊戲平臺中運行起來,讓更多的開發者可以快捷的接入到B站小遊戲平臺,讓B站用戶可以體驗到更多優質遊戲。1.x LayaAirIDE官網下載地址 :https://ldc.layabox.com/layadownload/?
  • 能跑源碼,還提供數據集:這裡有一個入門企業級驗證碼識別項目
    在項目中運行 app.py 來啟動 GUI 的界面訓練項目源碼:https://github.com/kerlomz/captcha_trainer編譯版下載地址:https://github.com/kerlomz/captcha_trainer/releases部署項目源碼:https://github.com/
  • 基於 GoogleMap 離線 API 源碼在內網中加載衛星地圖的方法
    準備工作在開始之前,需要先準備離線數據發布軟體、離線衛星影像示例數據、GoogleMap離線API開發源碼和本機IP位址等。離線示例數據:本文提供的離線示例數據包括墨卡託投影和WGS84投影的衛星影像與地名標籤數據,由於這裡主要是為了進行功能性演示,因此只提示前10級影像數據。
  • 李明:LayaAir引擎的未來規劃 BIGC
    但受JavaScript運行語言的制約,採用JS打包成APP的性能與原生APP引擎的C++相比還有一些不足。休閒遊戲類型還好,當重度遊戲發布APP版本的體驗和表現想超越小遊戲版本,完全達到3A級APP遊戲品質時,還是有一定的語言級瓶頸。例如,當前小遊戲平臺的任何一款引擎都無法完全還原APP級別的《王者榮耀》。
  • 使用IDEA 快速搭建 Spring 的源碼環境
    從而讓其他同學使用的時候非常方便;看了文檔、書、博客、專欄之後想讀讀源碼,順便讀源碼的時候做一點注釋,或者修改點代碼啥的,所以需要搭建一個環境;說實話,很多人估計想搭建個 spring 的源碼環境,但是 spring 的這個源碼環境還是稍微有點複雜的,機緣巧合,之前有朋友(@上傑)研究了一個星期,並且最後把環境搞好了,還順便給我把環境也搞了下,大概幾分鐘操作就行,其他就讓電腦在那邊下載就行了
  • 一篇上手LayaAir的3D物理引擎
    (圖10-1)項目代碼裡,通過創建一個CylinderColliderShape實例的方式,傳入半徑和高,即可返回一個圓柱形碰撞形狀對象,將這個對象添加給碰撞器的colliderShape屬性即可。API說明如圖10-2所示。
  • CSS Flexbox入門指南和示例
    在本文中,我們將查看CSS Flexbox的完整指南。默認值: row no-wrap讓我們看一些例子:上面,我們看到了一個flex-flow的示例,其中flex-direction是row。讓我們來看一個比較對齊項目和對齊內容的示例。如您在上面的對齊項目中所看到的,將居中對齊項目在相應的橫軸上居中,將對齊內容對齊行在相應的橫軸的中心上。
  • 基於opencv的樹莓派小球平衡控制項目
    opencv,基於visualGDB的項目,不包含opencv源碼和編譯結果!!windows端配置安裝並破解visualGDB5.2r8(根據前面的經驗,5.1版無法識別樹莓派系統目錄中的某些依賴庫)解壓打包好的opencv源碼和編譯好的動態連結庫到
  • 源碼不止Spring!阿里首推源碼成長筆記,深入底層不再蒙圈
    咳咳咳不要想歪,是Spring+MyBatis源碼!!!別的不說,我想先問大家一個問題:不會有人真的喜歡看源碼吧!在我的認知裡喜歡看源碼的都是「變態」,都是大哥!現實中大多數人都是為了漲薪或者一些其他的原因才會去主動接觸源碼(手動狗頭)。但是在現在網際網路大勢所趨下,源碼閱讀已經是一個優秀軟體開發者必備的能力。
  • Go 和 PHP 在運行的時候有什麼區別和優勢?
    運行模式和運行原理的區別多個運行模式相當於超市的不同入口,運行原理就是進入超市後的固定的行走路線,通過不同的運行模式進入到底層(進入超市)golang 運行原理golang 是先編譯為靜態二進位可執行文件,再去運行。
  • 視頻直播APP源碼開發完成後,還有這些重點內容不可忽視
    視頻直播APP源碼也成為了運營方關注的焦點。 但從近年視頻直播APP源碼市場來看,很多直播運營平臺並沒有專業運營和技術團隊的人,對於視頻直播APP源碼後續的重點內容不是十分了解。今天我們就來說一下源碼開發完成後該做的事。
  • Git 源碼禁止使用 C 標準庫中容易被錯用的函數
    Git 項目的源碼禁止開發者使用 C 標準庫中的某些函數,原因是這些函數太容易被誤用,就算使用得當也很容易出問題。
  • 一篇了解所有的LayaAir文本組件
    而LayaAir引擎中Graphics類的fillBorderText、strokeText等文本繪製方法,在IDE中是沒有封裝為組件的,需要在項目代碼中直接使用引擎的API。具體的屬性使用特別簡單,IDE中的屬性面板中都有說明,不需要寫代碼也可以直接運行查看效果,另外在官網的文檔和視頻教學中,對於每個組件的使用與屬性效果也都有介紹,就不逐一介紹了,重點介紹一下FillText中font屬性與其它幾個文本font屬性區別。
  • 螞蟻金服類隔離工具 SOFAArk 入門及源碼講解
    有些項目都是多年的歷史「遺留財產」,老馬甚至還遇到過一個應用中有 3 個不同版本的 spring,只能說能跑起來就是奇蹟。 不過有時候會進行各種版本升級,然後會發現各種版本衝突,浪費時間在排除各種版本衝突的問題上。 那有沒有一種方法,可以幫助我們更好的解決包衝突呢?