2014-04-05 6 views
0

안녕하세요, EmitterNode 객체를 기반으로하는 SpriteKit 게임을 makking하고 있습니다. 시작 장면을 디자인하고 일부 이미 터를 넣었습니다. 나는 또한 그들에게 화면을 가로 질러 움직이게했다. 이제 나는 그들에게 아주 짧은 시간 동안 "패턴"을 남기고 싶습니다. 나는 "IOS 7 테크 회담 : 스프라이트 키트와 함께 2D 게임"에서 볼 수 있듯이 : 개발자가 비디오에 사용 된 것으로,SpriteKit SKEmitternode Target node 전체 노드 수정

Emitternode.targetNode = self; 

내 노드와 같은 원하는 비디오, 나는 자기의 대상 노드를 modyfied. 그러나이 줄은 내 노드를 수정하고 더 크고 훨씬 빠르게 만듭니다. 몇 가지 스크린 샷을 연결하겠습니다. 여기에 코드 , 나는이 함께 Emitternodes를 만듭니다

SKEmitterNode *Emitternode = [NSKeyedUnarchiver unarchiveObjectWithFile:pathtoadd]; 
Emitternode.position = CGPointMake(arc4random_uniform(Scene.size.width-40)+20, arc4random_uniform(Scene.size.height-60)+20); 
[Emitternode setScale:0.3f]; 
Emitternode.targetNode = self; 
[self addChild:Emitternode]; 

내 screenshoots을 : 본을 targetnode 옵션을 사용하지 않고 : enter image description here 본을 targetnode의 옵션 : enter image description here

당신이 볼 수 있듯이,에 두 번째 경우는 훨씬 더 커요. 나는 동일한 크기를 가지고 싶지만 targetnode 옵션을 사용한다. 어떤 생각?

답변

2

알 수 있듯이 방출기 노드의 눈금을 0.3으로 설정합니다. 즉, 모든 자식 노드 (입자)도 0.3으로 조정됩니다. targetNode = self를 사용하면 생성 된 입자가 SKEmitterNode의 자식이 아니라 "self"(장면)로 표현되는 노드의 자식이됩니다. 장면의 기본 눈금이 1.0보다 큰 경우 입자의 눈금이 1.0이됩니다.

파티클 편집기로 이미 터 크기를 변경하면 프로그래밍 방식으로 변경되지 않고 크기가 유지됩니다.

+0

고마워요, 그 사실이지만, 내가 sks에 스케일 크기를 변경하면 정말 달라 보이는, 내가 필요합니다. 그래서 대상 속성을 사용하지 않을 것입니다. – user3341586