- 浏览: 115439 次
- 性别:
- 来自: 厦门
最新评论
-
人可德福:
非常感谢附上源码包的楼主
实例16--心理测试 -
一口三个汉堡:
ljt122000 写道呵呵....看来大多数搞程序的被切图弄 ...
移动开发那点事-抱怨的移动开发程序员 -
ljt122000:
呵呵....看来大多数搞程序的被切图弄得有点郁闷啊...不管是 ...
移动开发那点事-抱怨的移动开发程序员 -
一口三个汉堡:
半夜透凉清 写道追求自己想要的生活,我是该羡慕你不断的走,跑, ...
今天看了自己博客的电子书,眼泪一直掉!感谢ITeye伴我成长! -
xdwangiflytek:
楼主发现自己的成长才是最可贵的
今天看了自己博客的电子书,眼泪一直掉!感谢ITeye伴我成长!
实例8--《小鸡快跑》,原书用的是java me 提供的sprite,我使用的我自己写的androidSprite。没什么好说的,很幼稚,但是还是要发,我要实现自己的承诺。下面给出效果图:
mainView.java
package com.wjh.demon_7; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.SurfaceHolder.Callback; public class MainView extends SurfaceView implements Callback,Runnable{ Thread gameThread = null; boolean isGame = true; SurfaceHolder holder = null; //具体游戏相关 public AndroidSprite m_CockSprite; //小鸡精灵 public Bitmap m_BackImg; //背景图像 //画笔 public Paint backPaint = null; public Paint forePaint = null; public MainView(Context context) { super(context); // TODO Auto-generated constructor stub setFocusable(true); getHolder().addCallback(this); holder = this.getHolder(); // 具体游戏相关代码 m_BackImg = BitmapFactory.decodeResource(getResources(), R.drawable.back); Bitmap image = BitmapFactory.decodeResource(getResources(), R.drawable.cock); //创建小鸡精灵 m_CockSprite = new AndroidSprite( image, 95, 85 ); //设置精灵当前显示的“帧”编号 m_CockSprite.setFrame( 0 ); } @Override public void run() { // TODO Auto-generated method stub while(isGame) { input(); logic(); doDraw(); try { Thread.sleep(50); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } //开始游戏主线程 public void start() { //getWidth与getHeight可分别获取屏幕的宽度和高度 int nPosX = getWidth(); int nPosY = getHeight() - 90; //设置精灵左上角的位置 m_CockSprite.setPosition( nPosX , nPosY ); // 新建画笔 backPaint = new Paint(); backPaint.setColor(Color.BLACK); forePaint = new Paint(); forePaint.setColor(Color.WHITE); m_BackImg = Bitmap.createScaledBitmap(m_BackImg, getWidth(),getHeight(), false); if(gameThread == null) { gameThread = new Thread(this); gameThread.start(); } } //停止游戏主线程 public void stop() { isGame = false; if(gameThread != null) { try { gameThread.join(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } //输入判断 public void input() { } //逻辑判断 public void logic() { int n = m_CockSprite.getFrame(); n ++; //getFrameSequenceLength可获取精灵图像中“帧”的个数 if( n >= m_CockSprite.getFrameSequenceLength() ) n = 0; m_CockSprite.setFrame(n); //设置精灵的位置,如果精灵超出屏幕左侧,则让精灵从右侧重新出现 int nPosX = m_CockSprite.getX(); int nPosY = m_CockSprite.getY(); nPosX -= 6; if( nPosX < -95 ) nPosX = getWidth(); m_CockSprite.setPosition( nPosX, nPosY ); } public void doDraw() { Canvas c = null; try { c = holder.lockCanvas(); synchronized (holder) { paint(c); } }finally{ if(c != null) { holder.unlockCanvasAndPost(c); } } } //画图 public void paint(Canvas canvas) { //用黑色清屏 canvas.drawRect(0, 0, getWidth(), getHeight(), backPaint); canvas.drawBitmap(m_BackImg, 0, 0,forePaint); //显示精灵的当前“帧” m_CockSprite.paint(canvas,forePaint); } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { // TODO Auto-generated method stub } @Override public void surfaceCreated(SurfaceHolder holder) { // TODO Auto-generated method stub start(); } @Override public void surfaceDestroyed(SurfaceHolder holder) { // TODO Auto-generated method stub stop(); } }
apk文件(将后缀改为apk):Demon_7.zip
源代码:Demon_7.rar
发表评论
-
android-单独开启闪光灯方法--适用于moto手机
2011-10-14 10:11 6951代码来自于http://code.google.com/p/s ... -
android线性布局布局的layout_weight
2011-10-08 16:23 1682对于LinearLayout的layout_weight属性, ... -
android-xml文件解析教程
2011-09-21 00:32 2108在讨论群里里面有人在问xml的解析方法,我就弄了个简单的d ... -
实例17--无敌抢钱鸡
2011-09-03 21:32 1058随着转化的进行,难度也在增加,这次的实例我弄了一天,当然有 ... -
实例16--心理测试
2011-09-01 11:59 2091隔了两个月,又重新开 ... -
实例-15---猜数字
2011-06-23 23:48 1376经典游戏,猜数字。各种不解释,因为最近发生了一些事情,所以 ... -
实例14---不准+弱智的生物钟
2011-06-19 12:06 1173这个例子在java me主要是演示form的使用,在and ... -
实例13---点击速度测试机
2011-06-18 00:15 1074在原java me中通过这个例子是想要讲解RecordSt ... -
实例12--会动的地图
2011-06-16 23:00 1278前面已经出了一个展示地图的例子,这个例子主要运用了将地图的 ... -
实例11--播放按键声音
2011-06-13 11:35 7286实例11播放按键声音,在java me中有playTone ... -
实例10--不搭的跳舞机
2011-06-10 23:32 1756还是要重申一遍,因为只是转化,所以原j2me的问题,我不会 ... -
android的Sprite,TiledLayer,LayerManager
2011-06-08 10:42 3344因为android没有提供这些,而我要把j2me的一本游戏 ... -
实例9---我的地图
2011-06-08 10:18 1134实例9,在j2me中是使用了图层管理和地图图层,在andr ... -
实例7---android 版Sprite代码
2011-06-03 23:38 2997因为android 没有提供sp ... -
实例6--文字滚屏
2011-06-02 23:59 1112这个实例的本意展示j2me的字体,和滚屏的实现。我只实现了 ... -
实例5--自动换行(修订版)
2011-06-02 00:13 2106这个实例主要是运用字体的只是,但是android自带就几种 ... -
实例4---拼单词游戏
2011-06-01 00:02 1401这个第四个实例,我只是单纯的把j2me的代码换成andro ... -
实例3--使用surfaceView
2011-05-30 19:55 1371在那本书用的是GameCanvas,我就用surfaceVi ... -
实例2---获得按键值
2011-05-29 00:08 1171《手机游戏50例》第二个实例为将按键值显示在屏幕上,下面给出M ... -
《java手机游戏50例》转成android版。。--游戏View框架代码
2011-05-28 20:48 3610这学期我们班教j2me游戏开发,教材是《java游戏50例 ...
相关推荐
51单片机Proteus仿真实例 K1-K4-分组控制LED51单片机Proteus仿真实例 K1-K4-分组控制LED51单片机Proteus仿真实例 K1-K4-分组控制LED51单片机Proteus仿真实例 K1-K4-分组控制LED51单片机Proteus仿真实例 K1-K4-分组...
51单片机Proteus仿真实例 K1-K4 键状态显示51单片机Proteus仿真实例 K1-K4 键状态显示51单片机Proteus仿真实例 K1-K4 键状态显示51单片机Proteus仿真实例 K1-K4 键状态显示51单片机Proteus仿真实例 K1-K4 键状态显示...
javascript实例应用---连接数据库实例.rarjavascript实例应用---连接数据库实例.rarjavascript实例应用---连接数据库实例.rarjavascript实例应用---连接数据库实例.rar
FLUENT工程技术与实例分析--周俊杰(上)
计算机软件-商业源码-实例7-8--扫雷--2个部分.zip
javascript实例应用---系统检测类.rarjavascript实例应用---系统检测类.rarjavascript实例应用---系统检测类.rarjavascript实例应用---系统检测类.rar
javascript实例应用---在线测试类.rarjavascript实例应用---在线测试类.rarjavascript实例应用---在线测试类.rarjavascript实例应用---在线测试类.rar
javascript实例应用---图片特效类.rarjavascript实例应用---图片特效类.rarjavascript实例应用---图片特效类.rarjavascript实例应用---图片特效类.rar
javascript实例应用---鼠标键盘类.rarjavascript实例应用---鼠标键盘类.rarjavascript实例应用---鼠标键盘类.rarjavascript实例应用---鼠标键盘类.rar
c#控件实例大全c#控件实例大全---------------
javascript实例应用---Ajax与XMLHttpRequest.rarjavascript实例应用---Ajax与XMLHttpRequest.rarjavascript实例应用---Ajax与XMLHttpRequest.rar
路由器配置实例--100例,路由器配置实例--100例
这份资源是一份针对深度学习计算机视觉领域的实例分割源码,使用 Ultralytics YOLOv8-seg 模型和 COCO128-seg 数据集进行目标检测和实例分割任务。提供了一个亲身测试且直接可运行的实例分割解决方案。 数据集我已经...
VS2022_MFC编程入门之二十三(常用控件:按钮控件的编程实例)-软件开发-鸡啄米终稿.pdf
Protel99实例演练-part2,8错的protel99se的资料
TracePro应用实例详解-压缩版(内容不变)
FLUENT工程技术与实例分析--周俊杰(下)--(共有上下两部分).pdf
《MATLAB/Simulink建模与仿真实例精讲》可作为广大在校本科生和研究生的学习用书,也可以作为广大科研人员、学者、工程技术人员的参考用书。全书共分9章。第1章介绍了MATLAB及Simulink仿真基础知识,包括MATLAB简介...