U3D 场景切换时 脚本对象,GO对象,资源对象的问题

脚本对象:在LUA中写了一个actor类,它封装了角色逻辑,引用了一个GO。

GO对象:通过 GameObject.Instantiate(资源对象)生成的。

资源对象:制作好的模型prefab。

在场景切换时:

actor是逻辑控制的,可以销毁也可以不销毁。销毁时可以手动销毁它使用的GO,也可以不手动销毁而坐等U3D在场景切换时销毁。

GO对象是挂在场景上的(也即hierachy层级),如果不设置为 dontdestroyonload,则GO会在场景切换时被U3D销毁。这时我们的actor只剩下逻辑数据,而用于显示的

模型数据不存在了,就看不到角色了。

 为什么GO是挂在场景上的? 所有通过GameObject.Instantiate生成的对象默认都是挂在场景层级最上层的。

时间: 2024-10-05 00:57:04

U3D 场景切换时 脚本对象,GO对象,资源对象的问题的相关文章

texturepacker打包图片,场景切换时背景图有黑边

在使用TexturePacker打包图片之后,背景图在场景切换(有切换动画)时,明显能看到有黑边,在百度之后解决了. 知乎上边有网友贴出了两种解决方法,我抄过来如下: 第一种: 修改 ccConfig.h 将 #define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 0  改为 #define CC_FIX_ARTIFACTS_BY_STRECHING_TEXEL 1  第二种: 在AppDelegate::initInstance()方法的最后调用CCDirect

自制Unity小游戏TankHero-2D(5)声音+爆炸+场景切换+武器弹药

自制Unity小游戏TankHero-2D(5)声音+爆炸+场景切换+武器弹药 我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm)这个游戏制作的.仅为学习Unity之用.图片大部分是自己画的,少数是从网上搜来的.您可以到我的github页面(https://github.com/bitzhuwei/TankHero-2D)上得到工程源码. 本篇主要记录声音.场景切换.武器弹药等. 关于碰撞 先插一句.上一篇记录了Unity3

资源对象的池化, java极简实现,close资源时,自动回收

在java程序中对于资源,例如数据库连接,这类不能并行共享的资源对象,一般采用资源池的方式进行管理. 资源池一般要实现 1)获取资源对象 getObject():   从资源池中取出对象 2) returnObject() :   资源用完以后,将资源放回对象池 3) 资源对象(代理)调用close()方法时, 资源返回对象池.  对于有close方法的资源,一般是采用此方式. 以下是一个非常简单的资源对象池的实现 public class SimplePool<T> { // 回收资源的方法

cocos2dx 场景切换

版本是 cocos2dx 3.3 场景切换的时刻是:(代码有删减) void Director::drawScene() { // calculate "global" dt calculateDeltaTime(); if (_nextScene) { setNextScene(); } } 每一帧都会检查,看是不是有 _nextScene, 也就是 是不是需要进行场景切换了. 一般场景切换的过程: 当添加一个场景时,正在运行的场景会调用 _runningScene->onEx

cocos2dx基础篇(26)——场景切换CCTransitionScene

[唠叨] 游戏中两个场景的切换时经常要被用到的,cocos2dx引擎为我们提供了许多场景切换的动画,我感觉有些和PPT的切换很类似,所以感觉很熟悉.如:淡入淡出.翻页.跳入跳出等等. 本节要讲的场景切换方式十分丰富,不过内容比较简单,很容易掌握. [致谢] http://gl.paea.cn/contents/d4d676f371519df4.html [场景管理] 在讲场景切换CCTransitionScene之前,先来复习一下场景CCScene的管理. 游戏运行的过程中,每次只能运行一个场景

cocos2d-x 帧循环不严谨造成场景切换卡顿

最近在用cocos2d-x做引导界面,2dx版本是2.2.3,场景切换加上了效果,所有资源都已经使用texturepacker打包预加载,但是在实际运行调试中,场景切换相当卡顿. 各种纠结后,无意中将帧率打印(setDisplayStats(true))放出来,发现一个严重的问题,对象数量一直在增加,导致帧率不断下降,等到场景切换时,已经完全跑不动了.仔细查看代码之后发现,我在场景帧循环(update())里面有监控手机网络状态,并且根据网络状态需要移除一些精灵,然后创建一些精灵并显示出来,问题

Cocos2d-X研究之3.0 场景切换特效汇总

Cocos2d-X研究之3.0 场景切换特效汇总 2014-08-05      0个评论    来源:游戏编程    收藏    我要投稿 cocos2d-x 3.0中场景切换特效比较多,而且游戏开发中也经常需要用到这些特效,来使场景切换时不至于那么干巴,遂这里汇总一下,开发中使用. 场景切换用到导演类Directory,大多数用的都是替换场景,当然也可以用出栈进栈的方式来进行场景的替换,这里以replaceScene来举例.3.0事件分发机制—触摸事件监听不明白的可以看下. 场景切换特效的应

场景切换的效果

在上次的场景切换中增加代码,并在res中添加一个图片,作为第一个场景中的图片 HelloWorldScene.cpp中的 bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !Layer::init() ) { return false; } /** * 以下代码实现的是切换场景的目的, * 点击文本框中的字体时,切换场景,有图片 */ //获得可见区域的大小 Size visi

cocos2d-x 3.0 场景切换特效汇总

cocos2d-x 3.0中场景切换特效比较多,而且游戏开发中也经常需要用到这些特效,来使场景切换时不至于那么干巴,遂这里汇总一下,开发中使用. 场景切换用到导演类Directory,大多数用的都是替换场景,当然也可以用出栈进栈的方式来进行场景的替换,这里以replaceScene来举例. 场景切换特效的应用代码: auto scene=HelloWorld::createScene();//创建待切换的场景 auto transition=TransitionZoomFlipY::create