Unity中Instantiate物体失效问题

才开始学Unity,开始总是这样用Instantiate函数:

 GameObject temp = (GameObject)Instantiate(bulletSource, transform.position, transform.rotation);

然后该类中定义一个共有变量如下:

 public GameObject bulletSource;

在面板上先将预设体托到Hierarchy处,从该处再把对应的Object托到类的共有变量上。

开始这样是没有问题的,但是当该物体在某个时间销毁后,那么Instantiate就会失败。当然的嘛,关联的对象都没了。

解决方法是:将物体从Assets中直接托到预设体的代码公有变量上,这样的话,关联的物体不会消失。这样再用代码创建物体就好了。

时间: 2024-11-09 09:17:41

Unity中Instantiate物体失效问题的相关文章

Unity中Instantiate一个prefab时需要注意的问题

在调用Instantiate()方法使用prefab创建对象时,接收Instantiate()方法返回值的变量类型必须和声明prefab变量的类型一致,否则接收变量的值会为null. 比如说,我在脚本里面定义: public GameObject myPrefab; 那么在使用这个myPrefab做Instantiate()的时候,接收返回值变量的类型也必须是GameObject,如下: GameObject newObject = Instantiate(myPrefab) as GameOb

Unity中的物体移动-Rigidbody方法

为游戏对象添加刚体Rigidbody组件后,通过设置velocity和调用AddForce方法的方式可实现位移. 首先需要在开始方法中获取刚体组件 rigid = GetComponent<Rigidbody> (); 1. velocity float input_H = Input.GetAxisRaw ("Horizontal"); float input_V = Input.GetAxisRaw ("Vertical"); Vector3 v =

Unity中的物体移动-Transform.Translate

Transform.Translate通过设置下一步移动的矢量方向和大小进行移动. 有两种移动方式: 1.ADWS控制游戏对象上下左右移动,不涉及旋转: 2.AD通过旋转控制方向,WS控制前后移动,也可以实现受控位移. 无论哪种方式,首先都要获取键盘响应,可以通过Input.GetKey获取,也可以通过Input.GetAxisRaw获取. 第一种方式下的代码如下: float input_H = Input.GetAxisRaw("Horizontal"); //获取X方向的移动方向

unity中让物体移动到鼠标点击位置(单击移动和双击暂停移动)

private bool IsMove;//移动 //鼠标双击的参数(第一种方式的参数) private float delay = 0.5f; private float firstClickTime = 0; private bool oneClick = false; //点击了第一下 //双击(第二种方式的参数) private float endtime = 0; private float Doubletime = 0.5f; //响应时间 public void Start(Gam

如何在Unity中实现物体的二段跳

//第一次跳 void Jump() { //判断是否在地面,如果是在地面允许跳 if (m_isOnGround) { m_rigidbody.drag = 5f; //bool类型,按space键跳跃,返回bool类型 if (m_jump) { //bool类型,判断跳跃状态 if (is_jump) { //跳跃受力 m_rigidbody.drag = 0f; m_rigidbody.velocity = new Vector3(m_rigidbody.velocity.x, 0f,

在unity中用鼠标实现在场景中拖动物体,用鼠标滚轮实现缩放

在场景中添加一个Plan,Camera,Directional Light,Cube.添加两个脚本scrollerScirpt(挂在Camera),CubeDragScript(挂在Cube上). 1.鼠标滚轮实现缩放:将摄像机的镜头拉近或者拉远,调整摄像机的视角就可以实现,主要实现代码如下: void Update () { //鼠标滚轮的效果 //Camera.main.fieldOfView 摄像机的视野 //Camera.main.orthographicSize 摄像机的正交投影 //

【Unity技巧】Unity中的优化技术

写在前面 这一篇是在Digital Tutors的一个系列教程的基础上总结扩展而得的~Digital Tutors是一个非常棒的教程网站,包含了多媒体领域很多方面的资料,非常酷!除此之外,还参考了Unity Cookie中的一个教程.还有很多其他参考在下面的链接中. 这篇文章旨在简要地说明一下常见的各种优化策略.不过对每个基础有非常深入地讲解,需要的童鞋可以自行去相关资料. 还有一些我认为非常好的参考文章: Performance Optimization for Mobile Devices

(转)【Unity技巧】Unity中的优化技术

写在前面 这一篇是在Digital Tutors的一个系列教程的基础上总结扩展而得的~Digital Tutors是一个非常棒的教程网站,包含了多媒体领域很多方面的资料,非常酷!除此之外,还参考了Unity Cookie中的一个教程.还有很多其他参考在下面的链接中. 这篇文章旨在简要地说明一下常见的各种优化策略.不过对每个基础有非常深入地讲解,需要的童鞋可以自行去相关资料. 还有一些我认为非常好的参考文章: Performance Optimization for Mobile Devices

Unity中的MonoBehaviour类

继承层次: Object->Component->Behaviour->MonoBehaviour MonoBehaviour是所有脚本的基类,使用javascript的话,每个脚本都会自动继承自MonoBehaviour,但使用C#或Boo就必须显式从MonoBehaviour继承. 注意:复选框控件(在编辑中)仅仅会阻止Start.Awake.Update.FixedUpdate和OnGUI函数的执行,如果这些函数中没有一个出现,则复选框就不会显示. 变量: bool useGUIL