3

我不知道为什么它不起作用。粒子效果位于屏幕左下角,而不是它碰撞的部分。

在 .H 文件中

    CCParticleExplosion *starsExplosion;

在.M文件下碰撞

        if(distance < 30) {
        starsCollected += 100;
        [_stars removeObject:stars];

        //Stars Explosion
        //starsExplosion.position = ccp(stars.contentSize.width, stars.contentSize.height);
        starsExplosion = [[CCParticleExplosion alloc] init];
        starsExplosion.position = ccp(stars.position.y, stars.position.x);
        starsExplosion.texture = [[CCTextureCache sharedTextureCache] addImage:@"star-icon.png"];

        [self addChild:starsExplosion];

        [self removeChild:stars cleanup:YES];
    }

我尝试使用ContentSize.Widthand height =,没有运气。尝试使用Position.xand y =,又是运气。

4

1 回答 1

3

您切换了 x 和 y 坐标。我知道,很难在您自己的代码中看到错误,您当时可能只是没有清楚地思考。

改变这个:

starsExplosion.position = ccp(stars.position.y, stars.position.x);

对此:

starsExplosion.position = ccp(stars.position.x, stars.position.y);
于 2012-12-30T15:16:10.840 回答