示例#1
0
    private void Update()
    {
        transform.position = new Vector3(transform.position.x, 0f, Mathf.Sin(Time.time * Speed) * Dist);
        transform.rotation = Quaternion.Euler(new Vector3(0f, 90f + Mathf.Sin(Time.time * 2f) * 2f, 0f));

        RaycastHit hit;

        if (Physics.Raycast(transform.position, transform.forward, out hit))
        {
            Spinner hitSpinner = hit.collider.GetComponent <Spinner>();
            if (hitSpinner != null)
            {
                Debug.DrawLine(transform.position, hit.point, Color.magenta);
                Debug.DrawLine(hit.point, hit.point + hit.normal, Color.magenta);
                hitSpinner.AddSpin(Power);
            }
            else
            {
                Debug.DrawLine(transform.position, hit.point, Color.green);
            }
        }
        else
        {
            Debug.DrawLine(transform.position, transform.position + transform.forward * 100f, Color.red);
        }
    }