我正在尝试使用触摸在Cocos2d中绘制线条。
我有一个系统,它只会在你碰到的地方添加一个小精灵,但它的工作非常糟糕。所以我一直试图找到一种方法来使用像ccDrawLine这样的方法绘制实际的行,但是我找到的每个教程似乎都遗漏了一些东西,而我却无法理解它。
我已经找到了这个教程,Drawing line on touches moved in COCOS2D但我对此并不了解。
它似乎引用了两个不同文件中的相同变量,所以我不明白它是如何做到的。 (naughtyTouchArray
变量)
我无法找到关于绘制线的完整指南,对于无代码问题感到抱歉,但我感到很沮丧。
感谢。
答案 0 :(得分:1)
您在问题中链接的答案为您的问题提供了良好的解决方案。没有“两个不同的文件”。只是两层不同的方法。一种方法(ccTouchesMoved:withEvent:
)处理触摸并填充点阵列以使用线逐个连接。从cocos2d文档中,所有绘图必须放在节点的draw
方法中。因此,另一个(draw
)方法只是根据给定的数组绘制线条。 Cocos2d基于OpenGL,它完全重绘每个刻度的场景,所以你不能只画新线。你必须画出所有这些。
或者任何其他节点都可以使用draw
方法绘制数组,因此您只需将检测到触摸的图层中存储的点数组传递给此节点。