标签:pre engine style unity热更新 bre ack 相关 doc sha
继上次分析了热更新的Demo后,这次来介绍如何在热更新代码中使用MonoBehaviour。
MonoBehaviour挂载到GameObject对象上的脚本的基类。平常Unity开发时,简单的做法就是编写一个继承自MonoBehaviour的脚本,将它挂载到要操纵的GameObject上,赋予它各种行为。
当然,在某些大型项目中,可能并不推荐导出挂脚本的方式,但是本文旨在介绍如何在脚本中继承并编写MonoBehaviour,暂时忽略这个问题。
用脚本创建一个MonoBehaviour。并挂载到某个物体上,在Start方法中使用协程加载 baidu 的首页的html,然后将它的html代码显示到文本框上。
<!--Configure DLLs to export--> <buildassemblys> <assembly value="D:\Program Files\Unity\Editor\Data\Mono\lib\mono\2.0\System.dll"></assembly> <assembly value="D:\Program Files\Unity\Editor\Data\Managed\UnityEngine\UnityEngine.CoreModule.dll"></assembly> <assembly value="D:\Program Files\Unity\Editor\Data\Managed\UnityEngine\UnityEngine.UnityWebRequestWWWModule.dll"></assembly> <assembly value="D:\Program Files\Unity\Editor\Data\UnityExtensions\Unity\GUISystem\UnityEngine.UI.dll"></assembly> <assembly value="F:/ASTool_UnityTest/AS3HotFix_WWW\Library\ScriptAssemblies\Assembly-CSharp.dll"></assembly> </buildassemblys>
1 package 2 { 3 4 [Doc] 5 /** 6 * ... 7 * @author 8 */ 9 public class Main 10 { 11 12 public function Main() 13 { 14 } 15 16 public function update():void 17 { 18 19 } 20 } 21 22 } 23 24 //写在包外的代码,会在Main这个类第一次被实例化之前执行一次。 25 26 import system.collections.IEnumerator; 27 import unityengine.Camera; 28 import unityengine.GameObject; 29 import unityengine.MonoBehaviour; 30 import unityengine.Time; 31 import unityengine.WWW; 32 import unityengine.ui.Text; 33 34 //定义一个继承自MonoBehaviour的类型。 35 class baidutest extends MonoBehaviour 36 { 37 //Start方法会在Update前调用一次。 38 function Start():IEnumerator 39 { 40 //创建WWW对象,并访问 www.baidu.com 41 var www:WWW = new WWW("http://www.baidu.com"); 42 while ( !www.isDone) 43 { 44 //更新UI元素. 45 Text( GameObject.find("Text").getComponent(Text)).text = "loading from baidu " + Time.frameCount; 46 //使用 yield关键字,可以使用Unity协程 47 yield return www; 48 } 49 50 51 //加载完毕后,将html内容显示到UI上。 52 Text( GameObject.find("Text").getComponent(Text)).text = www.text.substr(1024,1024); 53 //销毁WWW对象。 54 www.dispose(); 55 56 } 57 58 } 59 60 //在主相机上挂载脚本中定义的baidutest。 61 Camera.main.gameObject.addComponent(baidutest);
如此,即实现了在脚本中使用MonoBehaviour。
用ECMAScript4 ( ActionScript3) 实现Unity的热更新 -- 在脚本中使用MonoBehaviour
标签:pre engine style unity热更新 bre ack 相关 doc sha
原文地址:https://www.cnblogs.com/ashei/p/8876963.html