2012-09-19 63 views
1

我正在嘗試使用觸摸在Cocos2d中繪製線條。cocos2d中的繪製線

我有一個系統,它會在你觸摸的地方添加一個小精靈,但它工作起來非常糟糕。所以我一直在試圖找到一種方法來使用像ccDrawLine這樣的方法繪製實際的線條,但是我發現每個教程似乎都遺漏了一些東西,而我無法想象它。

我找到了本教程,Drawing line on touches moved in COCOS2D,但我不明白這一點。

它似乎從兩個不同的文件引用相同的變量,所以我不明白它是如何做到這一點。 (naughtyTouchArray變量)

我無法找到關於繪製線條的完整指南,所以對無代碼問題抱歉,但我感到沮喪。

謝謝。

回答

1

您在問題中鏈接的答案爲您的問題提供了很好的解決方案。沒有「兩個不同的文件」。只有一個層的兩種不同的方法。一種方法(ccTouchesMoved:withEvent:)處理觸摸並填充點線陣列以逐線連接。從cocos2d文檔中,必須將所有繪圖放置在節點的draw方法中。所以,另一個(draw)方法只是根據給定的數組繪製線條。 Cocos2d基於OpenGL,並且每次都會重新繪製場景,所以您不能只繪製新線。你必須把他們全部畫出來。

或者任何其他節點都可以在它的draw方法中繪製陣列,因此您可以簡單地將存儲的點陣從檢測到觸摸的圖層傳遞到此節點。