나는 그 오래된 게임 Simon (브라질의 a.k.a. Genius)을위한 클론을 만들고 있는데, 플레이어는 색깔의 순서대로 누른다. 테스트에 대한전화와 발신 사이의 지연과 지연
는 인터페이스 I 쉽게 액세스 버튼 출구위한 배열을 생성 4 개 컬러 단추 가지고 또한
var buttonArray:[UIButton] = [self.greenButton, self.yellowButton, self.redButton, self.blueButton]
색상의 시퀀스를 저장하는 다른 배열을 생성
var colors:[Int] = []
게임이 시작되면 0에서 3까지의 임의의 숫자 (buttonArray의 인덱스)를 추가하는 함수를 호출하고이 숫자를 colors 배열에 추가합니다. 새 시퀀스에 색상 시퀀스를 추가 한 후 앱에서 해당 sequen을 표시해야합니다 사용자에 대한 CE, 그래서 그는 그것을 그것에 대해
반복 수, 그것은 '깜빡임'
시뮬레이션 버튼의 알파 변경 색상 배열을 통해 루프의 실행을 사용하고 playMoves 함수를 호출func playMoves(){
let delay = 0.5 * Double(NSEC_PER_SEC)
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))
for i in self.colors{
self.buttonArray[i].alpha = 0.2
dispatch_after(time, dispatch_get_main_queue(), {
self.buttonArray[i].alpha = 1
})
}
}
버튼을 0.2로 변경 한 다음 0.5 초 후에 알파를 1로 반환합니다. 나는 dispatch_after를 사용하여 0.5 초를 지나서 알파를 반환합니다. 여러분이 할 수있는 것처럼 위의 코드를 참조하십시오.
첫 번째 실행에서는 색상 배열에 2 개 이상의 항목이있는 경우 루프를 실행할 때 0.5 초 지연이 있지만 동시에 모든 단추가 깜박입니다 .
아마도 내가하고있는 바보 같은 실수 일 겁니다. 그러나 나는 그 순간에 우둔합니다.
대단히 감사합니다!
감사합니다.
시간/지연이 절대로 변경되지 않습니다 –