2016-01-09 148 views
0

我的代码在这里出了什么问题?我正在尝试从GameScene转换到ActionScene。在模拟器中,没有响应对精灵的触摸。请帮忙!!SpriteKit场景转换XCode 7

import SpriteKit 

class GameScene: SKScene { 
    override func didMoveToView(view: SKView) { 
     /* Setup your scene here */ 
     let sprite = SKSpriteNode(imageNamed:"Spaceship") 

     sprite.xScale = 0.5 
     sprite.yScale = 0.5 
     sprite.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)) 


     self.addChild(sprite) 
    } 

    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { 
     /* Called when a touch begins */ 

     for touch in touches { 
      let location = touch.locationInNode(self) 
      let touchedNode = nodeAtPoint(location) 

      if touchedNode.name == "sprite" { 
       let transition = SKTransition.revealWithDirection(.Down, duration: 0.5) 

       let ActionScene = GameScene(size:scene!.size) 

       ActionScene.scaleMode = .AspectFill 

       scene?.view?.presentScene(ActionScene, transition: transition) 
      } 


     } 
    } 

    override func update(currentTime: CFTimeInterval) { 
    /* Called before each frame is rendered */ 
    } 
} 

回答

1

您初始化您的ActionScene错误。如果你想转换到ActionScene,你不能初始化GameScene(因为我假设你已经在GameScene上并正在尝试转换到actionScene)。所以这段代码

let actionScene = GameScene(size:scene!.size) 

改变这种

let actionScene = ActionScene(size:scene!.size) 
+0

我想过渡到动作场面。切换不起作用,因为没有场景:actionScene,我不能使用* let ActionScene = ActionScene *,因为它给了我一个错误。 @Dieblitzen – JOSH

+0

所以你还没有创建一个ActionScene?如果你还没有创建一个场景,那么你希望如何过渡到它?我建议你创建一个名为ActionScene的新文件,它是SKScene的一个子类,以便你可以转换到它。 – Dieblitzen