Unity - A计划(一年有效期) 扫二维码继续学习 二维码时效为半小时

(61评价)
价格: 2208.00元
见缝插针中的针不跟着小球转
a1157360发起了话题2018-03-02
10
回复
354
浏览

老师,为什么针不跟着小球转啊,我感觉和老师的代码没啥区别

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Pin : MonoBehaviour {

    private bool isFly = false;
    private bool isReach = false;
    private Transform startPoint;
    public float speed = 5;
    private Transform circle;
    private Vector3 targetCirclePos;

    // Use this for initialization
    void Start () {
        startPoint = GameObject.Find("StartPoint").transform;
        circle = GameObject.Find("Circle").transform;
        targetCirclePos = circle.position;
        targetCirclePos.y -= 1.55f;
    }

    // Update is called once per frame
    void Update()
    {
        if (isFly == false)
        {

            if (isReach == false)
            {
                transform.position = Vector3.MoveTowards(transform.position, startPoint.position, speed * Time.deltaTime);
                if (Vector3.Distance(transform.position, startPoint.position) < 0.05f)
                {
                    isReach = true;
                }
            }
        }
        else
        {
            transform.position = Vector3.MoveTowards(transform.position, targetCirclePos, speed * Time.deltaTime);
            if (Vector3.Distance(transform.position, circle.position) < 0.05f)
            {
                transform.position = targetCirclePos;
                transform.parent = circle;
                isFly = false;
            }
        }
    }

    public void StartFly() {
        isFly = true;
        isReach = true;
    }
}

所有回复
  • 老师_Trigger 2018-03-02

    同学你好,同学运行时看一下针是否是设置球为父物体,因为只有这段代码,老师看不见同学的StartFly方法是否调用了, 如果没调用,它就不会走else里边的,这样肯定就不会跟着球一起转了。

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • a1157360 2018-03-04

    老师你好,运行之后没看到针有设置circle为父,代码里面哪里有问题吗?

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • a1157360 2018-03-04

    StartFly方法是调用了的,加了一个Debug.Log能看到输出

     

     

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • a1157360 2018-03-04

    在开始几节课的时候,在scene窗口老师的视频是可以看到小球在转,但我看不到左边轴转,但从右侧的ratation能看出来小球在转,所以就没有理会,不知道和这个有没有关系

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • 老师_Trigger 2018-03-04

    同学你好,同学点的轴不转可能是因为点到数字上了,数字是不转的,球只要同学挂了旋转脚本,它一定是会转的,试试看else里的方法调用没有,如果没有,就是条件不满足,看一看他们之间的距离为什么不是小于0.05,可能是一些细节设置没有设置好。如果同学尽努力还是没有解决,可以上传工程,老师帮同学看看。

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • a1157360 2018-03-04

    ​​​麻烦老师帮忙看下,还是没找到点子上

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • 老师_Trigger 2018-03-04

    在pin的里这个地方应该这样写: if (Vector3.Distance(transform.position, targetCirclePos) < 0.05f)
                {
                    Debug.Log(1);
                    transform.position = targetCirclePos;
                    transform.parent = circle;
                    isFly = false;
                }

    老师让同学debug一下看方法执行没,它确实没有执行,然后同学这里写的是circle.position,要细心耐心哦

    还有-2条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!