【问题标题】:Positionning particle in node在节点中定位粒子
【发布时间】:2015-07-28 05:44:17
【问题描述】:

使用 cocos2d,我试图用粒子系统替换精灵(我的代码中的项目)。这段代码放在我的板级中。这个有效:

    // Draw the particles 
    CCParticleSystem *particles = [[CCParticleSystem alloc] initWithDictionary:_popParticles];
    particles.position = ccpSub(item.position,ccp(160,160));
    particles.autoRemoveOnFinish = TRUE;
    [self addChild:particles];

这个没有:

    // Draw the particles 
    CCParticleSystem *particles = [[CCParticleSystem alloc] initWithDictionary:_popParticles];
    particles.position = item.position;
    particles.autoRemoveOnFinish = TRUE;
    [self addChild:particles];

我用这个尝试播放器但没有成功:

    particles.positionType = CCPositionTypeMake(CCPositionUnitUIPoints, CCPositionUnitUIPoints, CCPositionReferenceCornerBottomLeft);

我的板子是一个 320x320 点的 CCSprite,锚点设置为 0.5、0.5

当我记录我的 item.position 值时,我会得到一些相对于我的板左下角的东西(从 30,30 到 290,290)

ccpSub 的使用方法正确吗?

【问题讨论】:

  • “不起作用”到底是什么意思?什么是 self.positionType ? onEnter 完成了吗? self.contentSizeInPoints 是什么?
  • 'not work'表示粒子的位置与我要替换的'item object'的位置不匹配(它是160px,160px在item位置的右上角)。 onEnter 完成,self.contentSizeInPoints={0, 0}。我不知道如何记录 self.positionType :(
  • 好的,那么您可以将粒子添加到“项目”而不是板(自身)吗?我假设它是为 CCNode 派生的。
  • 'item' 是一个 CCSprite,一个 CCPhysicsNode 的子节点,包含在具有自定义类 Board 的 CCNode 中
  • 看来我无法将粒子添加到“项目”,因为我正在破坏下一行的对象...

标签: cocos2d-iphone spritebuilder


【解决方案1】:

当你摧毁一个节点时,你也摧毁了它的所有子节点,你说你将你的粒子添加到“项目”然后你摧毁了那个“项目”,这意味着你不再有粒子了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-18
    • 2018-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多