gpt4 book ai didi

libgdx - setText 在移动时将文本按钮在初始位置摇动一两微秒

转载 作者:行者123 更新时间:2023-12-01 23:41:11 32 4
gpt4 key购买 nike

我有一个 Actor ,我正在使用 moveTo(destinationx, destinationy, time) 来移动它。

问题是 Actor 是一个 TextButton,我需要在运动发生时更改文本,这带来了严重的问题。看起来 setText 调用了 invalidate 和 invalidateHierarchy,因此当调用该方法时,TextButton 的位置会重置到初始位置一段时间,以便移动继续进行文本按钮位置(初始化时设置的位置 - )的摇动(跳跃)。中心())。

只要在 Actions.moveTo 仍在运行时我不修改文本,我的 Actor Action 的所有动态都会按计划运行。如果我确实修改了它,那么在调用 setText 时我会看到文本的抖动。

如何解决这个问题?

最佳答案

我能够通过在表中放置一个按钮并在按钮上使用 moveTo 操作来重现您的问题。问题是,当一个 widget 属于一个 Table 时,Table 负责控制 widget 的位置和大小,因此影响位置的操作将无法正常工作。

如果您将屏幕上的小部件移动到任意位置,那么将其保留在静态表格中是没有意义的。如果将 Button 直接添加到舞台上,问题就会消失。

但是,我发现了另一个问题。如果 Button 没有 Table 父级,则当其文本更改时,它不会正确更新自己的大小。

我找到了解决方案。将按钮放置在容器中并将容器添加到舞台。在包装按钮的容器上使用 MoveToActions,而不是按钮本身。

关于libgdx - setText 在移动时将文本按钮在初始位置摇动一两微秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28451260/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com