Unity2D 学习笔记 0.Unity需要记住的常用知识

Unity2D 学习笔记 0.Unity需要记住的常用知识

前言

从小是一个很喜欢玩游戏的人,大概四岁的时候,在父亲的帮助下,接触了红色警戒,后来又在同一栋楼的好朋友的推荐下,了解到了星际争霸和魔兽争霸。从那时候开始就总想做出一款有着类似星际争霸那样的剧情宏大,玩法新颖的游戏,希望自己能够坚持下去吧。

之后所有的学习笔记都是基于自己一个练手的项目,下面介绍我用的Unity版本,供大家借鉴:

Unity版本:2023.1.12f1c1

使用的VS版本2022

这一章主要是记录一些奇怪的设置,以及一些预设函数名称和用法。将来也会不断补充。

调整Project Setting

Tilemap相关(创建地图块)

C#脚本相关

程序运行函数

private void Awake()

在加载脚本实例时会调用此函数。

此函数的调用比Start更早。

void Start()

在程序开始正式运行之前,调用的用于初始化程序的函数。
注意:仅在首次调用Update函数之前会执行此函数。

void Update()

在每一帧都会运行一次该函数,作为程序的主函数,十分重要。

Collider2D碰撞检测

private void OnTriggerStay2D(Collider2D player)

用于检测是否有物体与该Collider包围盒有接触。只要有物体待在检测框内,便会一直出现结果。具体运行逻辑为:每帧运行一次这个函数,检测相关碰撞。
注意: 这个检测会因为物体进入睡眠状态而停止,如何改变睡眠状态见后文Debug部分。

private void OnTriggerEnter2D(Collider2D player)

用于检测物体是否进入检测框,只会在进入的瞬间运行。

如何确定碰撞物体的性质

  1. 利用碰撞物体的tag进行标识,如上图。

关键词

this

用于代指该脚本类,这与C++中相关概念类似。

gameObject

代指该脚本所挂在的gameObject。

void GameObject.SetActive(bool value)

用于设置该对象能否使用,是否激活。

T GameObject.GetComponent<T>()

用于获取该对象的某个组件。

Mathf

一个数学相关的库文件,可以直接引用,不需要Include和Using

Mathf.Clamp(value, min, max)

将value规范化到[min, max]区间内:
v ˉ = m i n ( m a x ( v , m i n ) , m a x ) \bar{v} = min(max(v, min), max) vˉ=min(max(v,min),max)

输入检测Input

键盘输入相关

Input.GetAxis(string name)

用于获取在name方向上的输入,例如有"Horizontal"(水平),"Vertical"(垂直)。具体设置可以在Project Settings>Input Manager 里面修改。

bool Input.GetButtonDown(string ButName)

获取目标按钮的按下状态,如果按下 则返回true。

Unity Component相关

Debug和奇怪问题

1.Q:为什么在碰撞检测脚本中,使用OnTriggerStay2D函数时,物体进入并Stay后,该函数只会响应一会,随后便不响应了?

A:这是因为这个物体在Stay过程中,会自动休眠。如果想要改变这个现状,可以修改Edit>Project Settings>Physics 2D>Time To Sleep 这个值,或改变其下面两个参数,来控制休眠时间。

相关推荐
yanyu-yaya5 分钟前
速学兼复习之vue3章节3
前端·javascript·vue.js·学习·前端框架
沉默-_-39 分钟前
微信小程序网络请求 wx.request 详解
网络·学习·微信小程序·小程序
嗯嗯=1 小时前
STM32单片机学习篇5
stm32·单片机·学习
头疼的程序员2 小时前
计算机网络:自顶向下方法(第七版)第二章 学习分享(二)
学习·计算机网络
沉默-_-2 小时前
微信小程序页面配置详解
学习·微信小程序·apache·微信开发者工具
北京云帆互联科技2 小时前
云帆学习考试系统更新说明v8.8.0
学习·考试系统·高校考试系统
Quintus五等升3 小时前
深度学习③|分类任务—AlexNet
人工智能·经验分享·深度学习·神经网络·学习·机器学习·cnn
张心独酌3 小时前
学习Rust:实现RESTful 任务管理 API(Todo API)
学习·rust·restful
反向跟单策略3 小时前
如何正确看待期货反向跟单策略?
大数据·人工智能·学习·数据分析·区块链
QiZhang | UESTC3 小时前
学习日记day65
学习