2010-01-29 36 views
0

我想提请二维形状像这样在iPhone应用程序:“斜面”形状与cocos2d的

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

我问过类似的问题here,看看我是否可以用石英做很容易,但没有得到解决方案。所以我不得不考虑我可以利用一个现有的2D库,然后我想到了cocos2d。

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

这可能与cocos2d?

回答

2

就我对cocos2d的了解而言,cocos2d不会让你以任何其他方式做到这一点,而不是OpenGL允许你做的。 Cocos2d在底层使用OpenGL。 Cocos2d没有内置的设置来创建这样的图形。

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

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

难道在Photoshop中创建图像并动态调整颜色会更容易吗?我不确定你想要做什么。
您还可以创建一个带有透明“斜角效果”的遮罩形状,并将其与需要发光的图像一起缩放?

从斜角效果
1

除了,如果你想 “上色” 各自半圆,可以使用[精灵的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)]; 

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