1

我目前正在开发主角骑在船上的游戏,当敌人与船平行时,它会掉落一个管子。我的主要问题是管子比船大,所以它在下降或上升时从后面可见。请注意,管子顶部的图像(船)是透明图像。谢谢!在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

4

2 回答 2

1

您可以毫不费力地在 Cocos2d 中剪辑绘制区域。如果将此代码添加到管对象,则可以定义合适的区域来绘制对象。此矩形之外的任何内容都不会被绘制。

-(void) visit
{
if(!self.visible)
    return;

glEnable(GL_SCISSOR_TEST);

CGRect thisClipRegion = _clipRegion;
thisClipRegion = CC_RECT_POINTS_TO_PIXELS(thisClipRegion);

glScissor(thisClipRegion.origin.x, thisClipRegion.origin.y, thisClipRegion.size.width, thisClipRegion.size.height);

[super visit];

glDisable(GL_SCISSOR_TEST);
}
于 2013-08-13T11:45:06.897 回答
0

我认为你必须管理两个管图像,一个大一个小,这适合你的船。当你放下这个管子时,你必须改变管子的图像。要更改管图像,请使用此代码

CCTexture2D* tex = [[CCTextureCache sharedTextureCache] addImage:@"blast.png"];
            [player setTexture: tex];

这里的播放器是 CCSprite。

CCSprite *player;
于 2013-08-13T13:23:00.900 回答