博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
游戏优化设置
阅读量:6070 次
发布时间:2019-06-20

本文共 2496 字,大约阅读时间需要 8 分钟。

1.代码方面优化,整合函数,将代码分配到物体上不要全放在主角上,代码清晰。

2.改变camera渲染范围。

3.灯光的使用会增加CPU负担,将光源烘焙为光照贴图,只对static物体有用。Compression。

4.限制鼠标在游戏窗口内功能。

using System.Runtime.InteropServices;public class shubiao : MonoBehaviour {    public struct POINTAPI   //POINTAPI是自定义的类名    {        public int x;        public int y;    }    //鼠标可以强行冲出窗口,再被代码拉回游戏,效果不是很好    [DllImport("user32.dll")]    public static extern bool GetCursorPos(ref POINTAPI p);    [DllImport("user32.dll")]//导入库,并申明一个命令    public static extern int SetCursorPos(int x, int y);    [DllImport("user32.dll")]    public static extern bool GetCursorPos(ref int x1, ref int y1);    bool ck = false;	// Use this for initialization	void Start () {        SetCursorPos(200, 200);	}		// Update is called once per frame	void Update () {        if (!ck)        {            //if (Input.mousePosition.x < 1) { SetCursorPos(Mathf.RoundToInt(Screen.width * 0.5f), Mathf.RoundToInt(Input.mousePosition.y)); }            //if (Input.mousePosition.y < 1) { SetCursorPos(Mathf.RoundToInt(Input.mousePosition.x), Mathf.RoundToInt(Screen.height * 0.5f)); }            //if (Input.mousePosition.x > Screen.width - 5) { SetCursorPos(Mathf.RoundToInt(Screen.width * 0.5f), Mathf.RoundToInt(Input.mousePosition.y)); }            if (Input.mousePosition.x < 5)            {                /*int x1 = 0;                  int y1 = 0;                  if (GetCursorPos(ref x1, ref y1))//注意ref用法                       SetCursorPos(x1 + 10, y1);   */                POINTAPI p1 = new POINTAPI();                if (GetCursorPos(ref p1))                    SetCursorPos(p1.x + 10, p1.y);                    }            if (Input.mousePosition.y < 5)            {                /*int x2 = 0;                  int y2 = 0;                  if (GetCursorPos(ref x2, ref y2))                      SetCursorPos(x2, y2 - 10);*/                POINTAPI p2 = new POINTAPI();                if (GetCursorPos(ref p2))                    SetCursorPos(p2.x, p2.y - 10);            }            if (Input.mousePosition.x > Screen.width - 5)            {                /* int x3 = 0;                   int y3 = 0;                   if (GetCursorPos(ref x3, ref y3))                       SetCursorPos(x3 - 10, y3);*/                POINTAPI p3 = new POINTAPI();                if (GetCursorPos(ref p3))                    SetCursorPos(p3.x - 10, p3.y);            }                        }	}    void OnApplicationFocus()    {        ck = !ck;    }

  

转载于:https://www.cnblogs.com/white-L/p/6239565.html

你可能感兴趣的文章
SharePoint 中用户控件的开发及应用
查看>>
10分钟学会搭建Android开发环境 Eclipse: The import android.support cannot be resolved
查看>>
yum只下载软件不安装的两种方法
查看>>
silverlinght 项目
查看>>
记录下DynamicXml和HtmlDocument 使用方式
查看>>
[转]linux awk命令详解
查看>>
C#操作IE浏览器
查看>>
搜狗拼音输入法LINUX版安装
查看>>
运维生产环境常用脚本
查看>>
mysql怎么定义外键
查看>>
SQL与SQL Server
查看>>
java创建文件和目录归纳
查看>>
二维纹理 Texture 2D
查看>>
winner tree 胜者树
查看>>
jquery datagrid设置pageSize不起作用
查看>>
阿里巴巴曾鸣:数据时代来临
查看>>
CI框架初探
查看>>
腾讯QQ企业邮箱POP3/SMTP设置
查看>>
稳态可压Navier-Stokes方程组在Dirichlet边界下的解的存在性
查看>>
查询SQLSERVER执行过的SQL记录
查看>>