极寒之冰

Box2d写的草帽海贼旗_抽风飘飘型

看到op中飘扬的草帽旗,来了点灵感,决定用Box2d模拟一把。

具体原理
第一步,基于Box2d,用5*11个单元cell模拟组成草帽旗,每个单元相当于一个刚体b2Body(最上面的一排是静态,其他是动态的),用distancejoint距离关节来连接每个相邻的cell。添加到world里面。

第二步,render出图片,运用graphics里面的drawTriangles方法渲染出整个海贼旗。

没有什么特别的技巧。反倒是缺陷一堆,mouseup之后还会拖动旗帜,不能很好地模拟出旗帜的飘荡。应该有更好的模拟旗帜的模型。

代码就直接fork出来就行了

flash版

https://github.com/winterIce/strawHatFlag.git

比较坑爹的是drawTriangles的前三个参数类型,第一个是Vector.<Number> ,第二个是Vector.<int>,第三个是Vector.<Number>,就第二个是int行。一开始是三个都写Number类型,老是报错,话说help里面也没有细说这个,结果最后google了一下才才出原因。

HTML5版

https://github.com/winterIce/strawHatFlagHtml5

其中的HTML5版本需要自己写flash里面的drawTriangles函数,很坑爹的说

 

 

posted on 2012-11-26 21:05  极寒之冰  阅读(441)  评论(0编辑  收藏  举报

导航