package game.crazyBall;
import game.constant.Constant;
import game.visableItems.Ball;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.util.Log;
import android.view.KeyEvent;
import android.view.SurfaceHolder;
public class crazyBallThread extends Thread {
private boolean isRunning;
private SurfaceHolder mSurfaceHolder;
private Handler mHandler;
private Context mContext;
private int mCanvasHeight = 1;
private int mCanvasWidth = 1;
private Bitmap mBackgroundImage;
private Drawable mBallimg;
public static final int STATE_LOSE = 1;
public static final int STATE_PAUSE = 2;
public static final int STATE_READY = 3;
public static final int STATE_RUNNING = 4;
public static final int STATE_WIN = 5;
private Ball mball;
private Ball mball2;
private Ball mball3;
private Ball mball4;
private long damiTime;
public crazyBallThread(SurfaceHolder surfaceHolder, Context context, Handler handler) {
mSurfaceHolder = surfaceHolder;
mHandler = handler;
mContext = context;
Resources res = context.getResources();
mBackgroundImage = BitmapFactory.decodeResource(res, R.drawable.earthrise);
mBallimg = context.getResources().getDrawable(R.drawable.world_go);
mball = new Ball(100,100,mBallimg,30.0,20,10,System.currentTimeMillis()+200);
mball2 = new Ball(100,150,mBallimg,100.0,20,10,System.currentTimeMillis()+200);
mball3 = new Ball(200,100,mBallimg,190.0,20,10,System.currentTimeMillis()+200);
mball4 = new Ball(200,150,mBallimg,280.0,20,10,System.currentTimeMillis()+200);
damiTime = System.currentTimeMillis();
isRunning = true;
}
@Override
public void run() {
while(isRunning){
Canvas c = null;
try {
c = mSurfaceHolder.lockCanvas(null);
synchronized (mSurfaceHolder) {
//if (mMode == STATE_RUNNING)
updatePhysics();
doDraw(c);
}
} finally {
// do this in a finally so that if an exception is thrown
// during the above, we don't leave the Surface in an
// inconsistent state
if (c != null) {
mSurfaceHolder.unlockCanvasAndPost(c);
}
}
}
}
public void setSurfaceSize(int width, int height) {
// synchronized to make sure these all change atomically
synchronized (mSurfaceHolder) {
mCanvasWidth = width;
mCanvasHeight = height;
// don't forget to resize the background image
mBackgroundImage = mBackgroundImage.createScaledBitmap(mBackgroundImage, width, height, true);
}
}
private void updatePhysics(){
// if(mball.getMCurX() + mball.getW() >= mCanvasWidth){
// mball.reflex(Constant.HitBorder_Left);
// }
// if(mball.getMCurX() <= 0){
// mball.reflex(Constant.HitBorder_Right);
// }
// if(mball.getMCurY() + mball.getH() >= mCanvasHeight){
// mball.reflex(Constant.HitBorder_bottom);
// }
// if(mball.getMCurY() <= 0){
// mball.reflex(Constant.HitBorder_top);
// }
}
private void doDraw(Canvas canvas) {
canvas.drawBitmap(mBackgroundImage, 0, 0,null);
//canvas.rotate(0, 30, 30);
mball.move(canvas, damiTime,0,mCanvasWidth,0,mCanvasHeight);
mball2.move(canvas, damiTime,0,mCanvasWidth,0,mCanvasHeight);
mball3.move(canvas, damiTime,0,mCanvasWidth,0,mCanvasHeight);
mball4.move(canvas, damiTime,0,mCanvasWidth,0,mCanvasHeight);
damiTime += 100;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
android 撞球打砖块初步试验实例
共42个文件
class:16个
java:11个
png:5个
需积分: 10 24 下载量 114 浏览量
2009-10-29
10:04:46
上传
评论
收藏 225KB RAR 举报
温馨提示
本来想实现小球打砖块的游戏,这是一个初步实现小球在屏幕飞行碰撞的初步试验性例子
资源推荐
资源详情
资源评论
收起资源包目录
crazyBall.rar (42个子文件)
crazyBall
.project 845B
default.properties 364B
bin
game
visableItems
Box.class 977B
BasicItem.class 1KB
Ball.class 3KB
crazyBall
R$string.class 415B
R$layout.class 382B
R$drawable.class 481B
crazyBallThread.class 3KB
R.class 503B
R$attr.class 328B
crazyBall.class 724B
crazyBallView.class 2KB
R$id.class 379B
constant
BoxType.class 369B
BallType.class 377B
Constant.class 451B
PrizeType.class 373B
common
resources.ap_ 51KB
crazyBall.apk 58KB
classes.dex 10KB
AndroidManifest.xml 676B
src
game
visableItems
Box.java 508B
BasicItem.java 598B
Ball.java 3KB
crazyBall
crazyBallView.java 2KB
crazyBallThread.java 4KB
crazyBall.java 555B
constant
BallType.java 150B
Constant.java 240B
BoxType.java 144B
PrizeType.java 144B
common
res
values
strings.xml 169B
layout
main.xml 366B
drawable
background.png 38KB
world_go.png 944B
ball.png 12KB
Thumbs.db 19KB
icon.png 3KB
earthrise.png 36KB
.classpath 280B
gen
game
crazyBall
R.java 897B
assets
共 42 条
- 1
资源评论
netmovie
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功