“斜面”形状与cocos2d

时间:2010-01-29 03:59:28

标签: iphone graphics cocos2d-iphone

我想在iPhone应用程序中绘制这样的2D形状:

alt text http://www.shaggyfrog.com/junk/beveled-circle.jpg

我问了一个类似的问题here,看看我是否可以轻松地使用Quartz,但没有得到解决方案。所以我开始认为我可以利用现有的2d库,然后我想到了cocos2d。

目标是动态绘制这些斜面形状,即使用任意颜色,并可能在任意位置绘制高光/斜角。

这可以用cocos2d吗?

2 个答案:

答案 0 :(得分:2)

就我对cocos2d的了解而言,cocos2d不会让你以任何其他方式执行此操作,而不是OpenGL允许你这样做。 Cocos2d使用OpenGL。 Cocos2d没有用于创建此类图形的内置设置。

由于斜角用于创建3D效果,您可能不应该使用2D绘图来模拟它,而是使用3D绘图库? OpenGL肯定能够绘制这样的形状。 Cocos2d专注于2D绘图而不是3D。

我不确定Cocos2D是否允许自定义对象使用底层OpenGL机制绘制3D。我从未尝试过。

在photoshop中创建图像并动态调整颜色会不会更容易?我不确定你要做什么。
您还可以创建一个具有透明“斜角效果”的蒙版形状,并将其与您需要闪耀的图像一起缩放?

答案 1 :(得分:1)

除了斜角效果,如果你想“着色”每个半圆,你可以使用 [sprite setColor:] sprite.color = ccc3(r,g, b)中

CCSprite *sprite = [CCSprite spriteWithSpriteSheet:sheet rect:CGRectMake(32 * idx,0,128,32)];
[sprite setColor:ccc3(CCRANDOM_0_1()*255,CCRANDOM_0_1()*255,CCRANDOM_0_1()*255)];

你会设计一个带有斜面(灰色)边缘的“白色半圆”。然后你可以分别制作精灵和颜色。