Unity API学习——补充

这篇博客详细介绍了Unity的API使用,包括射线检测的Raycast和RaycastAll方法,2D和3D的区别以及注意事项。接着探讨了UGUI事件监听的不同方式,如直接拖拽、代码添加以及实现接口。此外,还讲解了WWW类的文件下载功能和触摸事件的处理。最后,涉及了角色控制器CharacterController的关键属性和方法,以及Mesh和Material在模型渲染中的应用。
摘要由CSDN通过智能技术生成

射线检测

  1. Raycast:2D检测和3D检测方法差不多,但是要注意2D检测使用Physics2D,并且被检测物体上需要添加2D的Collider,默认只检测碰撞到的第一个物体(物体重叠或者处于同一个直线上)
  2. RaycastAll:检测碰撞到的所有物体,返回数组
测试代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour {
   

	void Start () {
   
		
	}
	
	void Update () {
   
        Ray ray = new Ray(transform.position+transform.forward, transform.forward);

        //bool isCollider = Physics.Raycast(ray);
        //bool isCollider = Physics.Raycast(ray, 1);
        RaycastHit hit;
        //bool isCollider = Physics.Raycast(ray, out hit);
        bool isCollider = Physics.Raycast(ray, Mathf.Infinity,LayerMask.GetMask("enemy1"));//表示只跟enemy1 层发生碰撞
        
        Debug.Log(isCollider);
        //Debug.Log(hit.collider);
        //Debug.Log(hit.point);
	}
}

UGUI事件监听

  1. 直接拖拽:对象不受限制
  2. 代码添加:对象不受限制
测试代码
using System.Collections;
using System.Collections.Generic;
using System;
using UnityEngine;
using UnityEngine.UI;

public class UIEventManager : MonoBehaviour {
   

    public GameObject btnGameObject;
    public GameObject sliderGameObject;
    public GameObject dropDownGameObject;
    public GameObject toggleGameObject;

	void Start () {
   
        btnGameObject.GetComponent<Button>().onClick.AddListener(this.ButtonOnClick);
        sliderGameObject.GetComponent<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值