Android 小球重力感应实现(2)

2020-02-20 15:34

private void Draw() {

/**绘制游戏背景**/

mCanvas.drawBitmap(mbitmapBg,0,0, mPaint); /**绘制小球**/

mCanvas.drawBitmap(mbitmapBall, mPosX,mPosY, mPaint);

/**X轴 Y轴 Z轴的重力值**/

mCanvas.drawText(\轴重力值:\ mCanvas.drawText(\轴重力值:\, 0, 40, mPaint); mCanvas.drawText(\轴重力值:\ }

@Override

public void surfaceChanged(SurfaceHolder holder, int format, int width,int height) { }

@Override

public void surfaceCreated(SurfaceHolder holder) { /**开始游戏主循环线程**/ mIsRunning = true;

new Thread(this).start(); /**得到当前屏幕宽高**/

mScreenWidth = this.getWidth(); mScreenHeight = this.getHeight();

/**得到小球越界区域**/

mScreenBallWidth = mScreenWidth - mbitmapBall.getWidth(); mScreenBallHeight = mScreenHeight - mbitmapBall.getHeight(); }

@Override

public void surfaceDestroyed(SurfaceHolder holder) { mIsRunning = false; }

@Override

public void run() { while (mIsRunning) {

/** 取得更新游戏之前的时间 **/

long startTime = System.currentTimeMillis(); /** 在这里加上线程安全锁 **/ synchronized (mSurfaceHolder) { /** 拿到当前画布然后锁定 **/

mCanvas = mSurfaceHolder.lockCanvas(); Draw();

/** 绘制结束后解锁显示在屏幕上 **/

mSurfaceHolder.unlockCanvasAndPost(mCanvas); }

/** 取得更新游戏结束的时间 **/

long endTime = System.currentTimeMillis();

/** 计算出游戏一次更新的毫秒数 **/ int diffTime = (int) (endTime - startTime); /** 确保每次更新时间为50帧 **/ while (diffTime <= TIME_IN_FRAME) {

diffTime = (int) (System.currentTimeMillis() - startTime); /** 线程等待 **/ Thread.yield(); } } }

@Override

public void onAccuracyChanged(Sensor arg0, int arg1) { // TODO Auto-generated method stub }

@Override

public void onSensorChanged(SensorEvent event) { mGX = event.values[SensorManager.DATA_X]; mGY= event.values[SensorManager.DATA_Y]; mGZ = event.values[SensorManager.DATA_Z]; //这里乘以2是为了让小球移动的更快 mPosX -= mGX * 2; mPosY += mGY * 2;

//检测小球是否超出边界 if (mPosX < 0) { mPosX = 0;

} else if (mPosX > mScreenBallWidth) { mPosX = mScreenBallWidth; }

if (mPosY < 0) { mPosY = 0;

} else if (mPosY > mScreenBallHeight) { mPosY = mScreenBallHeight; } } } }


Android 小球重力感应实现(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:入党志愿书:入党积极分子入党自传2019

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: