/LGC物理引擎/Android port of Box2d
2010-12-29 08:15
537 查看
Android port of Box2d
作者:
刘鹏
日期:
2009-03-23
本文介绍了移植 Box2D 到 Android 的过程,给出了具体的移植方法和设计思路。
上。Android
的 SDK 是基于 Java 的。
JBox2D 已经将 Box2D 移植到 Java 了,但在图形方面,它采用了 Processing 库,我们需要做的就是将 JBox2D 的图形渲染部分在 Android
上实现。
的 View 类继承而来,在 onDraw 函数中完成绘制操作;
DebugDraw 是图形渲染的基类,不必修改。我们要做的主要是实现 DebugDraw 的一个子类,用 Android
SDK 来实现从 DebugDraw 继承来的绘制接口。
在 AndroidDebugDraw 中实现放一个 mBitmap ,AndroidDebugDraw 先绘制到 Bitmap 上,在 View 中将该 Bitmap 贴到屏幕上。
设计类图如下所示:
作者:
刘鹏
日期:
2009-03-23
本文介绍了移植 Box2D 到 Android 的过程,给出了具体的移植方法和设计思路。
简介
将 Box2D 移植到 Android上。Android
的 SDK 是基于 Java 的。
JBox2D 已经将 Box2D 移植到 Java 了,但在图形方面,它采用了 Processing 库,我们需要做的就是将 JBox2D 的图形渲染部分在 Android
上实现。
JBox2D 分析
JBox2D Testbed 类图 |
设计
所有的绘制都在一个 View 中完成,我们需要设计一个 View,它从 Android的 View 类继承而来,在 onDraw 函数中完成绘制操作;
DebugDraw 是图形渲染的基类,不必修改。我们要做的主要是实现 DebugDraw 的一个子类,用 Android
SDK 来实现从 DebugDraw 继承来的绘制接口。
在 AndroidDebugDraw 中实现放一个 mBitmap ,AndroidDebugDraw 先绘制到 Bitmap 上,在 View 中将该 Bitmap 贴到屏幕上。
public void onDraw(Canvas canvas) { /* Get bitmap object of AndroidDebugDraw*/ Bitmap bmp = ((AndroidDebugDraw)g).mBitmap; /* Erase backgroud. */ bmp.eraseColor(0); /* Step and draw the word */ currentTest.step (); /* Paint AndroidDebugDraw's bimtap to view */ canvas.drawBitmap (bmp, 0, 0, myPaint); /* repaint the screen */ invalidate (); }
设计类图如下所示:
屏幕截图
Project website
Android port of Box2D相关文章推荐
- Android下2d物理引擎Box2d用法简单实例
- Android 2d物理引擎Box2d的使用示例
- /LGC物理引擎/javascript 版的 Box2D
- /LGC物理引擎/Ubuntu 下编译运行 Box2D
- /LGC物理引擎/Box2D:一个 2D rigid body 物理引擎
- Android 2D物理引擎Box2d的使用示例
- Android 2d物理引擎Box2d介绍
- Android 2d物理引擎Box2d的使用示例
- Cocos2d Box2d 物理引擎实现愤怒的小鸟
- 物理引擎Box2D之刚体
- cocos2d-x 物理引擎box2d
- 【麦可网】Cocos2d-X跨平台游戏开发学习笔记---第二十四课:Cocos2D-X物理引擎之Box2D1-7
- 怎样在cocos2d里面如何使用物理引擎box2d制作弹球游戏
- cocos2dx-3.0 中的物理引擎Box2D使用(四)
- cocos2dx-3.x物理引擎Box2D介绍
- 在Libgdx中修正物理引擎Box2d时间步长
- /LGC物理引擎/在 Eclispe 中编译运行 jbox2d
- 《割绳子》《蜡笔物理学》《Contre Jour》《顽皮鳄鱼爱洗澡》等游戏用Box2D引擎实现物理部分的方法(转)
- 物理引擎Box2D-- 愤怒的小鸟
- Libgdx专题系列:物理引擎篇 Box2D