目前我已经实现了淡入淡出效果,因此当屏幕打开时,它以[alpha = 0]
开头,然后对于它正在绘制的每个Sprite,它都会[alpha += 2.5f * delta_time]
,直到它达到{{1} }} ...
这同样适用于[alpha + 2.5f * delta >= 1]
和[if screen = closed] --> [alpha = 1]
,直到达到[alpha -= 2.5f * delta_time]
...
这在我的窗户上运行得非常好,但是在我的手机上它看起来很好......有时看起来很好,但是大多数时候手机一直保持滞后,所以它有时会像整个淡入效果一样跳过。淡出效果很好,可能因为已经创建了所有对象!
因为对象和游戏正在创建,所以我的游戏是否因为效果而落后?你会如何解决这个问题?
修改
[alpha - 2.5f * delta <= 0]
在渲染时被调用...渲染中还有一些精灵,但它们的处理方式相同!因此,更改屏幕工作正常,但打开屏幕可能会很滞后!
答案 0 :(得分:0)
您的代码没有任何问题,但正如您自己说的那样,在加载应用时游戏会滞后。这意味着由于deltaTime上升,显示淡入效果的帧数较少。
你可以采取的措施是让你有一个最大的deltaTime,你可以在这里做褪色:
> sapply(out, function(x) last(cumprod(1 / c(1, as.numeric(unlist(strsplit(x, "/")))))))
2/3/1 2/3/1 2/3/3 2/3/3 2/3/3 2/1
0.16666667 0.16666667 0.05555556 0.05555556 0.05555556 0.50000000
不过,为了让您了解这些动画的细节,您可能需要查看Universal Tween Engine或scene2d actions