Unity游戏编程之游戏对象管理
来源:互联网 发布:淘宝直播中控台网址 编辑:程序博客网 时间:2024/04/28 09:46
游戏对象GameObject的创建与销毁
游戏对象的创建在Unit IDE中的编辑模式与游戏运行模式并无二致,但是销毁对象时有所区别
1 创建空游戏对象
GameObject mytest = new GameObject("Test");
Destroy(mytest);这会在游戏场景中创建空游戏对象Empty,即显示在Hierarchy中可以编辑该对象,并可以在Inspector中预览属性
在游戏模式下的销毁方法可以使用:Object.Destroy(),游戏模式区别与编辑模式,编辑模式在非运行状态下,同时可以指Unity的扩展窗口代码中。
在编辑模式或者说是在扩展编辑窗口代码中游戏对象的销毁需要使用:Object.DestroyImmediate()
游戏模式可以使用Application.isPlaying进行判断。
2 从游戏资源获取游戏对象,常是Prefab
通过预设获取游戏对象,同时可以读取预设的组件,并且可以同步修改预设组件数据
GameObject mytest;Object myObj;myObj = Resources.Load("Test/Test");mytest = Resources.Load("Test/Test", typeof(GameObject)) as GameObject;以上两者或者的对象是一致的,通过ReferenceEquals(mytest,myObj)判断我们知道其实际上是同一个引用
TEST组件的代码:
public class TEST : MonoBehaviour { public int testValue = 1;}实时修改预设的组件数据
TEST testData = mytest.GetComponent<TEST>();if (testData != null) testData.testValue = 100;
GameObject clone = Instantiate(myObj) as GameObject;GameObject clone2 = Instantiate(mytest) as GameObject;与New方式创建一致,编辑模式使用Object.DestroyImmediate(),而游戏模式使用Object.Destroy()
4 资源的释放
对于Resource.Load(),资源释放函数为:
Resources.UnloadAsset()
更多的资源内存管理见:
http://answers.unity3d.com/questions/377950/unloadasset-with-gameobject-best-practice.html
http://answers.unity3d.com/questions/16020/how-can-i-unload-a-single-resource.html
http://answers.unity3d.com/questions/260144/resourcesunloadasset.html
http://forum.unity3d.com/threads/142807-How-to-UnloadAsset
http://forum.unity3d.com/threads/155553-Combinee-meshes-still-not-released-from-memory
http://forum.unity3d.com/threads/how-to-unloadasset.142807/
http://stackoverflow.com/questions/15065672/load-unload-assets-dynamically
http://www.cnblogs.com/88999660/archive/2013/03/15/2961663.html
- Unity游戏编程之游戏对象管理
- Unity游戏编程之开篇
- Unity之游戏对象隐藏的问题
- Unity Manual之GameObject 游戏对象
- Unity获取游戏对象
- Unity 获取游戏对象
- Unity克隆游戏对象
- 面向组件编程之Unity 4.怎样得到游戏场景中的对象 例如:layer/tag&&SetActive隐藏游戏物体
- unity之游戏总结
- unity之游戏预热
- Unity获取游戏对象详解
- Unity获取游戏对象详解
- Unity获取游戏对象详解
- Unity获取游戏对象详解
- Unity获取游戏对象详解
- Unity获取游戏对象详解
- Unity 获取游戏对象详解
- Unity获取游戏对象详解
- JVM内存分配与回收分析
- shell tee
- DeleteFile
- Java操作Cmd命令
- Sql表自连接,数据库中查询没问题,Hibernate中查询有问题?
- Unity游戏编程之游戏对象管理
- 转 static allocation in java - heap, stack and permanent generation
- 复杂json转换实体bean
- mysql正则表达式
- 头文件嵌套中出现的重复编译错误的解决办法
- web开发中有关浏览器兼容问题及其解决方案的记录
- iOS大典之旋转停不下来
- C++中引用(&)的用法和应用实例
- To_10_r_100_8_6---有304瓶啤酒,每3个空瓶子能换一瓶新啤酒,问能喝到多少瓶啤酒?