をコーディングすると、何らかの問題が発生しました。 「自動」武器を作ろうとしていますが、セレクタを正しく機能させることができません。 は、ここで私はこれを実行すると、私はセレクタは何も参照しないというエラーが出ますけれども、コードxcodeでセレクタを使用して、スウィフトで
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
for touch in (touches){
let location = touch.location(in: self)func spawnBullets(){
let Bullet = SKSpriteNode(imageNamed: "circle")
Bullet.zPosition = -1
Bullet.position = CGPoint(x: ship.position.x,y: ship.position.y)
Bullet.size = CGSize(width: 30, height: 30)
Bullet.physicsBody = SKPhysicsBody(circleOfRadius: 15)
Bullet.physicsBody?.categoryBitMask = PhysicsCategory.Bullet
Bullet.name = "Bullet"
Bullet.physicsBody?.isDynamic = true
Bullet.physicsBody?.affectedByGravity = false
self.addChild(Bullet)
var dx = CGFloat(location.x - base2.position.x)
var dy = CGFloat(location.y - base2.position.y)
let magnitude = sqrt(dx * dx + dy * dy)
dx /= magnitude
dy /= magnitude
let vector = CGVector(dx: 30.0 * dx, dy: 30.0 * dy)
Bullet.physicsBody?.applyImpulse(vector)
}
spawnBullets()
Timer.scheduledTimer(timeInterval: 0.2, target: self, selector:#selector("spawnBullets"),userInfo: nil, repeats: true)
}
" です。誰でも私を助けてくれる? ありがとう
ターゲット/アクションのセレクタは、クラスのトップレベルになければなりません。 'let location = ... 'という行は気違いです。 – vadian
はい、そうです。しかし、コードをコピーしたときのエラーだった –