Android游戏开发中进度条的使用
来源:互联网 发布:vb自动登录网页弹框 编辑:程序博客网 时间:2024/05/16 19:06
在游戏开发中会遇到进度条的问题,进度条的使用不会让玩家觉得自己的游戏死掉了。。。
本文中定义一个进度条对象,2秒钟之后将线程对象从handler当中移除。
然后看代码:
Handler我们提供的一种异步的处理机制,我们只要把消息传递出去,不要考虑消息的执行结果。
效果图如下:
在一般的游戏开发中,进度条的进度是读取系统资源的,我做的只是一个例子。
本文中定义一个进度条对象,2秒钟之后将线程对象从handler当中移除。
首先看xml文件,在xml文件中定义一个进度条对象:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" ><ProgressBar android:id = "@+id/bar" style = "?android:attr/progressBarStyleHorizontal" android:layout_width = "200dp" android:layout_height = "wrap_content" /></LinearLayout>
然后看代码:
package com.weasleyqi;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.widget.ProgressBar;public class TestBarHandlerActivity extends Activity { /** Called when the activity is first created. *///声明控件变量ProgressBar bar = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //根据控件的ID得到代表控件的对象 bar = (ProgressBar)findViewById(R.id.bar); updateBarHandler.post(updateThread); } //使用匿名内部类重写Handler当中handleMessage方法 Handler updateBarHandler = new Handler(){ @Override public void handleMessage (Message msg) { bar.setProgress(msg.arg1); updateBarHandler.post(updateThread);//调用该方法的时候,线程就会被调入到线程的队列里去 } }; //线程类,该类使用匿名内部类的方式声明 Runnable updateThread = new Runnable() { int i = 0;@Overridepublic void run() {i = i + 1 ;//得到一个消息对象,Message类是由Android操作系统提供Message msg = updateBarHandler.obtainMessage();//将msg对象的arg1参数的值设置为i,用arg1和arg2两个成员变量传递消息优点是系统性能消耗较少msg.arg1 = i ;try {Thread.sleep(20);}catch(InterruptedException e) {e.printStackTrace();}updateBarHandler.sendMessage (msg);//将msg对象加入到消息队列当中if (i == 100) {updateBarHandler.removeCallbacks(updateThread);//将线程对象从handler当中移除}} };}
Handler我们提供的一种异步的处理机制,我们只要把消息传递出去,不要考虑消息的执行结果。
效果图如下:
在一般的游戏开发中,进度条的进度是读取系统资源的,我做的只是一个例子。
- Android游戏开发中进度条的使用
- 【Android应用开发】Timer的使用,制作游戏倒计时进度条
- Android中线程和进度条的使用
- Android中进度条ProgressBar的使用
- android开发中使用surfaceView开发游戏
- Android开发之进度条使用
- WIN8开发中使用进度条
- android的进度条使用
- Android 进度条的使用
- Android进度条的使用
- 进度条 游戏中Win32进度条ProcessBar的编码
- 【Android 开发】:UI控件之 ProgressBar 进度条的使用
- Android开发_libgdx游戏引擎教程外篇 优美的自定义进度条 (八)
- android 2D游戏开发,引擎设计(四) 造型类Model的设计。简单进度条
- android中SeekBar拖动进度条的使用及事件监听
- android中SeekBar拖动进度条的使用及事件监听
- android中进度条和选项卡的使用
- Android游戏开发框架libgdx的使用
- UILabel自动换行
- 阶乘问题
- SQL高级语句
- 交通灯管理系统
- Linux中 大页表的使用
- Android游戏开发中进度条的使用
- linux进程后台运行的几种方法
- mongodb在建立一个T级别的数据库时,进程挂掉
- 9.6.1 Example :A Set Class
- 使用C#自动注册自定义文件类型
- mysql源码分析之SQL执行过程简介
- 常见的内存错误及其对策
- 注意
- 菜鸟给 S5pv210 android 增加VGA800*600 VGA1024*768 支持