java雪花屏保代码 雪花html代码( 二 )


});
}
}
JAVA怎么实现一屏幕的雪花飘落,方向随机,有大有小第一种 。。你的雪花是图片,那么你自己多做几张旋转的图片,在每次飘落的时候,1秒后换取另外一张图片 。或者做成gif图片 。
第二种:你的是自己画的雪花,那么你每秒要重新绘制你的雪花 。
闪屏 是指面板刷新带来的负面的效果 。。
求一个简单的java屏保小程序,要求代码简单 , 易理解 , 要独创的,没有的,或者直接从网上荡的,直接别来!protected void paint(Graphics g) {
// TODO Auto-generated method stub
g.setColor(255,0,0);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
g.setColor(0,0, 255);
g.fillArc(x,y,d,d,0,360);
this.repaint();
}//画一个圆当做屏保图案坐标是x,y大小是d
public void run() {
// TODO Auto-generated method stub
while(true){
if(x=0){
dir=ran.nextInt(8);
while(dir==0||dir==3||dir==5)
dir=ran.nextInt(8);
}else if(y=0){
dir=ran.nextInt(8);
while(dir==0||dir==1||dir==2)
dir=ran.nextInt(8);
}else if(x=w){
dir=ran.nextInt(8);
while(dir==2||dir==4||dir==7)
dir=ran.nextInt(8);
}else if(y=h){
dir=ran.nextInt(8);
while(dir==5||dir==6||dir==7)
dir=ran.nextInt(8);
}
switch(dir)
{
case 0: y-=5;x-=5; break;
case 1: y-=5;break;
case 2: y-=5;x+=5; break;
case 3:x-=5; break;
case 4:x+=5; break;
case 5: y+=5;x-=5; break;
case 6: y+=5;break;
case 7: y+=5;x+=5; break;
}
try {
Thread.currentThread().sleep(30);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.repaint();
}
//这个撞到墙壁小球就会随机变换方向 达到屏保的效果
给你个思路啊 自己填完整了他
java 能否实现桌面下雪花的效果?使用swing?/*
*实现在窗体上随机布满300个雪花("*"),滚动
*在上次的课基础上增加了for循环(一次要产生300个变量),随机数,数组 ;
*下面的序号为步骤
*/ import java.awt.* ; //(3)导入awt包
public class Star {
public static void main(String args[]) {
Frame w = new Frame() ; //(1)绘制窗体
w.setSize(1024,768) ; //(4)把窗体布满全屏
w.setBackground(Color.BLACK) ; //(5)背景为黑颜色
MyPanel mp = new MyPanel() ; //(7)把MyPanel对象mp,添加到窗体w上
w.add(mp) ;
Thread t = new Thread(mp) ;
t.start() ; //(12)启动线程
w.show(); //(2)显示窗体
}
}
//(6)继承Panel类
class MyPanel extends Panel implements Runnable { //(11)实现Runnable接口
int x[] = new int[300] ;
int y[] = new int[300] ; //(8)定义300个数组变量MyPanel(){
for(int i = 0;i300; i++) {
x[i] = (int)(Math.random()*1024) ;
y[i] = (int)(Math.random()*768) ; //(9)当程序走到第6步的时候程序就会调用构成函数
} //由于随机数是从0-1之间的数任意产出所以x乘以1024 , y乘以768再转换为int类型
}
public void paint(Graphics g) {
for(int i = 0;i300; i++) {
g.setColor(Color.WHITE) ;
g.drawString("*",x[i],y[i]) ;
//g.drawString("*",30,30) ;(7)绘制一个星星在屏幕的x=30 , y=30的位置上
} //(10)绘制300个雪花,把坐标30 , 30,改成x[i],y[i] ;
} //做到这步可以实现在黑色的天空布满300个星星
public void run() {
while(true) { //(13)实现产生300个雪花往下落死循环
for(int i = 0 ; i300; i++) {
y[i]++ ; //(14)y坐标不断的+1
if(y[i]768){ //(18)如果y轴坐标大于768时 , 则y = 0,回到窗体的顶部
y[i] = 0 ;

推荐阅读