2016-06-13 13 views
0

세 개의 SKAction 변수가 있는데, 모두 화면에서 내 볼의 색을 변경합니다. 내 점수가 올라갈 때마다 3 가지 중 임의의 동작을 선택하도록하고 싶습니다. 이것이 가능한가? 네가 나를 도울 수 있다면 그렇게 많은 의미가있을거야. 감사. 점수가 올라갈 때 SKAction을 무작위로 호출 하시겠습니까?

여기까지 내 코드입니다 : 내가 for 루프 내 점수 매번 증가가

let colorize1 = SKAction.colorizeWithColor(.redColor(), colorBlendFactor: 1.0, duration: 0.001) 

let colorize2 = SKAction.colorizeWithColor(.greenColor(), colorBlendFactor: 1.0, duration: 0.001) 

let colorize3 = SKAction.colorizeWithColor(.blueColor(), colorBlendFactor: 1.0, duration: 0.001) 

if score == 0 { 
     Ball.runAction(colorize1) 

    } 

"이 일이"발생합니다. 내 점수가 1 씩 증가 할 때 공이 colorize1, colorize2 또는 colorize3을 수행하기를 원합니다.

미리 도움을 주셔서 감사합니다.

+0

아마도 3 SKActions를 배열에 넣은 다음 임의로 0과 2 사이의 인덱스를 선택하면됩니까? –

답변

2
let colorize1 = SKAction.colorizeWithColor(.redColor(), colorBlendFactor: 1.0, duration: 0.001) 

let colorize2 = SKAction.colorizeWithColor(.greenColor(), colorBlendFactor: 1.0, duration: 0.001) 

let colorize3 = SKAction.colorizeWithColor(.blueColor(), colorBlendFactor: 1.0, duration: 0.001) 

let actions = [colorize1, colorize2, colorize3] 

let randomIndex = Int(arc4random_uniform(3)) 

let action = actions[randomIndex] 

let b = Ball() 
b.runAction(action) 
+1

하지만 한 단계 더 나아가서 인스턴스 변수에 3 가지 액션을 설정하여 스코어가 증가 할 때마다 3 가지 액션을 생성하지 않겠다고 말하고 있습니다. –

+0

절대 동의 –