2017-01-13 1 views
2

spriteNodes의 클러스터를 만드는 루프가 있습니다. 그것은 사람들의 군중입니다. 컬러 블렌드 팩터 (colorBlendFactor)를 사용할 때 스프라이트는 검정색을 사용하지 않는다는 연구 결과와 같이 단순한 흰색 텍스처입니다.colorBlendFactor를 사용하여 스프라이트의 색상 변경

나는 내 자신의 색이 잔뜩 들어간 UIColor 용 확장 프로그램도 가지고 있습니다. 다음 코드를 사용하여 스프라이트의 색상을 설정하면 올바르게 작동합니다.

let colorArray = [UIColor.red, 
         UIColor.yellow, 
         UIColor.gray, 
         UIColor.cyan] 
    let rndColour = colorArray[Int(arc4random_uniform(UInt32(colorArray.count - 1)))] 
    person.color = rndColour 
    person.colorBlendFactor = 0.6 

그러나 사용자 정의 색상으로 colorArray를 채울 때 스프라이트는 흰색으로 만 표시됩니다. 나는 colorBlendFactor = 1을 시도해 보았고 표준 색상과 사용자 정의 색상을 섞어서 표준 색상 만 사용할 수 있습니다.

이유가 무엇입니까?

+2

하십시오, 미안, 사용자 정의 색상 문제 (들)가 무엇인지 이해할 수 있습니다 확장을 참조 할 필요가있다. – Confused

+0

고마워, 내가 이것을 읽 자마자 클릭 해 – Steve

+2

도움이 되니 기쁩니다! 나는 당신이 관리하는 것보다 훨씬 더 신참 같은 실수를 저지른 제작자입니다. ConstantlyKickingMySelf는 "혼란 스러움"으로 정하기 전에 아바타 이름 지정 옵션이었습니다. – Confused

답변

2

글자 그대로 혼란스러워서 확장 프로그램을 보도록 요청하면 페니가 떨어졌습니다. 루키 오류.

내 확장이 닮은 :이 색상은 0과 1 사이 여야합니다

extension UIColor { 

    public class var maroon: UIColor { 
     return UIColor(red: 105, green: 14, blue: 58, alpha: 1) 
    } 
} 

, 그들은 255 ... 최대 색상으로 구분해야합니다. 그래서 그들은 이렇게 보일 것입니다.

extension UIColor { 

    public class var maroon: UIColor { 
     return UIColor(red: 105/255, green: 14/255, blue: 58/255, alpha: 1) 
    } 
} 

아마 더 자주 휴식을 취해야한다 ...