2014-03-12 3 views
1

내 iPad에서 CCScene을 상속하는 기존 장면에 효과를 추가하려면 Cocos2d의 입자 시스템을 사용하려고합니다. 그러나 어떻게 든 파티클 시스템은 스테이지/러닝에 추가되지 않습니다. 나는 여기를 포함하여 여러 사이트를 검색 한 후에 실행할 수 없습니다. CCParticleSystem이 내 iPad 장면에 표시되지 않습니다.

-(CCParticleSystem*)createEmitter 
{ 
    CCParticleSystem *emitter = [[[CCParticleSystem alloc] initWithTotalParticles:50] autorelease]; 
    [emitter setAutoRemoveOnFinish:YES]; 
    [emitter setEmitterMode:kCCParticleModeRadius]; 
    [emitter setTexture:[[CCTextureCache sharedTextureCache] addImage: @"cloud_small.png"]]; 
    [emitter setStartColor:ccc4f(1, 1, 1, 1)]; 
    [emitter setEndColor:ccc4f(1, 1, 1, 1)]; 
    [emitter setStartRadius:10]; 
    [emitter setEndRadius:250]; 
    [emitter setStartSize:100]; 
    [emitter setEndSize:50]; 
    emitter.life = 1; 
    emitter.duration = -1; 
    emitter.position = ccp(0,0); 
     
    return emitter; 
} 

및 호출 : 나는 그것을 작동하도록 관리하는 CCParticleExplosion 클래스, 일한

[self addChild:[self createEmitter]]; 

.

-edit- 내가 나에게 정확한 결과를 제공하는 솔루션을 발견

. 그러나 제 생각에 이것은 이것이 의도 된 방식이 아닙니다.

저는 CCParticleSystem을 CCParticleFire로 대체했으며 이제는 잘 작동합니다. CCParticleFire는 파티클 예제이기 때문에이 솔루션은 "모든 것을 둘러싼"방법입니다.

-(CCParticleFire*)createParticleEffect 
{ 
    CCParticleFire *emitter = [[CCParticleFire alloc] initWithTotalParticles:50]; 
    [emitter setEmitterMode:kCCParticleModeRadius]; 
    [emitter setTexture:[[CCTextureCache sharedTextureCache] addImage: @"cloud_small.png"]]; 
    [emitter setStartColor:ccc4f(0.1, 0.1, 0.1, 0.5)]; 
    [emitter setStartColorVar:ccc4f(0.2, 0.2, 0.2, 0.3)]; 
    [emitter setStartRadius:10]; 
    [emitter setStartRadiusVar:20]; 
    [emitter setEndRadius:200]; 
    [emitter setEndRadiusVar:20]; 
    [emitter setStartSize:100]; 
    [emitter setStartSizeVar:30]; 
    [emitter setEndSize:50]; 
    [emitter setEndSizeVar:15]; 
    emitter.angle = 90; 
    emitter.angleVar = 360; 
    emitter.life = 1; 
    emitter.lifeVar = 2; 
    emitter.duration = -1; 
    emitter.position = ccp(75,75); 
    emitter.emissionRate = 10; 

    [emitter resetSystem]; 
    return emitter; 
} 

답변

0

확인 아이폰이 위치 emitter.position = ccp(500,500);이 위치는 오프 스크린되며 당신은 아무것도 볼 수 없습니다.

+0

맞습니다. 디버깅 용이었습니다. ccp (0,0)로 다시 변경했습니다. 그러나 외관에는 여전히 차이가 없습니다. –

+0

장면의 배경색은 무엇입니까? 흰색 이니? – samfisher

+0

배경색이 검은 색입니다. –