J'ai deux scènes que je veux permuter. Sur chaque scène, il y a un bouton qui passe à l'autre scène, et j'aimerais que le bouton soit au milieu de l'écran. Pour la première scène cela fonctionne (je mets le bouton à 0,0). Mais pour la deuxième scène, le point d'ancrage de 0,0 est en bas à gauche au lieu de au centre .. et étrangement, en revenant à la première scène, le bouton apparaît à gauche du bouton, même s'il était centré avant!Swift: Spritekit: Scènes de commutation (point d'ancrage?)
- scène 1: Bouton centré
- scene 2: @bottom bouton gauche
- scène 1: @bottom bouton gauche
- scene 2: @bottom bouton gauche
- scène 1: bouton @bottom gauche
- etc ..
est le code ici (code est identique pour les deux scènes, autre que la scène na mes)
class LevelGeneral: SKScene {
var buttonplay = SKSpriteNode()
override func didMove(to view: SKView) {
buttonplay = SKSpriteNode(imageNamed: "button1")
buttonplay.size = CGSize(width: self.frame.width/2, height: self.frame.height/8)
buttonplay.position = CGPoint(x: 0, y: 0)
self.addChild(buttonplay)
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in touches {
let location = touch.location(in: self)
if buttonplay.contains(location) {
let nextScene = GameScene(size: self.size)
let reveal = SKTransition.fade(withDuration: 0.1)
self.view?.presentScene(nextScene,transition: reveal)
}
}
}
}
si je change la position du bouton pour être screenwidth/2, screenheight/2 (dans les deux scènes), le bouton apparaît dans le coin supérieur droit au début, et par la suite centrée. toute aide serait appréciée
Quel est le code de la deuxième scène ? – bearacuda13
Pourquoi ne pas utiliser buttonPlay.position à la place? – sicvayne
code pour la deuxième scène est identique à la première, mais "niveau général" et "GameScene" sont commutés – mdamkani