당신은 동굴에있을 때 나는 종류의 포켓몬처럼, 셰이더를 생성하기 위해 SKEmitterNode를 사용하려고 해요 : 여기"전쟁의 안개"효과를 얻기 위해 스프라이트 키트에서 SKEmitterNode를 사용하는 방법은 무엇입니까?
NSString *burstPath =
[[NSBundle mainBundle] pathForResource:@"MyParticle" ofType:@"sks"];
SKNode *area = [[SKNode alloc] init];
SKSpriteNode *background = [SKSpriteNode spriteNodeWithColor:[SKColor blackColor] size:CGSizeMake(self.frame.size.width, self.frame.size.width)];
background.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame));
SKEmitterNode *burstNode =
[NSKeyedUnarchiver unarchiveObjectWithFile:burstPath];
burstNode.position = CGPointMake(CGRectGetMidX(self.frame),CGRectGetMidY(self.frame));
burstNode.particleBlendMode = SKBlendModeSubtract;
[area addChild:background];
[area addChild:burstNode];
[self addChild:area];
: 여기 http://www.serebii.net/pokearth/maps/johto-hgss/38-route31.png
내가 지금까지 가지고있는 코드입니다 SKEmitterNode : http://postimg.org/image/60zflqjzt/
두 가지 아이디어가 있습니다. 첫 번째는 직사각형 SKSpriteNode를 만들고 직사각형 SKSpriteNode에서 SKEmitterNode를 제거하는 것이 었습니다. 그런 식으로, 우리는 중앙에 "구멍"이있는 검은 색 사각형을 볼 수 있습니다.
두 번째는 직사각형 SKSpriteNode와 SKEmitter 노드를 다른 SKNode (영역)에 추가 한 다음 SKEmitterNode의 particleBlendMode를 설정하고 마지막으로 색상의 함수로 SKNode (영역)의 알파를 설정하는 것이 었습니다. 예를 들어 픽셀의 색상이 검은 색이면 해당 픽셀의 알파 값은 1.0이고 다른 픽셀은 흰색이며 다른 픽셀의 알파 값은 0.0입니다.
이 질문은 어떤면에서 How to create an alpha mask in iOS using sprite kit의 중복 일 수도 있지만 좋은 대답이 제시되지 않았으므로 문제가되지 않는다고 가정합니다.
대단히 감사합니다.
이미지에 화염 깜박임 효과를 추가 할 수있는 방법이 있습니까? 그리고 당신의 대답에 대한 단점은 내가 다른 반지름을 원할 때마다 여분의 이미지를 만들어야한다는 것입니다 :/그렇지 않으면 좋은 생각입니다 :) –
안개가 자욱한 스프라이트를 스케일링하여 다른 반지름을 얻을 수 있습니다. – LearnCocos2D
토치/불꽃 깜박임에 대한 아이디어가 있습니까? –