你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 图形图象处理与游戏编程
NetBeans 6移动插件轻松开发手机RPG游戏(六)
 

5.2 蜘蛛随机改变方向线程
完成了游戏画布类框架的开发后,就可以开发蜘蛛随机改变方向的线程类了。此线程所起的作用是每隔一定的时间随机改变蜘蛛的移动方向,这样可以增加游戏的不确定性,使游戏更有趣。
将如下SpiderDirectionThread类的代码添加到MyGameCanvas的类体中。
public class SpiderDirectionThread extends Thread{
   public void run(){
     while(flag){ //游戏未结束时不断循环
       try{Thread.sleep(5000);//每次随机改变方向后休息5秒}
catch(Exception e){e.printStackTrace();}
//随机产生方向
       int tempDirection=(int)new Date().getTime()%4;
       while((spiderDirection>=2)&&(tempDirection>=2)
           ||(spiderDirection<=1)&&(tempDirection<=1)){
          //当方向与原来一样时重新产生
tempDirection=(int)new Date().getTime()%4;
       } spiderDirection=tempDirection; }}}
由于大部分手机设备都是CLDC1.1及以下标准的,因此不支持使用“Math.random()”来产生随机数,这时一般都采用获取时间毫秒数来替代的方式。
5.3  蜘蛛移动线程的开发
完成了蜘蛛随机改变方向线程的开发后,就可以开发蜘蛛移动线程了,此线程主要是负责蜘蛛按照一定的速度沿当前方向移动。
将如下SpiderThread类的代码添加到MyGameCanvas的类体中:
public class SpiderThread extends Thread{
 public void run(){
   while(flag){ //游戏未结束时不断循环
    try { Sprite sp=gd.getSpider();
        int sx=sp.getX(); //获取蜘蛛当前X坐标
        int sy=sp.getY(); //获取蜘蛛当前Y坐标
        if(spiderDirection==0){//当前方向向下
            sy=sy+4;//向下移动蜘蛛
            if(sy>=getHeight()-16||
sp.collidesWith(gd.getBasePool(),true)){
              sy=sy-4;spiderDirection=1; //方向改变为向上}
              sp.setTransform(sp.TRANS_NONE); }
        else if(spiderDirection==1||
sp.collidesWith(gd.getBasePool(),true))
{//当前方向向上
            sy=sy-4; //向上移动蜘蛛
if(sy<=0){sy=sy+4;
spiderDirection=0; //方向改变为向下}
            sp.setTransform(sp.TRANS_ROT180);
        }
        else if(spiderDirection==2||
sp.collidesWith(gd.getBasePool(),true))
{//当前方向向左
          sx=sx-4;  //向左移动蜘蛛
          if(sx<=0){sx=sx+4;
          spiderDirection=3; //方向改变为向右}
          sp.setTransform(sp.TRANS_ROT90);}
        else if(spiderDirection==3||
sp.collidesWith(gd.getBasePool(),true))
{//当前方向向右

  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089