SIKI学习1——见缝插针07练习-针的插入

针的插入

public class Pin : MonoBehaviour
{
    public float speed = 5;//移动速度
    private bool isFly = false;//表示是否发射针到小球中
    private bool isReach = false;//表示针是否到达指定的发射位置
    private Transform StartPoint;//小球的就位位置
    public Transform circle;//获取小球
    void Start ()
    {
        StartPoint = GameObject.Find("StartPoint").transform;
        //circle = GameObject.Find("Circle").transform;
        circle = GameObject.FindGameObjectWithTag("Circle").transform;//通过标签查找小球,跟上面的等价
    }
    void Update ()
    {
        if (isFly == false)
        {
            if (isReach == false)
            {
                transform.position = Vector3.MoveTowards(transform.position, StartPoint.position, speed * Time.deltaTime);//控制针移动到startPoint
                if (Vector3.Distance(transform.position, StartPoint.position) < 0.05f)//判断是否到达
                {
                    isReach = true;
                }
            }
        }
        else
        {
            transform.position = Vector3.MoveTowards(transform.position, circle.position, speed * Time.deltaTime);//控制针移动到startPoint
        }
    }
    public void StartFly()//控制针的飞行
    {
        isFly = true;
        isReach = true;
    }
}

在GameManager脚本中控制针的插入,插入小球的位置有误,脚本后期完善

public class GameManager : MonoBehaviour
{
    private Transform StartPoint;//针的发射点
    private Transform SpawnPoint;//针的生成点
    public GameObject pinPrefab;//针的预设物,需要拖拽
    private Pin currentPin;//获取当前针,以方便调用方法
    void Start ()
    {
        StartPoint = GameObject.Find("StartPoint").transform;
        SpawnPoint = GameObject.Find("SpawnPoint").transform;
        SpawnPin();
    }
    private void Update()
    {
        if (Input.GetMouseButton(0))
        {
            currentPin.StartFly();//调用飞行的方法
        }
    }
    void SpawnPin()
    {
        currentPin= GameObject.Instantiate(pinPrefab,SpawnPoint.position,pinPrefab.transform.rotation).GetComponent<Pin>();
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值