Flash+JS 打造全屏仿windows

來源:互聯網
上載者:User
js|window Flash+JS 打造全屏仿windows

  一、需求分析:

  1:全屏頁面解析度需為 1024*768 如果低於此解析度,畫面精細的效果得不到體現。所以應該限制此分辯率以下的作業系統訪問此介面。

  2:開啟的全屏視窗應該右上方有最小化、關閉按扭。

  3:每個載入的視窗應該可以移動、關閉、最小化。

  4:案頭上的表徵圖可以拖動,雙擊。

  5:螢幕底部有一個工作列,當滑鼠移至螢幕底部,工作列從底部彈出。可以用一個按扭使其退回螢幕底部。

  二、技術要點

Java Script:
Screen 對象 (object):
該對象具有以下屬性(Properties):
availHeight [有效高度], (有效高度=高度-工作列高度)
availWidth [有效寬度],
bufferDepth [緩衝區大小],
colorDepth[色彩深度],
height [高度],
width [寬度],
updateInterval [更新間隔],


Window 對象 (object):
該對象具有以下屬性(Properties):
clientInformation[用戶端資訊], closed [已關閉],
defaultStatus[預設狀態],

dialogArguments [會話框返回數組],
dialogHeight [會話框高度], dialogLeft [會話框距螢幕左],
dialogTop[會話框距螢幕頂], dialogWidth[會話框寬度],
(以上5 個屬性只適用於己於人showModalDialog() 建立的形式會話框)
document.文檔],
event[事件],
history[曆史],
length*[長度],
location[位置],
name[名稱],
navigator[瀏覽器],
offscreenBuffering [關閉螢幕緩衝 Y/N ],
opener [script 開視窗都有opener 指向開這個的視窗 你自己開的瀏覽器就是空的
window.close 根據這個判斷的是否提示]
parent*,[父視窗]
returnvalue[傳回值],
screen[螢幕],
self[自身],
status[狀態],
top* [是否頂視窗]

*An asterisk indicates properties not applicable to modal dialogs.
帶*號的屬性不可用於 modal dialogs (由 showModalDialog() 建立的形式會話框).

Collections (集合)

frames* [架構]

方法(Methods):

alert[警告],
blur[最小化],
clearInterval [取消間隔],
clearTimeout[清除逾時設定],
close[關閉],
confirm [確定] (object.confirm([message]) 是否確定?此函數將返回一個邏輯值 ),
execScript[執行代碼],
focus[聚焦],
moveBy[相對移動],
moveTo[移動到],
navigate[導航 =window.location.href 本地URL ],
open* [開啟],
prompt [提示],
resizeBy [相對縮放],
resizeTo [縮放到],
scroll[捲動],
scrollBy[相對捲動],
scrollTo[捲動到],
setInterval[設定間隔],
setTimeout[設定逾時],
showHelp[顯示協助],
showModalDialog* [顯示形式會話框]

*An asterisk indicates properties not applicable to modal dialogs.
帶*號的屬性不可用於 modal dialogs (由 showModalDialog() 建立的形式會話框).

事件(Events):

onbeforeunload[關閉前],
onblur[最小化],
onerror[錯誤],
onfocus[得到焦點],
onhelp[協助],
onload[載入],
onresize[縮放],
onscroll[捲動],
onunload [關閉]


flash Action Script:

on (press [按], release [釋放], releaseOutside [外部釋放],
rollOver [滑過] , rollOut [滑離], dragOver [拖過], dragOut [拖離],
keyPress "" [按鍵])

GetUrl [轉到串連] ("javascript:self.close()");
StratDrag("MovieClip"); [開始拖曳]
StopDrag("MovieClip"); [停止拖曳]
loadMovie("*.swf", "MovieClip"); [載入影片到MovieClip]
LoadmovieNum ("*.swf",n); [載入影片到第n層]
UnLoadmovie("*.swf"); [卸載影片]
play()[播放]; stop()[停止];

pc_today=new Date();[建立日期對象]
pc_today.getHours();[時]
pc_today.getMinutes();[分]
pc_today.getTime();[秒]

.getBytesLoaded();[已載入位元組數]
.getBytesTotal();[需載入的位元組總數]
_root.getBytesTotal 表示當前SWF檔案的位元組數.

on(release){
getURL("javascript:self.close()"); // [轉到串連]
}
執行JS代碼,關閉當前視窗,同樣的
getURL("javascript:self.blur()");
可以使當前視窗最小化.


  三、程式碼
  1,控制在1024*768 解析度以上可以開啟全屏的 JS代碼。將此代碼放入 區。

  2,Flash 中測試mp3 載入百分比的 AS:
  說明:主情境中有一名為loadmp3 的 MovieClip .用於載入 mp3 轉成的SWF 檔案,也可直接載入mp3.

  做一個 100 幀的 loading MovieClip 名為loading_mv .

  做一個兩幀的無圖象的MovieClip 名為loading_mv_test .

  第一幀代碼如下:
mp3loaded = _root.loadmp3.getBytesLoaded();
mp3total = _root.loadmp3.getBytesTotal();
mp3percent = 0;
if (mp3total>1000 && mp3loaded>10) {
//當主情境中的 loadmp3 沒有載入影片 mp3loaded的值為1 ,而不為0 ;
//因為有一個位元組來表示這個 MovieClip
mp3percent = int (mp3loaded/mp3total*100);
_parent.gotoAndstop(mp3percent);
} else {
_parent.gotoAndstop(1);
}
pctoday = new Date();
pctime = pctoday.getHours() add ":" add pctoday.getMinutes() add ":" add pctoday.getSeconds();
//在情境中建立一個動態文字物件,變數名為pctime, 就可以即時顯示系統時間了。

  第二幀代碼如下:
gotoandplay(1);

  3,案頭表徵圖的主要代碼:

on (press) {
startDrag("");
}
on (release) {
stopDrag();
frame = time._currentframe;
if (settime == 0) {
//settime ==0 表示還沒有開始計時。settime ==1 表示已經開始計時。
time.gotoandplay(1);
settime = 1;
}
//開使記時,設定記時位 settime .
if (settime == 1 && frame<=6) {
//開始計時的6幀以內,(0.5S) 再次釋放滑鼠。
loadMovie("000.jpg", "_root.picback.bak");
//也可以換成其他動作。
} else {
settime = 0; //計時位複位。
}
}

//time 為一個二十幀的 MovieClip,
//在二十幀的as 為 stop();



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.