摘要:
屏幕坐标:左下角为原点。 拖动物体观察打印结果可知:z值是物体到摄像机所在平面(屏幕)的距离,物体在屏幕左下角时x、y为0,物体在屏幕右上角时x、y为当前的屏幕分辨率(Using resolution)。 鼠标坐标:左下角为原点。 移动鼠标观察打印结果可知: z值一直是0,物体在屏幕左下角时x、y为 阅读全文
摘要:
Tasks列表 -- Composites选项 Sequence:图标是“箭头”,相当于And逻辑。下接多个子任务,它们从左到右依次执行。所有子任务执行成功,则Sequence返回成功;任一子任务执行中,则Sequence返回执行中;任一子任务失败,其后边(后面)的子任务都不会再执行,Sequenc 阅读全文
摘要:
using UnityEngine; using System.Collections; using UnityEngine.SceneManagement; using System; public class LoadingPage : MonoBehaviour { public UISlider progressBar; // 目标进度 float targ... 阅读全文
摘要:
一个最简单的协程,也至少需要2帧才能完成。第一帧走到yield return null停止,第二帧从此处接着执行完下面的操作。需求:如果缓存中存在某数据则直接使用,否则联网异步下载。 性能优化:不要在协程内判断是否需要联网下载,在其上层逻辑中就先判断是否需要开启该协程,从而使得原来必须2帧才能完成的 阅读全文
摘要:
玩家角色Player的实体类演示。 阅读全文
摘要:
动画混合树Blend Tree调整动画片段的播放速度: 0 动画不播放 -1 动画倒着播放:如果只有“往前走”的动画,可以变成“往后走”动画 勾选动画是否镜像: 左右颠倒(挥左手变成挥右手) 过度条件勾选has exit time: 等状态结束才能切换状态,且结束后是自动切换。 Solo与Mute: 阅读全文
摘要:
// 判断当前运行平台为Android平台时 if (Application.platform == RuntimePlatform.Android) { if (Input.GetKeyDown(KeyCode.Home)) { // 按Home键 Application.Quit(); // 退出程序 } if (... 阅读全文
摘要:
一、当通过GetComponent获取一个组件时,不在Update中每帧进行查找,可在Start中查找一次并用一个私有变量去保存这个组件。 二、尽量减少Update中的函数调用。可通过协程或加入标志位实现。一般把标志位检查放在函数外面,这样就无需每一帧都检查标志位,减少了设备性能的消耗。是否可以分帧 阅读全文
摘要:
WPF项目中,从Nuget搜索并下载System.Windows.Interactivity.dll,安装到项目中,并在XAML界面引入。 在目标UI控件上添加一个鼠标右键点击弹起事件。 现在的问题是:在Visual Studio中书写EventTrigger的EventName时,没有智能提示的, 阅读全文
摘要:
ArrayList:长度可变数组,不限定类型 ↓ List:替代ArrayList,限定类型 Hashtable:哈希表,不限定类型 ↓Dictionary:替代Hashtable,限定类型 SortedList:可排序的列表 阅读全文
摘要:
public class CameraFollow : MonoBehaviour { public Transform target; // The position that that camera will be following. public float smoothing = 5f; // The speed with which... 阅读全文
摘要:
例如,通过按键/摇杆来操作飞机在三维空间的飞行状态。包括速度(大小,方向)、位移。 阅读全文
摘要:
方法一:改变物体的transform 方法二:使用刚体的位移函数MovePosition() 方式三:改变刚体的速度rigidbody.velocity。速度是矢量,具有方向性。 阅读全文
摘要:
其实思路也很简单,就是先获取到鼠标的坐标,然后赋值给目标物体即可。 这是物体即时改变位置的做法,如果想要物体朝鼠标位置缓慢移动(有过程时间),可以尝试用Vector2.Lerp()。 阅读全文
摘要:
int floorMask; // 自动寻路层 void Awake() { floorMask = LayerMask.NameToLayer("Floor"); } void Turning() { Ray camRay = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit floorHit; ... 阅读全文
摘要:
当碰撞器Collision组件身上的属性IsTrigger勾选为True时,该碰撞器就成了触发器。 区别:1、能够产生的回调和函数不同。碰撞器:MonoBehaviour.OnCollisionEnter/Stay/Exit触发器:MonoBehaviour.OnTriggerEnter/Stay/ 阅读全文
摘要:
LayerMask mask = 1 << LayerMask.NameToLayer("UI"); Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hitInfo; if (Physics.Raycast(ray, out hitInfo, 100000.0f, mask.value)) ... 阅读全文
摘要:
Awake在MonoBehavior创建后就立刻调用,Start将在MonoBehavior创建后在该帧Update之前,在该Monobehavior.enabled == true的情况下执行。 我们通常书写的脚本,并不会定义[ExecuteInEditMode]这个Attribute,所以Awa 阅读全文