获得徽章 8
- 【Unity小分队】@呆呆敲代码的小Y @陈言必行 @恬静的小魔龙Unity
# Day5 Unity3D 小知识:Unity关闭Log输出日志
————————————————
在使用Unity开发项目过程中一般都会使用Debug.Log输出某些日志进行分析。
有些时候在进行Android开发或者接入一些so之类的项目的时候,可能会出现Unity的Log太多导致问题不好分析。
这个时候我们可以在Unity的脚本中直接关闭Unity输出Log的功能,代码如下:
————————————————
void Start()
{
Debug.Log("测试1");
Debug.unityLogger.logEnabled = false;
Debug.Log("测试2");
}
————————————————展开评论3 - 【Unity小分队】@呆呆敲代码的小Y @陈言必行 @恬静的小魔龙Unity
# Day4 Unity3D 小知识:
如果想要自己写的某些代码只在编辑器中执行,但是打包的时候不执行,就可以使用宏定义,比如说:
#if UNITY_EDITOR
Debug.Log("这行代码只在编辑器中执行");
#endif
也可以使用下面这段示例代码:
if (Application.platform == RuntimePlatform.WindowsEditor || Application.platform == RuntimePlatform.OSXEditor)
{
Debug.Log("这行代码只在编辑器中执行");
}展开评论3 - # 我们都是知识分享官
【Unity小分队】@呆呆敲代码的小Y @陈言必行
# Day2 Unity3D 小知识:
遍历数组的时候用foreach是一个很好的方案,但是需要注意一个点。
foreach不支持遍移除元素遍遍历,不然就会报错。
如果确实需要遍历并且移除,那么可以先用一个数组记录要移除的元素,然后再对应着移除元素。展开评论3 - # 我们都是知识分享官
【Unity小分队】@呆呆敲代码的小Y @陈言必行 @恬静的小魔龙Unity
# Day3 Unity3D 小知识:
在Unity中,会遇到让物体跟随鼠标移动的需求,那么就可以使用下面的代码,简单好用:
using UnityEngine;
public class FollowMouse : MonoBehaviour
{
void Update()
{
//首先获取到当前物体的屏幕坐标
Vector3 pos = Camera.main.WorldToScreenPoint(transform.position);
//让鼠标的屏幕坐标的Z轴等于当前物体的屏幕坐标的Z轴,也就是相隔的距离
Vector3 m_MousePos = new Vector3(Input.mousePosition.x, Input.mousePosition.y, pos.z);
//将正确的鼠标屏幕坐标换成世界坐标交给物体
transform.position = Camera.main.ScreenToWorldPoint(m_MousePos);
}
}
先获取到距离,然后转化为世界坐标就搞定了。展开评论3 - @呆呆敲代码的小Y 、@恬静的小魔龙Unity
今日份的Unity小知识已到账!
-----
PlayerPrefs存储游戏数据常用方法:
public static void SetInt(string key, int value); 存值
public static extern int GetInt(string key, int defaultValue); 取值
存取数据的方法有float,int,string 三种类型重载
public static bool HasKey(string key); 包含特定键
如果key在偏好中存在,返回true。
public static void DeleteKey(string key); 删除键
从偏好中删除key和它对应的值。
public static void DeleteAll(); 删除所有键
从游戏存档中删除所有key。请谨慎使用(一般只有测试的时候用)。
public static void Save(); 保存修改展开评论2