重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
第一種。。你的雪花是圖片,那么你自己多做幾張旋轉的圖片,在每次飄落的時候,1秒后換取另外一張圖片。或者做成gif圖片。
成都服務器托管,成都創新互聯公司提供包括服務器租用、資陽主機托管、帶寬租用、云主機、機柜租用、主機租用托管、CDN網站加速、域名與空間等業務的一體化完整服務。電話咨詢:028-86922220
第二種:你的是自己畫的雪花,那么你每秒要重新繪制你的雪花。
閃屏 是指面板刷新帶來的負面的效果。。
別去應付老師了
看看這不到一百行代碼
你會學到很多的
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
HTML
HEAD
TITLE New Document /TITLE
META NAME="Generator" CONTENT="EditPlus"
META NAME="Author" CONTENT=""
META NAME="Keywords" CONTENT=""
META NAME="Description" CONTENT=""
/HEAD
BODY
SCRIPT LANGUAGE="JavaScript"
!--
//--------------------------------------//
//演示函數用法,typeof運算符,for in 用法,數組的內建方法push,pop
function showWindowObj(){
var ary = [];
if(typeof(window) == 'undefined'){
return ;
}
for (var x in window){
ary.push([x ,eval("window." + x)])
}
alert(ary.length);
var record = ary.pop();
ary.push(record);
return ary;
}
alert(showWindowObj().length);
//--------------------------------------//
//演示閉包,for 循環;
(function (){
var arg = [];
for (var i = 0 , j = arguments.length ; i j ; i++){
arg.push(arguments[i]);
}
alert(arg.join(","));
})('string1','string2');
//--------------------------------------//
//演示原型方法的創建,正則表達式;
String.prototype.trim = function (){
return this.replace( /^\s+|\s+$/g, "" );
}
var str = " a string " , str_trimd;
str_trimd = str.trim();
alert("length of +" + str + " : " + str.length);
alert("length of +" + str_trimd + " : " + str_trimd.length);
//--------------------------------------//
// 演示模擬類的實現,
function Person(name,gender){
this.name = name;
this.gender = gender;
//實例方法
this.sayHello = function (){
alert("hello");
}
}
//類靜態方法
Person.prototype = {
showName : function (){
alert(this.name);
}
,showGender : function (){
alert(this.gender);
}
}
var me = new Person ('myname','male');
me.sayHello();
me.showName();
me.showGender();
//--
/SCRIPT
/BODY
/HTML
/*
*實現在窗體上隨機布滿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;i 300; 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;i 300; 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 ; i 300; i++) {
y[i]++ ; //(14)y坐標不斷的+1
if(y[i] 768){ //(18)如果y軸坐標大于768時,則y = 0,回到窗體的頂部
y[i] = 0 ;
}
}
try{ //(16)用try,catch解決線程休眠的異常
Thread.sleep(20) ; //(15)在每次y軸坐標+1后線程休眠20毫秒
}catch(Exception e) {}
repaint() ; //(17)雪花在新的位置重畫
}
}
}
用java代碼模擬一張圖片可以這樣操作:1.創建BufferedImage類
2.根據BufferedImage類得到一個Graphics2D對象
3.根據Graphics2D對象進行邏輯操作
4.處理繪圖
5.將繪制好的圖片寫入到圖片