J'ai une classe lettre comme ceci:libGDX incapable d'accomplir l'action
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))
}
}
Dans mon écoute tactile, je ceci:
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
}
La logique est assez simple. Lorsque l'utilisateur touche l'un des letter
s, j'appelle la fonction animateSelect()
. Lorsque je l'ai exécuté, animateSelect
a été appelé, mais il n'y a pas d'effet scaleUp
. J'ai essayé d'effacer toutes les actions avant addAction
mais toujours la même chose.