linshao198 发表于 2013-3-27 01:01

请问脚本问题

本帖最后由 linshao198 于 2013-3-27 01:04 编辑

   clone = Instantiate(zidan,weizhi.position,weizhi.rotation);
    clone.rigidbody.AddForce(weizhi.forward*1);   这段代码是把一个物体打出去和 打出去物体的速度..我想请问 如何设置物体打多远呢? 比如 只打10个坐标远就消失了..还有 获取这个物体的坐标 是用什么代码? 我用过GameObject.Find().transform.position.x 好X坐标 不行这方法 一个打完在打个可以 连续打就不行了

mrchen 发表于 2013-3-27 17:40

用一个变量记录当前的位置,每一帧都用球的位置减去记录的变量,如果所得值大于等于10了,就Destroy,至于不能获取多个球的坐标,我估计是预制体的名字一样!所以没获取成功!你试一试,我只是猜测!

linshao198 发表于 2013-3-27 21:03

就是取不了 打出去球的位置啊..如何取呢?

mrchen 发表于 2013-3-28 10:46

你可以这样嘛,单独写个脚本,绑定到子弹上,内容就是初始化时获取你发射点的位置,记录下来,然后在Update()里面写一个判断,球现在的位置减初始位置大于了10(你自己设定的值),就销毁球实例!
using UnityEngine;
using System.Collections;
public class Bull_Destroy : MonoBehaviour
{
    public float m_fBegin;
    private GameObject m_GOGun;
    public int m_nLenth = 20;
// Use this for initialization
void Start ()
    {
      m_GOGun = GameObject.Find("Main Camera");
      m_fBegin = m_GOGun.transform.position.z;
}

// Update is called once per frame
void Update ()
    {
      if (this.transform.position.z - m_fBegin >= m_nLenth)
   {
            Destroy(gameObject);
   }
}
}

siumanchunandy 发表于 2013-4-6 23:26

如何取呢? 如何取呢? 如何取呢?

阿豆 发表于 2017-2-11 13:15

很不错

zldarwin 发表于 2017-2-11 12:42

好帖就是要顶

killkiss 发表于 2017-2-11 13:12

顶顶多好

zldarwin 发表于 2017-2-11 12:34

说的非常好

Steven 发表于 2017-2-11 13:06

很好哦
页: [1]
查看完整版本: 请问脚本问题