我正在使用此脚本进行背景滚动。背景是四边形的材料:
using UnityEngine;
using System.Collections;
public class scrollBG : MonoBehaviour {
Update is called once per frame
void Update () {
MeshRenderer mr = GetComponent<MeshRenderer> ();
Material mat = mr.material;
Vector2 offset = mat.mainTextureOffset;
offset.x += Time.deltaTime / 6f;
mat.mainTextureOffset = offset;
}
}
直到游戏玩法大约30秒才能正常工作,然后它非常迟钝并且逐渐变得更糟。游戏设置非常简单,只是从屏幕一侧飞到另一侧的行星的景观视图,你必须躲闪。我怎样才能改善滞后? (行星移动得很好)。可能值得一提的是我正在为Android开发。
答案 0 :(得分:1)
1)我不知道你可以做多长的偏移纹理大小。我认为在这种情况下,只需移动物体,然后改变它......
2)GetComponent运行时间很长。 (mr.material也是)使用缓存。试试这个:
MeshRenderer mr;
Material mat;
void Start(){
mr = GetComponent<MeshRenderer> ();
mat = mr.material;
}
void Update () {
Vector2 offset = mat.mainTextureOffset;
offset.x += Time.deltaTime / 6f;
mat.mainTextureOffset = offset;
}