找回密码
 立即注册
楼主: 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坐标 不行这方法 一个打完在打个可以 连续打就不行了
发表于 2013-3-27 17:40 | 显示全部楼层
用一个变量记录当前的位置,每一帧都用球的位置减去记录的变量,如果所得值大于等于10了,就Destroy,至于不能获取多个球的坐标,我估计是预制体的名字一样!所以没获取成功!你试一试,我只是猜测!
 楼主| 发表于 2013-3-27 21:03 | 显示全部楼层
就是取不了 打出去球的位置啊..如何取呢?
发表于 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);
     }
}
}
发表于 2013-4-6 23:26 | 显示全部楼层
如何取呢? 如何取呢? 如何取呢?
发表于 2017-2-11 13:15 | 显示全部楼层
很不错
发表于 2017-2-11 12:42 | 显示全部楼层
好帖就是要顶
发表于 2017-2-11 13:12 | 显示全部楼层
顶顶多好
发表于 2017-2-11 12:34 | 显示全部楼层
说的非常好
发表于 2017-2-11 13:06 | 显示全部楼层
很好哦
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-23 04:24 , Processed in 0.100800 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表