制作Unity3D游戏遇到的问题的笔记
综合文库 186 0
实名

通过了实名认证的内容创造者

发布于 2022-12-31 16:21:15

您需要 登录 才可以下载或查看,没有账号?注册

x
774275ce2bd23549c0.png
屏幕分辨率适配
Camera.main.ResetAspect ();
Camera.main.aspect = 480f / 800f;


摄像机平滑跟随
if (obj != null && obj.transform.position.y >= transform.position.y)
{
transform.position = Vector3.Lerp (transform.position, new Vector3 (0, obj.transform.position.y, -2f), Time.smoothDeltaTime);
}


向量归一
Vector3 vec3 = new Vector3 (other.transform.position.x - transform.position.x,
                            other.transform.position.y - transform.position.y,
                            0f).normalized;
.normalized:返回一个Vector3值
.normalize: 无返回值。


高版本Unity3D需要自己下载包(第一人称之类的,天空盒等).


返回一个碰撞点坐标
RaycastHit hit;
hit.point;

角色远近切换
http://blog.csdn.net/dingxiaowei2013/article/details/18281261
第一人称第三人称角色控制组件修改C#版本
http://www.xuanyusong.com/archives/1405

手机返回键退出
Input.GetKey(KeyCode.Escape)
{
Application.Quit();
}

Quaternion.Euler 欧拉角
Target.transform.rotation = Quaternion.Euler(float x,float y,float z);
Target.transform.rotation = Quaternion.Euler(Vector3);

u3d主角面朝方向一定区域内对象角度计算
http://tech.ddvip.com/2013-02/1359998787190119.html

Transform.TransformDirection 变换方向
从自身坐标到世界坐标变换方向
transform.TransformDirection(Vector3);
这个操作不会受到变换的缩放和位置的影响,返回的向量与direction有同样的长度。

C++常用算法
http://blog.sina.com.cn/s/blog_61bebe480100v7c7.html
蓝港面试题
http://bbs.9ria.com/thread-288394-1-1.html
序列化与反序列化
http://www.cnblogs.com/Alpha-Fly/archive/2012/03/30/2425396.html
http://www.cnblogs.com/NetDeng/archive/2010/03/11/1683504.html

动画的混合
混合树
float runflag = Input.GetAxis("Horizontal");
anim.SetFloat("runflag",runflag+1f);

yield return new WaitForSeconds (1);//等待1秒
//yield return 1 //return num  代表 延时num桢

委托,事件
//声明一个委托,相当于定义了一种类型的变量
public delegate void DoSomethingHandler(string b);
public event DoSomethingHandler doEvent;

unity3d脚本函数执行顺序
1.void Awake(){}
2.void OnEnable(){}
3.void Start(){}
4.FixeUpdate(){}
5.Update(){}
6.LateUpdate(){}
7.OnGUI(){}
8.OnDisable(){}
9.OnDestroy(){}

泛型是程序设计语言的一种特性。
泛型类是引用类型,是堆对象,主要是引入了类型参数这个概念。

xml常用方法:

定义xml文档:XmlDocument xmlDoc = new XmlDocument();

初始化xml文档:xmlDoc.Load("D:\\book.xml");//找到xml文件

创建根元素:XmlElement xmlElement = xmlDoc.CreateElement("", "Employees", "");

创建节点:XmlElement xeSub1 = xmlDoc.CreateElement("title");

查找Employees节点:XmlNode root = xmlDoc.SelectSingleNode("Employees");

添加节点:xe1.AppendChild(xeSub1);

更改节点的属性:xe.SetAttribute("Name", "李明明");

移除xe的ID属性:xe.RemoveAttribute("ID");

删除节点title:xe.RemoveChild(xe2);

xml存档(加密,跨平台)
http://blog.sina.com.cn/s/blog_471132920101d3kh.html

正则表达式(限制输入输出)
http://baike.baidu.com/link?url= ... n9OsEC5iP2hNwEzVDxa

Unity3D NGUI UIInput制作输入框屏蔽特殊字符(只允许输入正整数)
http://www.mamicode.com/info-detail-495339.html

NGUI的使用
http://blog.csdn.net/a351945755/article/details/34432727

XML 存档路径
string path = Application.persistentDataPath;  手机存档路径
                string path1 =Application.dataPath;
                string path2 = Application.streamingAssetsPath;
                string path3 = Application.temporaryCachePath;

unity3d调用外部程序方法
using System.Diagnostics;
Process.Start(@"C:\WINDOWS\system32\osk.exe");

NGUI复制预置体
GameObject tObj;
GameObject obj = NGUITools.AddChild(gameObject,tObj);
obj.name = "adds"+i;
i++;

if(i<10)
obj.name = "adds0"+i;

grid.Reposition();



本帖被以下画板推荐:

这个人有点懒...
使用道具 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表