谁能帮我,我试图制作一个简单的应用程序,在您触摸屏幕时随机显示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/