libGDX无法执行操作
我有这样一个字母类:libGDX无法执行操作,libgdx,kotlin,Libgdx,Kotlin,我有这样一个字母类: class Letter : Label { val char: Char var interactable = true constructor(char: Char) : super(""+char, H.letterStyle()) { this.char = char } fun animateSelect() { addAction(Actions.scaleTo(3.0f, 3.0f, 0
class Letter : Label {
val char: Char
var interactable = true
constructor(char: Char) : super(""+char, H.letterStyle()) {
this.char = char
}
fun animateSelect() {
addAction(Actions.scaleTo(3.0f, 3.0f, 0.5f))
}
fun animateUnselect() {
addAction(Actions.scaleTo(3.0f, 3.0f, 0.5f))
}
}
在我的touch listener中,我有:
override fun touchDown(event: InputEvent?, x: Float, y: Float, pointer: Int, button: Int): Boolean {
var currentInteractingLetter: Letter? = null
for (letter in letterList) {
if (letter.bound.contains(x, y)) {
currentInteractingLetter = letter
break
}
}
if (currentInteractingLetter == null) {
} else {
selectedLetters.add(currentInteractingLetter)
currentInteractingLetter.animateSelect()
currentInteractingLetter.interactable = false
}
return true
}
逻辑相当简单。当用户触摸任何一个字母
s时,我将调用animateSelect()
函数。
当我运行它时,
animateSelect
确实被调用,但是没有scaleUp
效果。在addAction
之前,我已尝试清除所有操作,但仍然相同 标签不直接支持缩放
解决此问题的简单方法是将标签放入容器上的,setTransform(true)
,然后将缩放动作添加到容器中
val container= Container<Label>().apply {
isTransform=true
actor=label // Set your Label to container
}
container.addAction(Actions.scaleTo(3.0f, 3.0f, 0.5f))
val container=container()。应用{
isTransform=true
actor=label//将标签设置为容器
}
container.addAction(Actions.scaleTo(3.0f、3.0f、0.5f))