Android移植的Box2D
来源:互联网 发布:rap 说唱教学软件 编辑:程序博客网 时间:2024/05/22 02:08
本文介绍了移植 Box2D 到 Android 的过程,给出了具体的移植方法和设计思路。
简介将Box2D移植到Android上。Android的SDK是基于Java的。
JBox2D已经将Box2D移植到Java了,但在图形方面,它采用了Processing 库,我们需要做的就是将JBox2D的图形渲染部分在Android上实现。
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
http://www.linuxgraphics.cn/physics/android_port_of_box2d.html
简介将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
http://www.linuxgraphics.cn/physics/android_port_of_box2d.html
- Android移植的Box2D
- cocos2d-x 移植到android中编译的一些问题:fatal error: Box2D/Box2D.h: No such file or directory"
- 笔记:cocos2d-x 移植到android中编译的一些问题:fatal error: Box2D/Box2D.h: No such file or directory"
- Android NDK 开发教程八:Box2D 的Android NDK实现
- Android NDK 开发教程八:Box2D 的Android NDK实现
- android box2d小程序
- Android上使用Box2d
- Android上使用Box2d
- COCOS2D-X ANDROID BOX2D
- Android 2d物理引擎Box2d的使用示例
- Android 2d物理引擎Box2d的使用示例
- Android 2D物理引擎Box2d的使用示例
- Cocos2d Box2D 开发Android下的 Breakout 撞球游戏
- Cocos2d Box2D 开发Android下的 Breakout 撞球游戏
- Android的WIFI移植
- libcurl的android移植
- 三方库的Android移植
- TensorFlow的android移植
- 一些信息安全网站
- android应用开发---eclipse各个目录
- github入门教程
- STA和MTA 之 COM和套间
- ZooKeeper的学习与应用
- Android移植的Box2D
- C++程序设计实验报告(四十六)---第六周任务四
- viewDidLoad, viewWillDisappear, viewWillAppear等区别
- Java Excel API(書き込み機能(2))
- linux gcc安装
- synchronized关键字
- CString.Format使用一例
- 数字图像处理之边缘检测,图像分割
- 并查集