【发布时间】:2014-01-24 19:02:14
【问题描述】:
我有一个 Unity 足球游戏(2D 自上而下视图),当玩家(用户团队)拿到球时会出现延迟。我使用 Texture2d [] 帧为播放器设置动画。我有 48 帧图像。将帧数减少到 32 帧是否会加快游戏速度?
这就是我制作动画的方式,
void Update () {
if (players.moving == true)
{
if (timer > 0.0f)
timer -= Time.deltaTime;
if (timer <= 0.0f)
timer = 0.0f;
if (timer == 0.0f)
NextFrame();
}
else
{
if (players.movingUp == true)
renderer.material.mainTexture = frames[0]; }
public void NextFrame()
{
if (!play)
return;
//test velocity direction
if (players.movingUp == true)
{
if (northFrame >= 0 && northFrame <= 2)
{
northFrame ++;
renderer.material.mainTexture = frames[northFrame];
}
else
{
northFrame = 0;
renderer.material.mainTexture = frames[northFrame];
}
//renderer.material.mainTexture = frames[northFrame];
//Debug.Log ("North frame: " + northFrame);
}
}
这是我的用户播放器更新功能。
if (players[0].GetComponent<TPCCS>().highlight == true)
{
ring1.renderer.enabled = true;
ring2.renderer.enabled = false;
ring3.renderer.enabled = false;
ring4.renderer.enabled = false;
}
if (players[1].GetComponent<TPCCS>().highlight == true)
{
ring1.renderer.enabled = false;
ring2.renderer.enabled = true;
ring3.renderer.enabled = false;
ring4.renderer.enabled = false;
}
if (players[2].GetComponent <TPCCS>().highlight == true)
{
ring1.renderer.enabled = false;
ring2.renderer.enabled = false;
ring3.renderer.enabled = false;
ring4.renderer.enabled = true;
}
rigidbody.freezeRotation = true;
【问题讨论】:
-
动画精灵可以解决问题,michaelcummings.net/mathoms/…
-
啊,是的,你去。我真的必须在某个时候检查 4.3 的新 2D 功能。但这确实是相同的原理。