![](/img/trans.png)
[英]How to make a building (view: top down) that looks like a “3d” building with cocos2d and cocos3d? (for iphone)
[英]How make a interface that looks like this Cortex interface? (Circle,cocos2d,iphone)
如何使用cocos2d for iPhone建立这样的界面? 皮质接口
我已经做了CCSprite的子类并覆盖了绘制
像这样的方法:
-(void)draw {
ccDrawCircle(CGPointMake(480/2, 320/2), 70, 0, 50000, NO);
ccDrawCircle(CGPointMake(480/2, 320/2), 25, 0, 50000, NO);
ccDrawLine(CGPointMake(480/2, 320/2+25), CGPointMake(480/2, 320/2+70));
ccDrawLine(CGPointMake(480/2+25, 320/2), CGPointMake(480/2+70, 320/2));
ccDrawLine(CGPointMake(480/2, 320/2-25), CGPointMake(480/2, 320/2-70));
ccDrawLine(CGPointMake(480/2-25, 320/2), CGPointMake(480/2-70, 320/2));
}
问题是我对圆没有任何控制(无法设置圆的位置)...而且我不知道如何将文本/图像放置到这些“单元格”中。 另一个问题是触摸检测..可能只是cgrects? 但是,如果我有4个以上的单元格并且一个单元格被“旋转”,该怎么办?
有任何想法吗?
我认为您在这里有两个选择,但是我不建议将CCSprite子类化,实际上很少会推荐这样做,几乎没有必要。
我认为,您可以选择其中任何一种来获得自己的形象。
1.使用OpenGL绘制图像。
2.使用CCSprite绘制图像。 (清洁器)
绘制后,只需在屏幕上按下即可创建它。 在屏幕(或任何指定的物体)上按下后,我将采用简单的三角解决方案。
这是我将使用的算法:
(PSUDOCODE):
dx = currentpos.x - sourcepos.x
dy = currentpos.y - sourcepos.y
mag = sqrt(dx*dx + dy*dy);
ang = CC_RADIANS_TO_DEGREES(atan2f(dy/dx));
if (ang > 0 && ang < 80 && mag > kMinMagnitude) //Load Twitter
if (ang > 80 && ang < 120 && mag > kMinMagnitude) //Load facebook
我不认为在这里创建CCSprite的子类是正确的选择。 您可能需要一个NSObject为您创建CCSprites。
同样, CCSprite.position = CGPointMake( X, Y )
应该允许您设置子画面的位置。 别忘了像其他CCNode对象一样将其添加到图层中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.