J2ME小特效之闪电中的城市

黑夜降临 乌云满天 闪电横空出现

GAMELOFT 世界大战 游戏中也出现过怪物 闪电攻击

现在我们就来写个闪电小特效 大家稍加应用就可以 变换不同效果

 


代码如下

class DrawCanvas extends Canvas implements Runnable{
 
 
private Image img;
 /** 构造函数 */
 private int[] light;
 boolean kaishi=true;
 Random sj=new Random();
 public DrawCanvas (){
  try {
   img = Image.createImage("/sd.png");
  }catch(java.io.IOException e) {}
  new Thread(this).start();
                 }
  
                
  protected void paint(Graphics g){
   g.setColor(0x00000000);
   g.fillRect(0,0,getWidth(),getHeight());
   creatThunder();
   g.setColor(0x00ffffff);//白色闪电
 
   g.drawString(String.valueOf(light[0]),0,0,0);
   g.drawImage(img,0,0,0);//画城市
   //画闪电
   for(int j=0;j<light.length-1;j++){
    
   g.drawLine(light[j],5+j,light[j+1],6+j);
                                     
                                     }
   
 }
 void creatThunder(){
   int len=Math.abs(sj.nextInt())%20+60;//闪电长度可以自己控制
   light =new int[len];
   light[0]=Math.abs(sj.nextInt())%getWidth();//X坐标这里你可以控制闪电的X坐标在你需要的范围内
   //创造闪电数组
   for(int i=1;i<len;i++){
     light[i]=light[i-1]+((sj.nextInt()>0)?2:-2);
    }
    }
   public void run(){
    while(kaishi){
     try {
    repaint();    //再描绘
    Thread.sleep(500);  //等待一定时间
        
    }
   catch(InterruptedException e){}
    }
   }

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值