Ich versuche, einen Knoten von einem Tile zu einem anderen Tile zu verschieben. Das Problem hier ist: Wenn ich dies ausfühle, wird die Position.y von Knoten etwas wie 63.9999 und nicht 64, wenn bei 32 gestartet und direkt nach dem Start des Bildschirms berührt.Warum wird SKAction.sequence nicht korrekt beendet, nachdem die letzte Aktion beendet wurde?
class A: SKScene {
//Changed if screen Touched
var abc = 0
var node = SKSprideNode!
override viewDidLoad() {
node.run(SKAction.repeatForever(SKAction.sequence(
[
SKAction.moveBy(x: 0, y: 32, duration: 1),
SKAction.run{
self.node.position.y = round(self.node.position.y)
if self.abc != 1 {
self.node.removeAllActions()
}
}
]
)))
}
override func touchesBegan(...) {
abc = 1
}
override update() {
print(node.position.y)
}
}
Hier wird die Ausgabe von der Konsole aus:
32.0
32.0
33.4936981201172
34.4316482543945
35.3333969116211
36.4936981201172
...
...
63.9936981201172
64.0
64.4936981201172
64.4936981201172
64.4936981201172
es 64,0 bei der sein sollte, und warum ist es bei 64,0 nicht?
ist Ihre Sprite Breite/Höhe eine seltsame Größe? – Knight0fDragon
Nein, wie die Kacheln 32x32 – Lirf
ok, das könnte der Grund dafür sein, dass der Mittelpunkt deines Sprites 15.5.15.5 ist – Knight0fDragon