用SurfaceView写一个自制的背景图,并且可以移动,加上安卓飞机大战(一)中的BackgroundManager类,可以直接使用

GameView代码:

public class GameView extends SurfaceView implements SurfaceHolder.Callback,Runnable{

private SurfaceHolder hd=null;

private Canvas canvas=null;

private BackgroundManager backgroundmanager;

public GameView(Context context) {

super(context);

this.setFocusable(true);

hd=this.getHolder();

hd.addCallback(this);

}

public void run() {

while(isrunning){

mydraw();

try {

Thread.sleep(100);//每100s刷新一次屏幕

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

public void mydraw(){

try{

if(hd!=null){

canvas=hd.lockCanvas();

canvas.drawColor(Color.BLUE);

backgroundmanager.drawbackground(canvas);

}catch(Exception e){

e.printStackTrace();

}finally{

if(canvas!=null)

hd.unlockCanvasAndPost(canvas);

}

}

public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {

// TODO Auto-generated method stub

}

public void surfaceCreated(SurfaceHolder arg0) {

thread=new Thread(this);//定义一个新线程

thread.start();

backgroundmanager=new BackgroundManager(this);

}

@Override

public void surfaceDestroyed(SurfaceHolder arg0) {

}

MainActivity 代码:

public class MainActivity extends Activity {

private GameView gameview=null;

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

gameview=new GameView(this);

setContentView(gameview);

}

这样就能实现背景的循环移动了,layout中的xml文件直接不用管。

android飞机大战功能,安卓飞机大战(二) SurfaceView实现自制背景相关推荐

  1. Android 快速修复功能,安卓系统修复工具(ReiBoot for Android)v2.1.0免费版

    通过ReiBootforAndroid用户可以解决自己手机的大部分问题并将其快速回复到最佳状态,ReiBootforAndroid一款非常好用的安卓手机系统修复软件.像是黑屏.卡在下载界面或者顺序解体 ...

  2. android切换账户功能,安卓9系统开启多用户 android 9支持多用户切换吗?

    android 9支持多用户切换吗? 消息说是支持的呢 Android中的APP如何实现多帐号切换? 这个并不难,你可以同时在服务器的数据库中关联一个主键下的多个账户,每一个账户都有唯一的主键,用主键 ...

  3. android 微信评论功能,安卓微信7.0.10正式版发布:没有朋友圈评论功能

    昨天微信发布了一个新的版本,这个微信分为32位和64位两个版本,现在各大商店已经在陆续更新了,用户在可以根据自己的需求选择合适的版本使用,选对版本,对于用户的使用来说也会更加的方便,这样用户就可以更好 ...

  4. android 桌面提醒功能,安卓手机桌面上使用的工作提醒软件选择哪个?

    原标题:安卓手机桌面上使用的工作提醒软件选择哪个? 安卓手机可以说是目前手机市场的主力军,很多人的手机都是安卓系统,在辅助办公方面,手机上的工具也是比较多的.比如经常出差的人会将一些比较重要的备忘事项 ...

  5. android 屏幕投射功能,安卓手机怎么投射屏幕?

    手机游戏.电影十分方便,但有时候一个大屏幕会带给你更好的体验.这里分享下将安卓手机屏幕投射到大屏幕的方法,具体操作方法来了解下吧. 1.DLNA DLNA是一种资历相当老的无线投屏技术,非常常见,基本 ...

  6. android文件恢复功能,安卓手机恢复删除文件,如何恢复

    原标题:安卓手机恢复删除文件,如何恢复 安卓手机恢复删除文件,如何恢复?手机文档或许很多的人都陌生,因为我们现在手机的发展越来越好,而且我们的手机携带比我们的电脑方便,所以我们很多的人有的时候会选择手 ...

  7. Android记事本定时功能,安卓手机上怎么使用日历记事本?

    原标题:安卓手机上怎么使用日历记事本? 相信每天合理的日程安排对不少忙碌的上班族来说是比较重要的,顾名思义,日程的意思是对一天或一周.一个月等某一时间节点或时间段的计划与安排.有不少网友都知道想要设置 ...

  8. android系统提醒功能,安卓手机上怎么设置工作事件提醒?

    原标题:安卓手机上怎么设置工作事件提醒? 相信有很多人都有忘记去做某件工作任务的情况,如果是一些比较小的事情忘记做了及时弥补就可以了,但是对于一些比较重要的工作事件如果忘记做的话,就可能会造成很大的影 ...

  9. Android 备忘录删除功能,安卓手机便签删除了怎么恢复?有可以快速找回删除内容的备忘录软件吗...

    原标题:安卓手机便签删除了怎么恢复?有可以快速找回删除内容的备忘录软件吗 现在,如果去买手机的话,估计很多人都会选择智能手机.毕竟,只有在智能手机上才能安装使用这样或那样的app软件,使我们的生活越来 ...

最新文章

  1. Python代码选中文乱码
  2. 7月个人:Windows和Linux绑定和解绑ARP 了解ARP命令的用途。 掌握ARP命令的使用。...
  3. Spark 1.0.0版本发布
  4. 云计算技术背后的天才程序员:Open VSwitch鼻祖Martin Casado
  5. Prince2与PMP的区别
  6. springcloud hystrix实战(二)
  7. Mysql Error:1205错误诊断
  8. 2.项目介绍,数据库迁移(code first)
  9. 西门子tcpip通讯实例_西门子200SMART与视觉软件TCPIP通讯
  10. java前后端分离框架_前后端分离Java后端主流开发环境框架20200622
  11. 新手搭建一个网站(详细完整版)
  12. 噪声、白噪声、高斯噪声、高斯白噪声以及加性和乘性噪声
  13. mock.js简单使用
  14. Linux 添加开机启动项的三种方法
  15. AtCoder Beginner Contest 209 D - Collision「黑白染色」
  16. javaweb基于SSM开发房屋租赁管理系统(房东 租客两种用户) 课程设计 大作业源码 毕业设计
  17. response Headers字段详解
  18. 使用draw.io桌面版代替visio制作流程图
  19. 10组团队项目-Alpha冲刺-2/6
  20. i国网app苹果版_阿里云盘app苹果版 -阿里云盘app官方手机版下载

热门文章

  1. 【ESD专题】2.ESD防护及保护器件(电介质和压敏电阻)
  2. 大魔王程序员生成记#06.2#C语言习题
  3. java jsp公共异常页面_javaWEB总结(16):jsp错误页面的处理
  4. MYSQL之错误代码----mysql错误代码与JAVA实现
  5. Nginx报错Mixed Content: The page was loaded over HTTPS, This content should also be served over https
  6. svn怎么执行清理命令_C盘又见红了?一个C盘清理强迫症教你真正有效的解决方法!...
  7. 本地通用验证码识别DLL/通用滑块识别/文字点选/图标点选/OCR文字识别/本地识别DLL
  8. qq空间小尾巴怎么修改
  9. 【图像超分辨率重建】——HAN论文精读笔记
  10. 学习笔记之——基于深度学习的图像超分辨率重建