繁体   English   中英

如何制作看起来像此Cortex接口的接口? (圆圈,cocos2d,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绘制图像。 (清洁器)

绘制后,只需在屏幕上按下即可创建它。 在屏幕(或任何指定的物体)上按下后,我将采用简单的三角解决方案。
这是我将使用的算法:

  1. 在屏幕上按下,获取触摸位置。 (sourcepos)并创建您的皮质img
  2. 在屏幕上的手指移动上,获取相对于原始(源位置)触摸的角度和大小的位置(当前位置)。
  3. 现在,使用简单的角度,我们可以使用if语句在CCSprite上安装不同的边界。 使用#define kMinMagnitude X语句以确保用户充分移动手指也是一个好主意。
  4. 我想您可以在移动或取消触摸时执行// Load Twitter或Load Facebook。 完全由您决定。

(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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM