如何在CCNode中覆盖“绘制”?

时间:2014-05-05 12:28:24

标签: opengl-es cocos2d-iphone draw ccnode

我正在创建一个侧滚动游戏。

我通过执行以下操作来计算表示地形应该是什么样子的所有点:

  • 表示山顶的点是使用sin函数确定的。
  • 山的底部就是屏幕的底部。
  • 地形的左右边缘是屏幕的左右边缘,其中x坐标为x = 0,x =屏幕宽度。

但我不知道如何在屏幕上绘制它,并且"填充"它与其他一些纹理。 (预定的PNG图像或其他东西)。

如何覆盖CCNode或CCSprite的draw方法来实现此目的?

在下面的示例中,我将使用方形png星形图像,当我从左向右滚动地形时,我想重复这些图像。

Hills

编辑:在下面的教程中,他们进行各种计算并在山丘周围包裹一个精灵。但我只是想做一些简单的事情,比如用简单的“噪音”来填充山峰。纹理(没有条纹等),或纯色。我怎么能这样做?

http://www.raywenderlich.com/32954/how-to-create-a-game-like-tiny-wings-with-cocos2d-2-x-part-1

编辑:澄清:我知道可以覆盖绘制方法。但我不知道要用什么代码来完成我上面描述的问题。

1 个答案:

答案 0 :(得分:0)

创建一个子类CCNode或CCSprite的新类,并添加一个draw方法:

- (void) draw {

}

draw方法将自动执行每一帧。在其中放置您喜欢的任何“绘图”代码。