나는 버튼을 눌렀을 때 총알이 나쁜 녀석에게 발사되는 게임을 만들고있다. 나는 그것이 불릴 때마다 더 나쁜 녀석을 추가하는 기능을 만들었다. 여기 한 번 이상 만진 경우 부모 노드를 제거하는 방법은 무엇입니까?
는 코드입니다 (이 방법은 여러 번 호출)func BadGuyPosition()
let BadGuyCircle = SKSpriteNode(imageNamed: "CircleBadGuy")
BadGuyCircle.zPosition = 1
//var mininmum = self.size.width/600
let TooMuch = self.size.height - 60
let PointToShow = UInt32(TooMuch)
BadGuyCircle.position = CGPointMake(CGRectGetMaxX(self.frame) + 20 , CGFloat(arc4random_uniform(PointToShow)))
let action2 = SKAction.moveToX(-100, duration: 5.0)
let remove = SKAction.removeFromParent()
BadGuyCircle.runAction(SKAction.sequence([action2,remove]))
//Physics BadGuy
BadGuyCircle.physicsBody = SKPhysicsBody(rectangleOfSize: BadGuyCircle.size)
BadGuyCircle.physicsBody?.categoryBitMask = Numbering.Badguy
BadGuyCircle.physicsBody?.contactTestBitMask = Numbering.Laser
BadGuyCircle.physicsBody?.affectedByGravity = false
BadGuyCircle.physicsBody?.dynamic = true
self.addChild(BadGuyCircle)
2 개 총알이 나쁜 사람과 접촉하게되는 경우 나쁜 사람이 부모로부터 삭제되도록 내가 원하는.
1 개의 총알이 적과 접촉하면 부모에게서 제거됩니다.
func didBeginContact(contact: SKPhysicsContact) {
let A : SKPhysicsBody = contact.bodyA
let B : SKPhysicsBody = contact.bodyB
if (A.categoryBitMask == Numbering.Badguy) && (B.categoryBitMask == Numbering.Laser) || (A.categoryBitMask == Numbering.Laser) && (B.categoryBitMask == Numbering.Badguy)
{
runAction(BadGuyLostSound)
bulletsTouchedBadGuy(A.node as! SKSpriteNode, Laser: B.node as! SKSpriteNode)
}
}
func bulletsTouchedBadGuy(BadGuy: SKSpriteNode, Laser: SKSpriteNode){
Laser.removeFromParent()
BadGuy.removeFromParent()
}
은 누구나 내가 그래서 적 부모로부터 삭제하기 위해 하나 개 이상의 총알을 수행하게 할 수있는 방법을 가르쳐주세요 수 (여기에 코드입니다). 당신이 그 사이에 제거되는 과정에있는 충돌 노드를 검색 충돌 할 수 didBeginContact
게임에서 노드를 제거하는 방법을 제거하거나 실행할 경우
Alessandro - didBeginContact에서 노드를 제거하여 충돌을 생성하려고 시도했지만 실패했습니다. 이것이 일어난 것을 본 적이 있습니까? –
게임이이 버그로 애플 스토어에 있었기 때문에 약간의 시간이 있었지만, 나는 행복하지 않았습니다 .didBeginContact는 여러 번 호출 할 수 있으므로 노드를 제거 할 수있는 적절한 장소가 아닙니다. –
안녕하십니까, 질문에 대답 해 주셔서 감사합니다. BadGuy : SKSpriteNode 클래스가 현재 작업중인 클래스 안에 있어야합니까? 아니면 다른 신속한 파일을 만들어야합니까? 그렇지 않다면 어디로 가는지 말해 줄 수 있니? ThankYou –