首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CCParticleSystem不显示在我的iPad场景中

CCParticleSystem不显示在我的iPad场景中
EN

Stack Overflow用户
提问于 2014-03-12 11:11:50
回答 1查看 210关注 0票数 1

我试图使用粒子系统的Cocos2d,以增加效果的现有场景继承从CCScene在我的iPad。然而,在某种程度上,粒子系统没有被添加到舞台/运行中。我无法让它运行后,搜索多个网站,包括这里。

代码语言:javascript
复制
-(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;
}

并呼叫:

代码语言:javascript
复制
[self addChild:[self createEmitter]];

我使用过CCParticleExplosion类,在这个类中,我设法使它工作起来。

-编辑-

我找到了一个解决办法,这给了我正确的结果。但在我看来,这不是它的工作方式。

我已经用CCParticleSystem取代了CCParticleFire,现在工作还不错。因为CCParticleFire是一个粒子例子,所以我认为这个解决方案是一个“绕开事物的方法”。

代码语言:javascript
复制
-(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;
}
EN

回答 1

Stack Overflow用户

发布于 2014-03-12 11:38:43

检查这个位置emitter.position = ccp(500,500); on iPhone,这个位置将关闭屏幕,您将无法看到任何东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22349692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档