나는 이것을 많이 검색 했으므로 도움이 될만한 것을 찾을 수 없었습니다. 내가SpriteNode 화면이 꺼질 때 Swift에서 점수 증가시키기
SpriteNodes 화면의 오른쪽에 산란 스위프트 (3)를 사용하여 SpriteKit에서 게임을 만들고 SKActions을 사용하고하는 것은이 반복 화면의 왼쪽에 그들의 방법을 확인하십시오.
SpriteNode가 내 플레이어 (장면 중간에 있음)를 통과 할 때 점수가 1 올라가는 방식이 필요합니다.
다음 블록은 적 캐릭터를 오른쪽에서 왼쪽으로 이동시킵니다.
func createEnemyBird() {
// Create Enemy Bird 1
enemyBird1 = EnemyBird(imageNamed: "enemy 1")
enemyBird1.position.x = self.frame.width + 100
enemyBird1.position.y = CGFloat.randomBetweenNumbers(firstNum: -(self.frame.size.height/2.8), secondNum: (self.frame.size.height/2.4))
enemyBird1.name = "EnemyBird1"
enemyBird1.initialise()
print(enemyBird1.position.y)
// Add Physics Bodys
enemyBird1.physicsBody = SKPhysicsBody(circleOfRadius: self.size.height/10)
enemyBird1.physicsBody?.allowsRotation = false
enemyBird1.physicsBody?.affectedByGravity = false
enemyBird1.physicsBody?.isDynamic = false
// Add Collision Bitmasks
enemyBird1.physicsBody?.categoryBitMask = ColliderType.Pipes
// Animate Enemy Bird
var enemyBirdAnim = [SKTexture]()
for i in 1..<5 {
let enemyName = "enemy \(i)"
enemyBirdAnim.append(SKTexture(imageNamed: enemyName))
}
let animateEnemyBird = SKAction.animate(with: enemyBirdAnim, timePerFrame: 0.08, resize: false, restore: true)
enemyBird1.run(SKAction.repeatForever(animateEnemyBird))
// Make enemy Bird Move Left
let destination = self.frame.width * 2;
let move = SKAction.moveTo(x: -destination, duration: TimeInterval(6));
let remove = SKAction.removeFromParent();
// Run Enemy Bird Mobe
enemyBird1.run(SKAction.sequence([move, remove]), withKey: "Move")
// Add Children to scene
self.addChild(enemyBird1)
}
또한 기능을 가지고하지만 난 그것을 호출 할 때 모르는 나는 순서에 호출 SKAction 실행 블록을 추가하려고
// Score increase
func incrementScore() {
if enemyBird1.position.x == -(self.frame.size.width/2) {
score += 1
scoreLabel.text = String(score)
}
}
그러나 그것은 아주 잘 작동하지 않았다 실제로 (이상입니다) 계산을 시작하기 전에 약 6 적 캐릭터는
당신이 득점 방법과 선수 위치에 대해 시도한 모든 코드는 유용 할 것입니다. – sicvayne