您的位置:首页 > 移动开发 > Unity3D

unity 通过触摸屏幕产生射线实例化玩家

2016-05-11 14:37 585 查看
using UnityEngine;
using System.Collections;

public class AndroidCreateObj : MonoBehaviour {
    public GameObject player;  //定义玩家对象
    float num = 0;       //定义实例化的玩家数量
    // Update is called once per frame
    void Update()
    {
        for (int i = 0; i < Input.touchCount; i++)  //遍历当前触摸屏幕的数量
        {
            //判断当前状态是否为刚开始触摸屏幕
            if (Input.GetTouch(i).phase == TouchPhase.Began)
            {   //从手指触碰点沿相机方向发射一条射线
                Ray ray = Camera.main.ScreenPointToRay(Input.GetTouch(i).position);
                RaycastHit hit;
                if (Physics.Raycast(ray, out hit, 100))  //判断是否发生碰撞
                {
                    //如果碰撞到的物体名字为Plane
                    if (hit.collider.name == "Plane") ;
                    {
                        //在碰撞点位置实例化一个player对象
                        Instantiate(player, hit.point, player.transform.rotation);
                        num++;
                    }
                }
            }
        }
    }
    void OnGUI()
    {
        //在屏幕上显示示例化玩家的数量
        GUILayout.Label("共实例化玩家" + num);
    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: