我正在制作主角骑在船上的游戏,当敌人与船平行时,它会掉落一根管子。我的主要问题是管子比船子大,所以当它向下或向上时可以从后面看到。请注意,管顶部的图像(船)是透明图像。谢谢!
答案 0 :(得分: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);
}
答案 1 :(得分:0)
我认为你必须管理两个管图像,一个是大的,另一个是小的,这适合你的船。 你放下这个管时你必须改变管图像。 要更改管图像,请使用此代码
CCTexture2D* tex = [[CCTextureCache sharedTextureCache] addImage:@"blast.png"];
[player setTexture: tex];
这里播放器是CCSprite。
CCSprite *player;