unity 实例化物品的脚本问题
请看脚本代码,这是错哪了,怎么改,弄了半天,一头雾水。usingUnityEngine;usingSystem.Collections;publicclasssheji:...
请看脚本代码,这是错哪了,怎么改,弄了半天,一头雾水。
using UnityEngine;
using System.Collections;
public class sheji : MonoBehaviour
{
public AudioClip zidansheng;
public Rigidbody zidan_bl;
void Update ()
{
if(Input.GetButtonDown("Fire1"))
{
audio.PlayOneShot(zidansheng);
Rigidbody xinzidan=Instantiate (zidan_bl,transform.position,transform.rotation);
xinzidan.velocity =transform.forward*10.0;
}
}
} 展开
using UnityEngine;
using System.Collections;
public class sheji : MonoBehaviour
{
public AudioClip zidansheng;
public Rigidbody zidan_bl;
void Update ()
{
if(Input.GetButtonDown("Fire1"))
{
audio.PlayOneShot(zidansheng);
Rigidbody xinzidan=Instantiate (zidan_bl,transform.position,transform.rotation);
xinzidan.velocity =transform.forward*10.0;
}
}
} 展开
展开全部
有错误最好把错误打印贴出来,只看错误提示,大多问题都一目了然了。
从你上面这个代码来看,最后两句都有错误,一个少了as Rigidbody ,一个少了float的f,
改为下面这样试试:
Rigidbody xinzidan=Instantiate (zidan_bl,transform.position,transform.rotation) as Rigidbody;
xinzidan.velocity =transform.forward*10.0f;
从你上面这个代码来看,最后两句都有错误,一个少了as Rigidbody ,一个少了float的f,
改为下面这样试试:
Rigidbody xinzidan=Instantiate (zidan_bl,transform.position,transform.rotation) as Rigidbody;
xinzidan.velocity =transform.forward*10.0f;
追问
嗯,你说的对了,经过你的指点,编译通过了。少f是我马虎了,但是为什么要加 as Rigidbody,我还不是很清楚,是转换的问题吗,有空的话能简单给我简单解释下吗,感激不尽啊!~_~
追答
用C#的话需要指明类型,直接实例化是obj类型,而前面的xinzidan已经是Rigidbody 类型,如果不用as指明的话,obj类型是不能直接赋值给Rigidbody类型的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询