黑夜降临 乌云满天 闪电横空出现
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){}
}
}