【发布时间】: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