unity 判断gameobject有没有这个脚本
1个回答
展开全部
在Unity3D中,因为游戏世界是3D世界,鼠标在屏幕上的点击并不能直接用于确定选中的是哪个物体。当然我们可以通过在被点击物体上添加脚本实现OnMouseDown()函数来处理点击事件。但是如果被点击物体是在运行过程中被动态生成的,添加脚本变得很麻烦。因此如果要在游戏中实现鼠标选择某一物体的效果,可以使用以下方法:
function Update () {
if(Input.GetButtonDown("Fire1")) {
//通过用户的点击中获取一条射线ray
var ray : Ray = Camera.main.ScreenPointToRay( Input.mousePosition );
//得到射线ray击中的所有目标
var array : Array = Physics.RaycastAll( ray );
var hit: RaycastHit;
var tf : Transform;
if(array.Count != 0){//若被击中目标数不为零
hit = array[0];//获得被击中的目标
tf = hit.transform;
//tf.gameObject;
}
}
}
function Update () {
if(Input.GetButtonDown("Fire1")) {
//通过用户的点击中获取一条射线ray
var ray : Ray = Camera.main.ScreenPointToRay( Input.mousePosition );
//得到射线ray击中的所有目标
var array : Array = Physics.RaycastAll( ray );
var hit: RaycastHit;
var tf : Transform;
if(array.Count != 0){//若被击中目标数不为零
hit = array[0];//获得被击中的目标
tf = hit.transform;
//tf.gameObject;
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询