2012-09-19 65 views
1

我正在尝试使用触摸在Cocos2d中绘制线条。cocos2d中的绘制线

我有一个系统,它会在你触摸的地方添加一个小精灵,但它工作起来非常糟糕。所以我一直在试图找到一种方法来使用像ccDrawLine这样的方法绘制实际的线条,但是我发现每个教程似乎都遗漏了一些东西,而我无法想象它。

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

它似乎从两个不同的文件引用相同的变量,所以我不明白它是如何做到这一点。 (naughtyTouchArray变量)

我无法找到关于绘制线条的完整指南,所以对无代码问题抱歉,但我感到沮丧。

谢谢。

回答

1

您在问题中链接的答案为您的问题提供了很好的解决方案。没有“两个不同的文件”。只有一个层的两种不同的方法。一种方法(ccTouchesMoved:withEvent:)处理触摸并填充点线阵列以逐线连接。从cocos2d文档中,必须将所有绘图放置在节点的draw方法中。所以,另一个(draw)方法只是根据给定的数组绘制线条。 Cocos2d基于OpenGL,并且每次都会重新绘制场景,所以您不能只绘制新线。你必须把他们全部画出来。

或者任何其他节点都可以在它的draw方法中绘制阵列,因此您可以简单地将存储的点阵从检测到触摸的图层传递到此节点。