0

J'ai un code simple qui répète l'arrière-plan jamais utiliser Spritekit, je veux avant que des touches apparaissent l'arrière-plan d'être encore et commencer à n'animant ou le défilement lorsque des touches ont commencéEn répétant l'arrière-plan lorsque des touches ont commencé à Spritkit

*// animate the background* 

    let background = SKTexture(imageNamed: "bg.png") 

    let moveTheBackground = SKAction.move(by: CGVector(dx: - 
    background.size().width, dy:0), duration: 10) 

    let backgroundToOriginalPosition = SKAction.move(by: CGVector(dx: 
    background.size().width, dy: 0), duration: 0) 

    let animateTheBackground = 
    SKAction.repeatForever(SKAction.sequence([moveTheBackground, 
    backgroundToOriginalPosition])) 


    *// loop the background animation* 

    var i:CGFloat = 0 
    while i < 2 { 

     bg = SKSpriteNode(texture: background) 
     bg.position = CGPoint(x: background.size().width * i, y: self.frame.midY) 
     bg.size.height = self.frame.height 
     bg.zPosition = -1 
     bg.run(animateTheBackground) 
     self.addChild(bg) 

     i += 1 
    } 

Je veux que ce code se produire lorsque touchesBegan dans SpriteKit, toute aide serait grandement appréciée

Répondre

0

dans tous les programmes de jeu, moyen idéal pour montrer le défilement horizontal est l'utilisation 2 image de fond et ajouter un après l'autre dans le sens horizontal. Déplacez les deux et à chaque fois que background1 croise le plus à gauche, 0 (dans le défilement de droite à gauche) changez sa position en largeur en x. Utilisez la boucle de jeu principale pour incrémenter la position des deux arrière-plans. Dans votre cas, utilisez un drapeau nommé allowScroll, définissez ce paramètre lorsque touchesBegin. Si allowScroll est défini sur true, incrémenter/décrémenter les positions de l'image d'arrière-plan dans la boucle de jeu.

+0

Merci beaucoup Guru, permet de dire que je suis le code ci-dessus, son simple, son tout travail fait Je veux qu'il fonctionne dans la méthode touchesbegan, donc quand quelqu'un touche l'écran, l'arrière-plan commence à animer de droite à gauche avant que tout touche se produise l'arrière-plan devrait être immobile, ne bouge pas et quand l'écran a touché l'arrière-plan devrait commencer à bouger Comment puis-je faire ça arrive ? merci – mue

+0

@mue, vous répondez à votre propre question dans votre question. Mettez le code d'exécution dans vos contacts a commencé événement – Knight0fDragon

+0

Knight0fDragon, je l'ai déjà fait, en mettant le code dans la méthode touchesBegan l'arrière-plan disparaît car il n'est plus disponible sur didMove (pour voir: SKView) fonction, ce que je veux, c'est l'arrière-plan disponible charge de jeu et quand je touche l'écran, l'arrière-plan devrait se déplacer à gauche infiniment – mue

0

Mettre le code pour déplacer à l'intérieur de votre fonction touchesMoved pour obtenir l'arrière-plan pour se déplacer en conséquence aux touches