2012-08-23 4 views
0

어떻게 또는 일부 코드 예제 또는 이와 관련된 것에 대한 아이디어가 필요합니다.AdnEngine Particle System 얼마나 많은 파티클을 업데이트합니까?

내가 니콜라스 내가 여기에 변수

private static final float RATE_MIN = 5; 
private static final float RATE_MAX = 8; 
private static int PARTICLES_MAX = 16; 

를 업데이트 "LIVE"하는 것입니다 무엇이 필요

final SpriteParticleSystem particleSystem = new SpriteParticleSystem(new PointParticleEmitter(-32, ParticleSystemNexusExample.CAMERA_HEIGHT - 32), 
                    ParticleSystemNexusExample.RATE_MIN, 
                    ParticleSystemNexusExample.RATE_MAX, 
                    ParticleSystemNexusExample.PARTICLES_MAX, 
                    this.mParticleTextureRegion, this.getVertexBufferObjectManager()); 

의 예에서 보여줍니다 아니라 여기에 일부 입자 시스템을 만들었다는 var에있다 이전 코드에서

ParticleSystemNexusExample.RATE_MIN 
ParticleSystemNexusExample.RATE_MAX 
ParticleSystemNexusExample.PARTICLES_MAX 

어떨까요? 어떻게 든 입자 시스템을 다시 시작할 수 있습니다. 잘 다시 시작하면 100 % "라이브"시스템을 업데이트하지만 설정을 사용하는 것과 같이 앱에 머물러 있어야하며 설정을 종료하면 새로운 변수가 생깁니다.

Basicly 내가이 onCreateSceneParticleSystem();

내가 공공 무효 ParticleSystem() {}

를 사용하고 다시 시작하는 것이 가능하다?

답변

0

Nicholas는 ParticleSystem 클래스에서 Min 및 Max 비율 변수를 비공개로 유지하지만 정확히 무엇을하고 싶은지 확실하지 않습니다. 어떤 행동을 할 수 있는지 잘 모르겠지만 공개 인터페이스를 추가하고 실시간으로 업데이트하여 어떤 일이 발생하는지 확인할 수 있습니다. AndEngine 플랫폼 코드를 엉망으로 만들고 싶지 않은 경우 다음을 제안합니다.

서로 다른 비율로 두 개 이상의 파티클 시스템을 만들고 필요에 따라 화면에서 관리 할 수 ​​있습니다. 한 번만 바꾸려면 한 번만 분리하고 두 번째 것은 부착하십시오. 둘 사이에서 계속 변경하려면 setParticlesSpawnEnabled를 사용하여 활성화되어있는 것을 결정할 수 있습니다.

건배!

+0

음, try try with scene.deatachChildren(); 내가 설정에서 새로운 값을 첨부 한 후. 그 확인은? detachChildren(); 오래된 입자 시스템을 파괴하고 새로운 권리를 창출 할 것인가? – Allen

+0

분리하면 장면에서 제거됩니다. 엔진 업데이트 스레드에서만 호출해야합니다. –

+0

글쎄, 새 값을 첨부 한 후 updatethread 예, deatach에 사용했습니다. 괜찮아? – Allen