我目前正在开发主角骑在船上的游戏,当敌人与船平行时,它会掉落一个管子。我的主要问题是管子比船大,所以它在下降或上升时从后面可见。请注意,管子顶部的图像(船)是透明图像。谢谢!
问问题
220 次
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 回答