2016-09-04 2 views
-1

을 설정하는 응답하지,하지만 내 경우는, 내가 아직이 일을 보지 못했다 좀 다릅니다.SKSpriteNode 색상 및 blendModeFactor (SpriteKit & 스위프트) 이것에 대해 몇 가지 다른 게시물이 알고

필자는 볼형 스프라이트를 사용하고 있는데,이 스프라이트를 탭할 때마다 동일한 스프라이트의 색칠 된 버전을 추가하고 싶지만 fadeIn 및 fadeOut의 효과가 있습니다.

당신에게 예제 코드 줄 것

:이 시점까지, 이제

self.ball = SKSpriteNode(imageNamed: "ball") 
self.ball.position = CGPoint(x: midX, y: midY) 
self.ball.zPosition = 1 
self.ball.size = CGSize(width: 100, height: 100) 

self.touchEffect = SKSpriteNode(imageNamed: "ball") 
self.touchEffect.position = CGPoint(x: 0, y: 0) 
self.touchEffect.zPosition = 2 
self.touchEffect.size = CGSize(width: 100, height: 100) 
self.touchEffect.color = UIColor.whiteColor() 
self.touchEffect.blendColorFactor = 1 
self.touchEffect.alpha = 0 

self.ball.addChild(self.touchEffect) 
self.addChild(self.ball) 

을 ... (나는 1 알파를 넣어 경우) 심지어은 colorised touchEffect 스프라이트를 볼 수 있지만, 같은 원래 스프라이트의 색. 왜 이런거야? touchesBegan에서

나는 같은 것을 할 :

func showTapEffect() { 
    let fadeIn = SKAction.fadeInWithDuration(0.3) 
    let fadeOut = SKAction.fadeOutWithDuration(0.3) 
    let sequence = SKAction.sequence([fadeIn,fadeOut]) 

    self.touchEffect.runAction(sequence) 
} 

나는 또한 나의 아주 같은 게임 내에서 다양한 시나리오에 사용하고는했다. 이 독특한 경우가 왜 그렇게되는지 모릅니다. 어떤 힌트? 더 많은 예제 코드가 필요하다면 알려주세요. 현재 코드의 사본을 붙여 넣지 않습니다. 그냥 내 메모리에서 입력 했으므로 입력 오류가있을 수 있습니다. 그러나 코드는 매우 비슷합니다.

사전에

감사합니다 (그리고 내 스프라이트 어두운 또는 검은 색 아니다).

+0

이 사용하려고 했습니까 (여전히 적용됩니다 혼합, 당신은 당신이 혼합하는 방법에 수학을 알아낼 필요가 있기 때문에, 어느 정도) 규모의 이미지 및 사용 색상은 당신이 그들을 그 색을 유지하려는 경우에만 흰색이 아닌 다른 색깔? – 0x141E

+0

위치가 상대적으로 터치 영향을 CGPoint.zero이 – Knight0fDragon

+0

예 내가 너무하지만 Knight0fDragon @ 색없이 공을 볼 실제로 수 0x141E – msqar

답변

0

는 의견이 너무 크기 때문에 나는이 답변을 게시하고, 그리고 필요가있을 경우 여기에 코드를 게시 할 수 있습니다.

난 그냥 당신은 무슨 색깔 당신이 얻을 기대하고 화이트와 혼합되어, 이상 3 배처럼 일을 다시 읽어? 파란색과 흰색을 혼합하면 파란색을 얻습니다. 보라색과 파란색을 혼합하면 파란색을 얻을 수 있습니다. 파란색과 회색을 혼합하면 어두운 파란색이 나타납니다. 모두 백분율 곱셈입니다. 나는 당신이 색상으로 선택할 수있는 블렌드 모드를 얻지 못한다고 생각합니다. 그것이 작동하는 방식은 각 픽셀의 색상을 취하고 픽셀에서 R, , B으로 나눈 다음 색상을 취하고 R G B로 나눕니다 (CRCGCB). 픽셀 단위로 (R * CR, G * CG, B * CB)가됩니다.

당신이하고있는 (* 1R, * 1G, * 1B) 당신이 당신의 스프라이트를 색상 화하려면 (R, G, B)

는, 당신은 회색으로 스프라이트가 필요하다

관련 문제