2013年1月9日水曜日

cocos2d、円を着色する関数が無い様子。で、forループで疑似実装。

cocos2dで円を着色する関数が無いようだとわかった。
むむ〜〜
http://stackoverflow.com/questions/1081832/how-to-draw-a-solid-circle-with-cocos2d-for-iphone

さて、どうするか。

Objective-Cの普通の関数を使って描画するものを、cocos2dで援用できるのだろうか。

OpenGLを学んで、塗りつぶし的な複数線描画を行うか。。
http://verygood.aid.design.kyushu-u.ac.jp/opengl/2d.html#Circle

さてはて。

cocos2d、図形描画は,若干弱いのかな。。
私が勉強不足なだけか。

さてはて。

:::::::::::::::::::::::::::::::

というわけで、少し考えて、drawPrimitivesTest.mの円描画コードをforループで,疑似着色円としてみました。
iでradius(半径)を設定してみて、だんだん大きくした、と。

glLineWidth(2);for(int i=0;i<50;i++){
    ccDrawCircle( ccp(s.width/2+200,  s.height/2+200), i,0, 50, NO);
    }
ま、とりあえずは着色円は、こんな感じでつくりますかね。。
たった一つの円を描画するために、無駄にリソースを食っている感じがしますが。


で、にccDrawCircle()でつくった六角形も、
同様に着色してみました。

ま、とりあえず、現時点ではOK、ということで。


ついでに、カラーもグラデーションにしてみた。

glLineWidth(2);for(int i=0;i<50;i++){
    ccDrawColor4B(0,i*5,i*5,255);
    ccDrawCircle( ccp(s.width/2+200,  s.height/2+200), i,0, 5, NO);
    }


ちょっと、cocos2dとまた、仲良くなれた気はします。。

0 件のコメント:

コメントを投稿