Box2D 今昔物語 rch850 [ りちゃ ]  2009/04/25 Flex3 勉強会第 66 回 @ 北陸
自己紹介 <ul><li>ハンドルネーム : rch850/ りちゃ </li></ul><ul><ul><li>rich850 だったりもする </li></ul></ul><ul><li>ソフトウェアエンジニア @ 福井 </li></ul...
時は 2007 年末……
 
Box2DFlashAS3 !! <ul><li>Flash に物理エンジンが颯爽と登場 </li></ul><ul><li>今までも APE があったけど、書きにくさから敬遠されていた </li></ul><ul><li>GIGAZINE あ...
なんなの? <ul><li>2D 物理エンジン </li></ul><ul><li>本来は C++ のライブラリ </li></ul><ul><li>その AS3 移植が Box2DFlashAS3 </li></ul><ul><li>単に B...
して、その中身は
Ver. 1.4.2 public function CleanBodyList() { m_ contactManager. m_ destroyImmediate = true; // …… 戻り値は?
Ver. 1.4.2 public  virtual  function GetAnchor1():b2Vec2{return null}; public  virtual  function  GetAnchor2():b2Vec2{retu...
参考 :  よくある C++ コード class Hoge { int  m_ Value; public: virtual  void setValue(int i) { m_ Value = i; } };
コンパイルとおらね <ul><li>mxmlc でコンパイル通らず </li></ul><ul><ul><li>CS3 では大丈夫らしい </li></ul></ul><ul><ul><li>コンパイルオプションいじってもおk </li></u...
 
2008 年
2.0.0 <ul><li>大規模な API 変更 </li></ul><ul><ul><li>パッケージ名 </li></ul></ul><ul><ul><li>クラスの追加、削除 </li></ul></ul><ul><li>阿鼻叫喚 </...
2.0.1 <ul><li>バージョンが 0.0.1 上がっただけなのに主要 API の仕様変更 </li></ul><ul><ul><li>CreateStaticBody, CreateDynamicBody が CreateBody にま...
2.0.2 <ul><li>まだ正式リリースではないっぽい </li></ul><ul><li>阿鼻叫喚(予想) </li></ul>
2009 年
テオヤンセン展 <ul><li>Twitter で「テオヤンセン展」という言葉をぼちぼち見かけるように </li></ul><ul><li>ておやんせん </li></ul><ul><li>ておやんせん </li></ul><ul><li>てお...
!?
というわけで見に行ってきた
最近 <ul><li>北海道を落とすとどう跳ねるのか? </li></ul><ul><ul><li>http://d. hatena .ne. jp / nitoyon /20090415/ hokkaido </li></ul></ul>
デモ
Special Thanks <ul><li>http://sazameki.org/ </li></ul>
概念
Body 定義 World Body 1 Shape 定義 Body 2
言葉で説明すると <ul><li>まず世界がある </li></ul><ul><li>世界が質点を与える </li></ul><ul><li>質点に形状を与えて剛体にする </li></ul><ul><li>何でこんなに冗長? </li></u...
World bd1 b1 sd1 bd3 b3 sd3 bd2 b2 sd2
World <ul><li>物理シミュレーションが展開される世界 </li></ul><ul><ul><li>影響範囲と重力を定める </li></ul></ul><ul><li>Body はこの中に生成される </li></ul>
[Point] 単位 <ul><li>MKS </li></ul><ul><ul><li>長さ :  メートル </li></ul></ul><ul><ul><li>質量 :  キログラム </li></ul></ul><ul><ul><li>...
Body 定義 <ul><li>座標と速度を定義する </li></ul><ul><ul><li>質点のこと(?) </li></ul></ul><ul><li>b2BodyDef クラス </li></ul><ul><li>これを World...
Body <ul><li>いわゆる物体、それっぽく言うと剛体 </li></ul><ul><li>Body の定義と Shape の定義から生成される </li></ul><ul><li>静的な Body と動的な Body がある </li>...
Shape 定義 <ul><li>形状やその特性を定義する </li></ul><ul><ul><li>摩擦、弾性 </li></ul></ul><ul><li>Body に Shape 定義を与えることにより、物体に形状が生まれる </li>...
その他機能 <ul><li>Joint </li></ul><ul><ul><li>物体と物体をつなぐもの </li></ul></ul><ul><li>Debug Draw </li></ul><ul><ul><li>Box2D 唯一の画面出...
続きは Web で <ul><li>公式マニュアル </li></ul><ul><ul><li>http://www.box2d.org/manual.html </li></ul></ul><ul><li>Box2D で ActionScri...
Upcoming SlideShare
Loading in...5
×

Box2D 今昔物語

1,716

Published on

Flex3勉強会第66回@北陸(福井)における発表資料です。

http://www.fxug.net/modules/bwiki/index.php?cmd=read&page=Flex3%CA%D9%B6%AF%B2%F1%C2%E866%B2%F3%A1%F7%CB%CC%CE%A6%28%CA%A1%B0%E6%29&word=66%B2%F3

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,716
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Box2D 今昔物語

  1. 1. Box2D 今昔物語 rch850 [ りちゃ ] 2009/04/25 Flex3 勉強会第 66 回 @ 北陸
  2. 2. 自己紹介 <ul><li>ハンドルネーム : rch850/ りちゃ </li></ul><ul><ul><li>rich850 だったりもする </li></ul></ul><ul><li>ソフトウェアエンジニア @ 福井 </li></ul><ul><ul><li>茨城->石川->福井 </li></ul></ul><ul><li>http://twitter.com/rch850 </li></ul>
  3. 3. 時は 2007 年末……
  4. 5. Box2DFlashAS3 !! <ul><li>Flash に物理エンジンが颯爽と登場 </li></ul><ul><li>今までも APE があったけど、書きにくさから敬遠されていた </li></ul><ul><li>GIGAZINE あたりにも登場 </li></ul>ぐぬぬ
  5. 6. なんなの? <ul><li>2D 物理エンジン </li></ul><ul><li>本来は C++ のライブラリ </li></ul><ul><li>その AS3 移植が Box2DFlashAS3 </li></ul><ul><li>単に Box2D と言った場合は Box2DFlashAS3 を指すことが多い様子 </li></ul>
  6. 7. して、その中身は
  7. 8. Ver. 1.4.2 public function CleanBodyList() { m_ contactManager. m_ destroyImmediate = true; // …… 戻り値は?
  8. 9. Ver. 1.4.2 public virtual function GetAnchor1():b2Vec2{return null}; public virtual function GetAnchor2():b2Vec2{return null}; // どういうことなの……
  9. 10. 参考 : よくある C++ コード class Hoge { int m_ Value; public: virtual void setValue(int i) { m_ Value = i; } };
  10. 11. コンパイルとおらね <ul><li>mxmlc でコンパイル通らず </li></ul><ul><ul><li>CS3 では大丈夫らしい </li></ul></ul><ul><ul><li>コンパイルオプションいじってもおk </li></ul></ul><ul><li>前途多難だなぁ </li></ul>
  11. 13. 2008 年
  12. 14. 2.0.0 <ul><li>大規模な API 変更 </li></ul><ul><ul><li>パッケージ名 </li></ul></ul><ul><ul><li>クラスの追加、削除 </li></ul></ul><ul><li>阿鼻叫喚 </li></ul>
  13. 15. 2.0.1 <ul><li>バージョンが 0.0.1 上がっただけなのに主要 API の仕様変更 </li></ul><ul><ul><li>CreateStaticBody, CreateDynamicBody が CreateBody にまとめられた </li></ul></ul><ul><li>阿鼻叫喚 </li></ul>
  14. 16. 2.0.2 <ul><li>まだ正式リリースではないっぽい </li></ul><ul><li>阿鼻叫喚(予想) </li></ul>
  15. 17. 2009 年
  16. 18. テオヤンセン展 <ul><li>Twitter で「テオヤンセン展」という言葉をぼちぼち見かけるように </li></ul><ul><li>ておやんせん </li></ul><ul><li>ておやんせん </li></ul><ul><li>ておやんせん </li></ul><ul><li>…… ん? </li></ul>
  17. 19. !?
  18. 20. というわけで見に行ってきた
  19. 21. 最近 <ul><li>北海道を落とすとどう跳ねるのか? </li></ul><ul><ul><li>http://d. hatena .ne. jp / nitoyon /20090415/ hokkaido </li></ul></ul>
  20. 22. デモ
  21. 23. Special Thanks <ul><li>http://sazameki.org/ </li></ul>
  22. 24. 概念
  23. 25. Body 定義 World Body 1 Shape 定義 Body 2
  24. 26. 言葉で説明すると <ul><li>まず世界がある </li></ul><ul><li>世界が質点を与える </li></ul><ul><li>質点に形状を与えて剛体にする </li></ul><ul><li>何でこんなに冗長? </li></ul><ul><ul><li>C++ のライブラリだから……だと思う </li></ul></ul>
  25. 27. World bd1 b1 sd1 bd3 b3 sd3 bd2 b2 sd2
  26. 28. World <ul><li>物理シミュレーションが展開される世界 </li></ul><ul><ul><li>影響範囲と重力を定める </li></ul></ul><ul><li>Body はこの中に生成される </li></ul>
  27. 29. [Point] 単位 <ul><li>MKS </li></ul><ul><ul><li>長さ : メートル </li></ul></ul><ul><ul><li>質量 : キログラム </li></ul></ul><ul><ul><li>時間 : 秒 </li></ul></ul><ul><li>勝手に決めることもできるが、よく分からなくなるのでおすすめしない </li></ul>
  28. 30. Body 定義 <ul><li>座標と速度を定義する </li></ul><ul><ul><li>質点のこと(?) </li></ul></ul><ul><li>b2BodyDef クラス </li></ul><ul><li>これを World に与えて Body を作る </li></ul>
  29. 31. Body <ul><li>いわゆる物体、それっぽく言うと剛体 </li></ul><ul><li>Body の定義と Shape の定義から生成される </li></ul><ul><li>静的な Body と動的な Body がある </li></ul><ul><li>b2Body クラス </li></ul>
  30. 32. Shape 定義 <ul><li>形状やその特性を定義する </li></ul><ul><ul><li>摩擦、弾性 </li></ul></ul><ul><li>Body に Shape 定義を与えることにより、物体に形状が生まれる </li></ul><ul><li>b2ShapeDef クラス </li></ul><ul><ul><li>実際は b2PolygonDef や b2CircleDef を使う </li></ul></ul><ul><li>実は Shape 定義から Shape を作れるが、 Body ほど重要ではない </li></ul>
  31. 33. その他機能 <ul><li>Joint </li></ul><ul><ul><li>物体と物体をつなぐもの </li></ul></ul><ul><li>Debug Draw </li></ul><ul><ul><li>Box2D 唯一の画面出力機能 </li></ul></ul><ul><li>Contact Listener </li></ul><ul><ul><li>接触(衝突)判定 </li></ul></ul>
  32. 34. 続きは Web で <ul><li>公式マニュアル </li></ul><ul><ul><li>http://www.box2d.org/manual.html </li></ul></ul><ul><li>Box2D で ActionScript 物理プログラミング </li></ul><ul><ul><li>http:// gihyo . jp /dev/feature/01/box2d </li></ul></ul>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×