GameFramework 教程06 實體載入

2021-08-17 18:32:59 字數 1647 閱讀 4175

初始場景的建立就不多說,乙個demo6場景加上乙個demo6_procedurelaunch.cs流程指令碼,並設定好初始流程,具體參考demo1。

建立實體時,是從預製體建立的,所以我們需要建乙個預製體,隨便建,比如我建了乙個很複雜的預製體——乙個cube。

我們把預製體命名為cubeentity吧。

最終的目錄結構是這樣的:

乙個實體預製體僅僅只是用來展現的,要讓實體擁有生命,還需要乙個負責處理邏輯的指令碼。

新建乙個指令碼,命名為demo6_herologic.cs:

using gameframework;

using unitygameframework.runtime;

/// /// 英雄邏輯處理

///

public class demo6_herologic : entitylogic

//目前gf3.1.1版本,需要寫成 protected internal override void onshow(object userdata) 因為程式集程式集的拆分關係,所以訪問符不同

protected override void onshow (object userdata)

}

只要讓類繼承entitylogic,即可成為邏輯處理類,其中包含多個生命週期,大家可以自己進去entitylogic.cs類檢視。

這裡僅重寫onshow函式,在實體被載入時列印一條日誌。

準備好預製體和邏輯處理類之後,就可以載入實體了,我們在初始流程裡載入實體試試:

using gameframework;

using gameframework.procedure;

using unitygameframework.runtime;

using procedureowner = gameframework.fsm.ifsm;

public class demo6_procedurelaunch : procedurebase

}

載入實體自然需要用到框架的實體元件,呼叫實體元件的showentity即可載入實體。

其中需要指定邏輯處理類的型別、傳入預製體路徑和實體分組名稱(隨便寫乙個,沒事的)。

設定好初始流程之後,執行遊戲,看看效果吧。

(旁白:報錯了!你肯定挖坑了!)

是不是報錯了?

沒錯,報錯是正常的,因為你們在呼叫showentity的時候隨便填了乙個實體分組名稱。

那樣是不道德的,因為根本就不存在這個分組。(旁白:刀在這,大家隨意)

只要在hierarchy檢視裡,給entity元件增加分組就可以了:

最後再執行遊戲,實體成功載入並顯示(自己加光源,不然可能黑黑的):

GameFramework框架學習教程計畫

首先,我介紹一下我對gameframework框架的認識程度。我是在2019年過完春節,二月初回到公司開始學習遊戲開發相關的內容,這個也是我第乙個接觸的框架。過去這一年的時間裡,我一直在用這個框架,也斷斷續續的在學習這個框架,但是總感覺學習不到乙個頭,感覺沒有真正掌握這個框架,所以準備在2020年伊...

GameFramework教程 (四)場景

小提示 選中左側目錄,可快速找到所需內容 ugf載入場景的機制 如何切換場景 如何解除安裝場景 ugf切換場景,都是將原場景 之前的所有場景 疊加在新場景上的。所以你需要先解除安裝所有場景,再載入。注意 最開始的啟動場景 帶有 gameframework 的場景 不會被解除安裝掉,即使你用了解除安裝...

GameFramework學習之新增監聽

監聽可以使用在很多地方,主要是監聽乙個東西如果這個東西發生了改變,執行乙個方法去體現出來,可以用在不同的指令碼中 這個型別可以是任何型別甚至是表 eventkey這個指令碼主要是存貯時間的關鍵字 相當於是中轉,連線著triggerlistener和addlistener 這個 的主要意思就是這樣 當...