簡體   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