在J2ME上实现平滑的资源加载进度条

      很多朋友都问过我,很多手机游戏在加载资源的过程中,都能显示一个很漂亮的进度条,并且他平滑的从0%走到了100%,当进度达到100%后,那些资源还真的加载完成了,这个过程是怎么实现的?我想各人都有各人的实现方式吧,在这帖中,我就说说一种可行又简单的方式,供大家交流,互相学习,也把好的方式与我分享。

 

     首先,我把我要加载的资源按其加载量来定其需要的百几比,比如我要加载一个大文件,一个小文件,我就将大文件定为80%,小文件定为20%,也就是把100%分为了两份,而把这一整个加载过程放到线程里,再用一个程序来显示这一加载的动态过程,如下例:

 

public drawLoading

{

       public int step = 0 ;

       public int loaded = 0 ;

       public drawLoading()

       {

             // 创建加载资源线程

             new loadResource(this) ;

             while(true)

             {

                  // 如果加载完毕,跳出循环

                  if ( step >= 100 )

                     break ;

                  if ( step == loaded )

                    continue ;

                  step ++ ;

                  // 动态显示加载进度

                  System.out.println("" + step + "%")

             }

       }

}

 

public loadResource implements Runnable

{

      private drawLoading load ;

      public loadResource(drawLoading load)

      {

             this.load = load ;

             Thread t = new Thread(this) ;

             t.start() ;

      }

 

      public void run()

      {

            load.loaded = 80 ;

            ....  加载大的资源

            load.loaded = 99 ;

            .... 加载小的资源

            load.loaded = 100 ;

      }

}

 

运行结果:

动态打印 1% ... 100%后,资源也加载完毕了

 

需要注意的是,最后一个资源加载前,loaded只能设到99,因为万一走到了100%资源还没有加载完,有可能出现混乱。根据这个简单的例子,你可以修改ldrawLoading的显示过程达到你需要的效果,做loading界面不再是难事。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值