谁能帮我,我试图制作一个简单的应用程序,在您触摸屏幕时随机显示4张图像。问题是,当我点击屏幕时,我没有任何图像,也没有错误。帮帮我!

这是我的代码:

import SpriteKit

class GameScene: SKScene {

    var num1 = SKSpriteNode(imageNamed: "num1")
    var num2 = SKSpriteNode(imageNamed: "num2")
    var num3 = SKSpriteNode(imageNamed: "num3")
    var num4 = SKSpriteNode(imageNamed: "num4")

    override func didMoveToView(view: SKView) {

        self.physicsWorld.gravity = CGVectorMake(0, -9.8)
        num1.size = CGSize(width: 150, height: 150)
        num2.size = CGSize(width: 150, height: 150)
        num3.size = CGSize(width: 150, height: 150)
        num4.size = CGSize(width: 150, height: 150)

        let sceneBody = SKPhysicsBody(edgeLoopFromRect: self.frame)
        sceneBody.friction = 0
        self.physicsBody = sceneBody
    }

    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {

        for touch: AnyObject in touches {
                _ = touch.locationInNode(self)

            let random = arc4random_uniform(4)

            switch random {
            case 0:
                self.addChild(num1)
                print("number 0")
            case 1:
                self.addChild(num2)
                print("number 1")
            case 2:
                self.addChild(num3)
                print("number 2")
            default:
                self.addChild(num4)
                print("default")
            }
        }
    }
}

最佳答案

你没有设置每个精灵应该出现的位置

在每个self.addChild(...)之前,您应该执行以下操作

numX.position = location

并像这样重新排列touchesBegan方法
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
    var location

    for touch in touches {
        location = touch.locationInNode(self)
    }

    let random = arc4random_uniform(4)

    switch random {
    case 0:
        num1.position = location
        self.addChild(num1)
        print("number 0")
    case 1:
        num2.position = location
        self.addChild(num2)
        print("number 1")
    case 2:
        num3.position = location
        self.addChild(num3)
        print("number 2")
    default:
        num4.position = location
        self.addChild(num4)
        print("default")
    }

}

关于ios - 触摸屏幕时为什么我的图像没有弹出?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39285917/

10-09 18:11
查看更多