詳細內容
分類:sitemap
發佈:2016-01-06, 週三 22:04
作者 Administrator
點擊數:2143
! 邏輯運算子 javascript 的邏輯運算子與關係運算子,很常被合用在條件敘述的判斷式中。可以用來判斷多個條件是否在成立狀態。主要有三個:&& ==> AND邏輯運算子 ,運算子兩邊的運算元(或者是說運算式)都為true時傳回true,其他傳回false
&& 邏輯運算子 || (OR) 跟 &&(AND) 的傳回值 javascript邏輯運算子 || (OR) 跟 && (AND): 在傳回運算結果時,有個特別的地方.就是如果是傳回值是true那會傳回決定這結果的運算元的那個值(或物件),而不是單純傳回布林值的true 邏輯運算子 javascript 的邏輯運算子與關係運算子,很常被合用在條件敘述的判斷式中。可以用來判斷多個條件是否在成立狀態。主要有三個:&& ==> AND邏輯運算子 ,運算子兩邊的運算元(或者是說運算式)都為true時傳回true,其他傳回false
.addClass( className ) CSS類別操作--.addClass() CSS類別操作--.addClass():.addClass()方法可以為匹配的元素添加新的CSS類別。此方法只能單純的新增CSS類別到元素中。並不能移除或取代原本就有的類別。語法:.addClass( className ),.addClass( function(index, currentClass) ) .addClass( function(index CSS類別操作--.addClass() CSS類別操作--.addClass():.addClass()方法可以為匹配的元素添加新的CSS類別。此方法只能單純的新增CSS類別到元素中。並不能移除或取代原本就有的類別。語法:.addClass( className ),.addClass( function(index, currentClass) ) .ajaxError 全局Ajax事件處理程序:.ajaxError() 全局Ajax事件處理程序:.ajaxError() 註冊一個處理程序,當Ajax要求完成但是帶有錯誤時該處理程序會被呼叫。這是一個Ajax事件(AjaxEvent)。語法一:.ajaxError( handler(event, jqXHR, ajaxSettings, thrownError) ) // version added: 1.0 handler(event, jqXHR, ajaxSettings, thrownError)Type: Function()handler是個回呼函式,當事件發生時該函式會被調用。 .ajaxStart 全局Ajax事件處理程序:.ajaxStart() 全局Ajax事件處理程序:.ajaxStart() 註冊一個處理程序,當第一個Ajax要求開始時該處理程序會被呼叫。這是一個Ajax事件(AjaxEvent)。語法:.ajaxStart( handler() )。當Ajax要求要被送出去時,jQuery會檢查是否有其他未完成的Ajax要求。假如沒有任何在進行中的Ajax要求,jQuery會觸發ajaxStart事件。此時,每個用.ajaxStart()註冊的處理程序都會被執行。 .clone 複製--.clone() .clone()可以為匹配的元素建立一個深層複製的拷貝。.clone()傳回值是一個Jquery物件。.clone()方法會為匹配的元素進行深層的複製,這意味著他會複製匹配元素,以及其子元素和文字節點。 .data 複製--.clone() .clone()可以為匹配的元素建立一個深層複製的拷貝。.clone()傳回值是一個Jquery物件。.clone()方法會為匹配的元素進行深層的複製,這意味著他會複製匹配元素,以及其子元素和文字節點。 .hasClass CSS類別操作--.hasClass() Query:CSS類別操作--.hasClass():
.hasClass()方法用來判斷指定的類別名稱是否存在在匹配的元素中。換個說法就是判斷元素是否包含某種類別。
.hasClass( className )
語法: .param() Ajax:輔助函式 Ajax:輔助函式 這些函式協助處理在執行AJAX任務時常見的慣用語。jQuery.param()建立一個陣列或是物件的序列化表示,適合使用在URL查詢字串(URL query string )或是Ajax要求。.serialize()將一組表單元素編碼成字串以利於提交。 輔助函式:jQuery.param() 輔助函式:.jQuery.param()建立一個陣列或是物件的序列化表示,適合使用在URL查詢字串(URL query string )或是Ajax要求。語法一:jQuery.param( obj ) //version added: 1.2 語法二:jQuery.param( obj, traditional )這個函式是在內部使用來將表單元素值轉化成為序列化字串表示。(參考.serialize() 以取得更多資訊) .prependTo 複製--.clone() .clone()可以為匹配的元素建立一個深層複製的拷貝。.clone()傳回值是一個Jquery物件。.clone()方法會為匹配的元素進行深層的複製,這意味著他會複製匹配元素,以及其子元素和文字節點。 .ready() onload的弔詭 javascript中onload事件與window.onload和jquery的 $(document).ready(){}有何差別?onload是W3C DOM 中定義的事件,該事件會在圖片或文件載入完成時送出..何謂載入完成?? .removeClass() CSS類別操作--.removeClass() JQuery:CSS類別操作--.removeClass():.removeClass()方法可以為匹配的元素移除原有的CSS類別。此方法只能單純的移除元素中的CSS類別。可與.addClass()合用,進行CSS類別的移除與新增。 .serialize() Ajax:輔助函式 Ajax:輔助函式 這些函式協助處理在執行AJAX任務時常見的慣用語。jQuery.param()建立一個陣列或是物件的序列化表示,適合使用在URL查詢字串(URL query string )或是Ajax要求。.serialize()將一組表單元素編碼成字串以利於提交。 輔助函式:.serialize() 輔助函式:.serialize()將一組表單元素編碼成字串以利於提交。.serialize()方法以標準的URL編碼表示法建立一個文字字串。他可以對選定的個別的表單控制元素的jQuery物件進行操作。像是, , and :$( "input, textarea, select" ).serialize(); .serializeArray() Ajax:輔助函式 Ajax:輔助函式 這些函式協助處理在執行AJAX任務時常見的慣用語。jQuery.param()建立一個陣列或是物件的序列化表示,適合使用在URL查詢字串(URL query string )或是Ajax要求。.serialize()將一組表單元素編碼成字串以利於提交。 輔助函式:.serializeArray() .serializeArray()方法會建立一個Javascript的物件陣列,此陣列物件是準備用來編碼成JSON字串。.serializeArray()方法可以操作一組代表表單元素的jQuery物件。表單元素可以是幾種類型: 000webhosting 架站 網路 免費空間 申請 000webhost免費空間申請 000webhost 是美國的一個主機供應商,提供付費跟免費空間申請。網路上對於這空間的說明似乎都有點久遠了,來更新一下吧!000webhost的免費空間提供的有:1.1500MB的網站空間2.100GB的流量 0到指定UTC時間的毫秒數。 1Z0-808 2014台灣燈會在南投 2014台灣燈會在南投--初探 2014台灣燈會在南投--初探
今年台灣燈會在中興新村,難得離家那麼近,所以忍不住就跑去關心一下進度。
其實根本就還沒弄好,不過事實上還滿多人跟我一樣跑去關心進度。
晚上九點多還一堆人在散步...
照片不多,還手抖,技術待加強 >" 2014台灣燈會在南投 小提燈發送 2014台灣燈會在南投 燈會交通接駁期末報告 「2014台灣燈會在南投」燈會交通接駁期末報告 第一階段2月7日到2月12日北區試點燈期和2月13日到2月23日燈會全面營運期,縣府也有兩階段執行交通疏導管制方案。第一階段試營運期間只開放P1寶島時代村、P2草屯分局週邊、P4祖師橋北側及P5祖師橋南側停車場與這幾個停車場到北燈區的的接駁車,還有台鐵員林站和高鐵台中站的接駁,而區內接駁車和南轉運站則不開放營運,提醒民眾注意。 2014年 放假日 2014年 放假日 2014年 放假日出來了..新聞報很大,我就把他貼上來,公家機關適用,其他公司看老闆。明年連續假期共有6個,放假總日數為114日。農曆除夕及春節假期:1月30日至2月4日(星期四至次週星期二) 放假日數:6 。 春節之初二(2月1日)及初三(2月2日)適逢星期六、星期日,依公務人員週休二日實施辦法規定,補假2日(2月3日、2月4日)。 3D 使用Javascrip寫出3D遊戲 要單純的使用Javascript寫出遊戲是一件不容易的事,若是要寫出一款3D遊戲更是難上加難了,但是有了Unity就不一樣了,unity是一款功能強的大3D遊戲引擎,可以用來製作各類型的遊戲,像是RPG(角色扮演)、RTS(即時戰略)、ACT(動作)、RCG(賽車)、SLG(模擬)。而unity使用的腳本語言,就是使用Javascript、C#與BOO。其中又以Javascript的支援度最高。 9-Sliced Sprite NGUI Tutorial: Step 3 在你的Panel遊戲物件選取的狀態下,使用Widget精靈來新增一個小圖,把Template(模板)部分選擇為Sliced Sprite,Sprite部分選擇Dark。第一次接觸到9-slicing?或許你可以參考這頁(維克:官網連結的網頁似乎已經失效,會被重導到其他頁面。下面這頁面是adobe解釋的9-slicing,可以參考看看:這裡) AND 邏輯運算子 || (OR) 跟 &&(AND) 的傳回值 javascript邏輯運算子 || (OR) 跟 && (AND): 在傳回運算結果時,有個特別的地方.就是如果是傳回值是true那會傳回決定這結果的運算元的那個值(或物件),而不是單純傳回布林值的true 位元運算子 javascript位元運算子是用來做位元運算的,以bit為單位的運算。javascript位元運算子其實不常被用到,主要的用途是用少量的記憶體(1個]bit),來記憶一個狀態是否發生。這種應用在低階語言很常被使用,不過在javascript ,真的很少看到人這樣用,所以這一章大家隨便看看 我隨便寫寫=="...
Ajax Ajax:低階介面 Ajax:低階介面:These methods can be used to make arbitrary AJAX requests.
這些方法可以用來建立任意的AJAX要求。jQuery.ajax()Perform an asynchronous HTTP (Ajax) request.完成任何非同步的HTTP(Ajax)要求。 Ajax:輔助函式 Ajax:輔助函式 Ajax:輔助函式 這些函式協助處理在執行AJAX任務時常見的慣用語。jQuery.param()建立一個陣列或是物件的序列化表示,適合使用在URL查詢字串(URL query string )或是Ajax要求。.serialize()將一組表單元素編碼成字串以利於提交。 AjaxComplete 全局Ajax事件處理程序:.ajaxComplete() 全局Ajax事件處理程序:.ajaxComplete()註冊一個處理程序,當Ajax要求完成時該處理程序會被呼叫。這是一個Ajax事件(AjaxEvent)。不論何時,當Ajax要求完成時,jQuery會觸發ajaxComplete事件。此時,每個用.ajaxComplete()註冊的處理程序都會被執行。 AjaxSend 全局Ajax事件處理程序:.ajaxSend() 全局Ajax事件處理程序:.ajaxSend()附加上一個函式,在Ajax要求送出前,該函式會被執行。這是一個Ajax事件(AjaxEvent)語法:.ajaxSend( handler(event, jqXHR, ajaxOptions) ) // version added: 1.0
AjaxSetup Ajax:全局Ajax事件處理程序 這裡所提到的方法會註冊事件處理程序。當頁面中任何的AJAX要求事件,像是初始化或是完成等等,發生時,註冊的處理程序會被呼叫。假如 jQuery.ajaxSetup() 的global 屬性是true(預設是true),那每個AJAX要求都會觸發出全局事件。注意:跨網域的腳本或是JSONP要求絕對不會觸發全局事件,此狀況無視於global屬性的設定。 AjaxStop AjaxSuccess 全局Ajax事件處理程序:.ajaxSuccess() 全局Ajax事件處理程序:.ajaxSuccess()附加上一個函式,每當Ajax成功完成時,該處理程序會被呼叫。語法:.ajaxSuccess( handler(event, XMLHttpRequest, ajaxOptions) ) // version added: 1.0 當一個Ajax要求成功完成時,jQuery會觸發ajaxSuccess事件。此時,每個用.ajaxSuccess()註冊的處理程序都會被執行。 Andorid Unity 編譯android APP時發生的錯誤 Error building Player: UnityException: Unable to find suitable jdk installation. Please make sure you have a suitable jdk installation. Android development requires at least JDK 6 (1.6). The latest JDK can be obtained from the Oracle
http://www.oracle.com/technetwork/java/javase/downloads/index.html Android APP TimerApp 簡易多功能計時器 簡易多功能計時器 TimerApp:
第一個APP發布了..
Google play 下載網址:
https://play.google.com/store/apps/details?id=com.VicTsao.TimmerApp Asynchronous 同步與非同步的差異 在看文章時常常都會看到一推像是什麼 "同步載入","非同步技術"之類的字眼,可能有些人其實不太了解同步跟非同步的差別,甚至會有些誤解,話說,"同步"這字眼真的很容易讓人以為他是在"同時處理"什麼之類的東西。同步與非同步在很多領域都有這字眼,其實我也沒有追究他到底原始代表著什麼意義。我這裡大概說說這兩個字眼在程式語言的籌範內代表的意義是什麼。 Awake Unity腳本:Awake與Start的差別 Awake與Start的差別:
當Unity腳本被載入時,Awake與Start兩個函式都會被自動執行。
其中Awake函式會先執行。
Awake函式有個特別的地方,那就是即便是腳本並沒有被致能(enable),Awake函式依然會被執行。 BOM 瀏覽器物件模型(BOM) 瀏覽器物件模型,一般都簡稱為BOM,是Javascript與瀏覽器溝通的橋樑,讓Javascript可以透過BOM對瀏覽器進行各種操作,包含開啟/關閉視窗,改變視窗大小,計時器與取得位址之類的。瀏覽器物件模型在Javascript中十分常用,也算是基礎的一部分,但奇怪的是他其實並沒有正式的標準。 Body onload的弔詭 javascript中onload事件與window.onload和jquery的 $(document).ready(){}有何差別?onload是W3C DOM 中定義的事件,該事件會在圖片或文件載入完成時送出..何謂載入完成?? Boolean 基礎資料型態(字串-數值-布林) javascript 基礎資料型態也有人稱為簡單型態,包含了字串、數值與布林。是程式建構的基礎。字串是一連串的字元所組成,由雙引號或單引號所包覆住..數值型態的數值系統是符合IEEE 754的倍精度浮點數定義..布林型態只有兩個值,true 跟 false.. Bug Build Unity 編譯android APP時發生的錯誤 Error building Player: UnityException: Unable to find suitable jdk installation. Please make sure you have a suitable jdk installation. Android development requires at least JDK 6 (1.6). The latest JDK can be obtained from the Oracle
http://www.oracle.com/technetwork/java/javase/downloads/index.html CDN CloudFlare--一些你不知道的事 CloudFlare:CloudFlare是個CDN服務商,他提供免費的CDN服務,當然也有付費部分,只是相當不便宜。最便宜的也是20美金一個月。著實負擔不起。這篇文章其實不是個介紹文章,只是我在用CloudFlare時的一些問題與找到的答案,分享給大家: CSS CSS類別操作--.hasClass() Query:CSS類別操作--.hasClass():
.hasClass()方法用來判斷指定的類別名稱是否存在在匹配的元素中。換個說法就是判斷元素是否包含某種類別。
.hasClass( className )
語法: CSS類別操作 CSS類別操作--.addClass() CSS類別操作--.addClass():.addClass()方法可以為匹配的元素添加新的CSS類別。此方法只能單純的新增CSS類別到元素中。並不能移除或取代原本就有的類別。語法:.addClass( className ),.addClass( function(index, currentClass) ) CSS類別操作--.removeClass() JQuery:CSS類別操作--.removeClass():.removeClass()方法可以為匹配的元素移除原有的CSS類別。此方法只能單純的移除元素中的CSS類別。可與.addClass()合用,進行CSS類別的移除與新增。 CSS類別操作--.toggleClass() .toggleClass()可以用來為匹配的元素進行新增或是刪除CSS類別。實際運作時有點類似開關一樣。如果某個類別存在,那就刪除他,若是不存在那就新增。同一個toggleClass()描述,第一次新增,第二次會變成刪除,然後繼續新增與刪除一直下去。 Case 條件敘述 switch..case.. switch..case..是javascript條件敘述的一種,可以用來比對多個條件。語法簡單,唯一要注意的是break的使用,若省略break敘述,則程式不再比對case後的條件,卻會繼續執行case內的程式碼,直到有break敘述後才會跳出switch敘述。語法:switch (Express) {case Comparison1:
..case Comparison2:..default:..} Chrome Class-based inheritance prototype-based 基於原型的 (初心者適用 ) Javascript常常都會聽到基於原型的繼承(prototype-based inheritance )這句話,到底什麼是基於原型??乍看之下很難理解。其實我們可以把基於原型放一邊,然後看看另外一種繼承方式,基於類別的繼承(class-based inheritance)。基於類別的繼承就是用類別來做繼承,這比較容易理解。所以用這角度來看基於原型的繼承,自然能知道基於原型的繼承就是用原型來繼承。 CloudFlare CloudFlare--一些你不知道的事 CloudFlare:CloudFlare是個CDN服務商,他提供免費的CDN服務,當然也有付費部分,只是相當不便宜。最便宜的也是20美金一個月。著實負擔不起。這篇文章其實不是個介紹文章,只是我在用CloudFlare時的一些問題與找到的答案,分享給大家: Comparison 關係運算子 javasript 關係運算子(relational operators)也有人會把它稱為比較運算子(Comparison operators)。javasript 關係運算子有下面幾種:>,=,instanceof,in Creating UI NGUI Tutorial: Step 1 NGUI 教學:第一步建立一個全新的場景。選擇主攝影機,並且將其刪除。打開NGUI選單然後選擇Create a New UI — 這會打開一個UI(使用者介面)建立精靈。在這個面板中你可以選擇要將UI放到哪個layer(層), 但這裡我們使用原本的Default layer. 按下Create Your UI 按鈕。就這樣,UI已經準備好可以使用了。 Csv Excel 轉 Json 自己編 寫Json檔寫到快抓狂嗎!?~~~
這網站能將Excel的內容轉化成Json
還可以轉換成不同的格式
超好用!~ CurrentClass) ) CSS類別操作--.addClass() CSS類別操作--.addClass():.addClass()方法可以為匹配的元素添加新的CSS類別。此方法只能單純的新增CSS類別到元素中。並不能移除或取代原本就有的類別。語法:.addClass( className ),.addClass( function(index, currentClass) ) Custom login 建立基於擴展的客製化登入 在伺服端時間一個客製化的登入是很簡單的一個過程。SFS2X會發出下面兩個登入事件:
USER_LOGIN(使用者登入): 當客戶端請求加入一個區域時會發出這個事件。你可以在這裡驗證使用者憑證與決定使用者是否能繼續進行登入動作。在這個階段客戶端是以一個Session物件作為代表,還不是一個真正的使用者。
USER_JOIN_ZONE(使用者家入區域):當使用者成功加入一個區域(並且轉換成為SFS使用者(SFSUser)) 時會發出此事件。
Data Types Unity腳本:Data Types 資料類型 Unity的變數有兩個主要的資料類型,值類型(Value types) 與 參考類型(Referece types)。值類型(Value types)的變數儲存的就是值本身,像是整數,浮點數,字元,甚至是資料結構,等等都是屬於值。而參考類型儲存的是資料所在的記憶體位址。 Date getTime() 取得日期中經過的毫秒數 Date.getTime()取得日期中經過的毫秒數 Javascript的Date.getTime()方法:getTime()方法回傳回至1970年1月1日0時0分0秒開始算起到日期物件時間經過的毫秒數。Date.getTime()的語法:DateObj.getTime() 不需要參數。 Dave Herman: The Future of JavaScript(Javascript的未來) Delay javascript沒有sleep跟delay javascript沒有sleep跟delay. 一般都是用setTimeout或是setInterval來執行需要延遲的程式。 不過也不是沒有辦法模擬出sleep或是delay的功能。 一般而言都是使用無窮迴圈跟Date物件配合。 Delta Time Unity腳本:Delta Time Unity腳本:Delta Time 所謂的 Delta 其代表的意義就是兩個值得差,在time類別中的deltaTime屬性,指的就是每個update或是fixed update函式呼叫的時間差。使用deltaTime可以讓移動或是其他逐漸增量計算的值變的滑順。 Destroy Unity腳本:使用 Destroy 摧毀物件或元件 Unity腳本:使用 Destroy 摧毀物件或元件Destroy是Object物件的一個靜態函式。可以用來摧毀物件,或是元件。Destroy 可以接受一個或2個參數,第一個參數是要摧毀的目標物件或是元件,第二個參數接受一個浮點數來做為延遲的時間。一般在使用Destroy 時,不會直接直接使用Destroy 摧毀腳本所屬的物件。 Draggable Draggable UI Eclipse Else 條件敘述 if...else... 條件敘述在各種程式語言當中都是相當基礎而又很常被用到的的語法。主要是用判斷各種不同的條件是否成立,來決定要執行的程式碼區段。if...else 就是條件敘述的一種,語法如下:
語法一: EncodeURI encodeURI() 為什麼URI要編碼? URI是Uniform Resource Identifier 的縮寫,中文翻譯為 "統一資源標誌符" 。為什麼要對URI編碼,javascript什麼時候用的到URI編碼?如果對URI編碼很陌生,那我們先來看個例子,看看URI編碼跟我們有多常接觸。 EncodeURI encodeURIComponent escape,encodeURI與encodeURIComponent 的使用與差異 scape()、encodeURI()、encodeURIComponent ()都是用來對字串做編碼,以利於在網路上傳遞。escape()是個全域函式,可以在javascript程式的任何地方呼叫它。使用16進制替字串重新編碼,encodeURI()也是個全域函式,用來將(包含非法字元)URI字串編碼成符合URI格式的新字串。與encodeURI( )相似,encodeURI()為了整個URI的完整性,因此無法對URI中的功能性字符做編碼。 Epson Escape escape,encodeURI與encodeURIComponent 的使用與差異 scape()、encodeURI()、encodeURIComponent ()都是用來對字串做編碼,以利於在網路上傳遞。escape()是個全域函式,可以在javascript程式的任何地方呼叫它。使用16進制替字串重新編碼,encodeURI()也是個全域函式,用來將(包含非法字元)URI字串編碼成符合URI格式的新字串。與encodeURI( )相似,encodeURI()為了整個URI的完整性,因此無法對URI中的功能性字符做編碼。 Everything At Once 中文翻譯 windows8 廣告 主題曲 Everything At Once--windows8廣告主題曲 很好聽的一首歌耶!~~
中文翻譯請參考:Lenka 的Everything At Once--windows 8 的廣告主題曲As sly as a fox, as strong as an ox
As fast as a hare, as brave as a bear
As free as a bird, as neat as a word
As quiet as a mouse, as big as a house Excel Excel 轉 Json 自己編 寫Json檔寫到快抓狂嗎!?~~~
這網站能將Excel的內容轉化成Json
還可以轉換成不同的格式
超好用!~ Fb 網頁的讚 讓自己的網站也可以按讚 要讓自己的網站可以按讚其實還滿簡單的,首先要連到FB的Social Plugins網站http://developers.facebook.com/docs/plugins/點選 Like Buttom
然後會出現一個新的頁面,像下面的圖:
FixedUpdate Unity腳本:Update與FixedUpdate Unity腳本:Update與FixedUpdate
Update:
Update 大概是Unity中最常使用的函式了。
在腳本中的Update每個幀都會被執行一次。
幾乎所有經常要跟新或是調整的的程式碼都會寫在這。
像是非物理物件的移動,簡單的計時器,以及輸入檢測等等。 GTmetrix 網頁 效能分析 joomla 速度 GTmetrix網頁效能分析 研究顯示,網頁載入時間超過4秒,使用者就會離開,GTmetrix效能分析使用google與yahoo的效能分析,能夠為網站評定效能分數,並且指出拖垮效能的原因,十分強大好用。 GUI.BeginScrollView GUIStyle.CalcHeight 的誤差解決 GUIStyle.CalcHeight 的誤差 Unity GUIStyle.CalcHeight 的誤差:GUIStyle.CalcHeight 是unity中用來計算元素高度的函示,只要給定要渲染的元素與渲染寬度(其實就是要顯示的內容跟寬度,總是要有寬度才能計算高度吧),GUIStyle.CalcHeight會有誤差嗎?其實應該不會,會用這標題是希望跟我犯相同錯誤的人能找到這篇文章,XD"。 Game 如何建立可安裝的Unity 遊戲 如何建立可安裝的Unity 遊戲:Unity 建立的Stand along的遊戲 都不需要經過安裝的程序就可以執行看了一些問答才發現,Unity本身其實不提供這樣的服務 Get Get() 快捷方法:jQuery.get() 快捷方法:jQuery.get()使用HTTP GET 請求,載入伺服端資料。語法:jQuery.get( url [, data ] [, success(data, textStatus, jqXHR) ] [, dataType ] )//version added: 1.0 GetAxis Unity腳本:GetAxis GetAxis:Input.GetAxis與GetButton以及GetKey有著相似的運作方式,但也有一些基礎上的不同。GetKey 與 GetButton 傳回布林值,按鈕也只有壓下或者釋放兩種狀態。而GetAxis 則傳回介於-1到1之間的浮點數。 GetAxisRaw Unity腳本:GetAxis GetAxis:Input.GetAxis與GetButton以及GetKey有著相似的運作方式,但也有一些基礎上的不同。GetKey 與 GetButton 傳回布林值,按鈕也只有壓下或者釋放兩種狀態。而GetAxis 則傳回介於-1到1之間的浮點數。 GetButton Unity腳本:GetButton與GetKey Unity腳本:GetButton與GetKey GetButton與GetKey是透過Unity輸入類別取得按鍵或是搖桿按鈕輸入的方法。兩者的差異在於,GetKey使用key codes來命名按鍵。譬如說 KeyCode.Space 代表空白鍵。我們可以用下面的程式碼來判斷是否按下Space鍵Input.GetKeyDown(KeyCode.Space);GetKey可以很好的運作在鍵盤上, GetComponent Unity腳本:GetComponent 取得元件 Unity腳本:GetComponent 取得元件GetComponent 方法可以在遊戲物(GameObject)或是元件(Component)裡找到。GameObject.GetComponent:1. GetComponent(type: Type): Component;GetComponent會傳回類行為type的元件,若是找不到該元件,則傳回null。 GetJSON 快捷方法:jQuery.getJSON() 快捷方法:jQuery.getJSON()使用Get HTTP請求從伺服端載入JSON編碼的資料。語法:jQuery.getJSON( url [, data ] [, success( data, textStatus, jqXHR ) ] )//version added: 1.0 GetKey Unity腳本:GetButton與GetKey Unity腳本:GetButton與GetKey GetButton與GetKey是透過Unity輸入類別取得按鍵或是搖桿按鈕輸入的方法。兩者的差異在於,GetKey使用key codes來命名按鍵。譬如說 KeyCode.Space 代表空白鍵。我們可以用下面的程式碼來判斷是否按下Space鍵Input.GetKeyDown(KeyCode.Space);GetKey可以很好的運作在鍵盤上, Google付款 Google立方大滿貫(運行最新的HTML5技術) google立方大滿貫(運行最新的HTML5技術) 谷歌今天推出立方大滿貫。全面基於瀏覽器的3D乒乓球遊戲,運行最新的HTML5技術:運行WebGL的圖形,網絡音頻播放聲音和WebRTC權力的能力,發揮在實時與他們的朋友和視頻會議,一邊玩。這是真的,邊緣!
WebRTC是一個最值得期待的HTML5的API。在多維數據集大滿貫,谷歌顯示關閉兩個鮮為人知的功能WebRTC:RTCPeerConnection和RTCDataChannel。這兩個同步的視頻和音頻流之間的兩個端點上的網絡插座。 HTML5 定義版本 完成度 HTML文件如何在網頁中顯示字樣: HTML文件如何在網頁中顯示實體參考 HTML文件如何在網頁中顯示字樣:在HTML文件中我們常會使用實體參考字元來表示一些特殊字元,以期能夠在網頁中正常顯示。譬如說要在網頁上顯示 的字樣,如果直接在網頁上打是無法正常顯示的,因為 是HTML檔中的標籤格式,所以會被當成標籤使用。 Heartbleed Html 17.13.2 Successful controls 所謂的成功控制元素(successful control),是可以有效提交的表單元素。每一個成功控制元素都有它自己的控制名稱(control name,由name屬性所指定的),以及與它配對的目前值( current value,此值一開始由初始值設定,也就是value屬性的值,後續可藉由使用者的互動或是腳本語言來修改。 ),組成了一組提交用的表單資料組(form data set,由一連串的 control name/current value 所組成)。成功控制元素必須是定義在FORM
元素中的元素並且必然有其控制名稱(control name)(也就是說會有name屬性)。 HTML文件如何在網頁中顯示實體參考 HTML文件如何在網頁中顯示字樣:在HTML文件中我們常會使用實體參考字元來表示一些特殊字元,以期能夠在網頁中正常顯示。譬如說要在網頁上顯示 的字樣,如果直接在網頁上打是無法正常顯示的,因為 是HTML檔中的標籤格式,所以會被當成標籤使用。 Html HTML5 瀏覽器支援度 IE 使用XP的不要再用IE上網了 使用XP的不要再用IE上網了:簡單的說xp+ie 就是不安全...微軟會一直公布弱點..駭客必然會利用弱點...然後微軟會告訴你 xp不更新了 請換新的...好厲害的商業手段.而且xp只支援到ie8而ie8事實上對現行網頁的許多功能的支援確實也很差...加上駭客0時差的利用公布出來的弱點 ...所以請大家小心了. If 條件敘述 if...else... 條件敘述在各種程式語言當中都是相當基礎而又很常被用到的的語法。主要是用判斷各種不同的條件是否成立,來決定要執行的程式碼區段。if...else 就是條件敘述的一種,語法如下:
語法一: Ingerit 物件的繼承 繼承的目的在於重用程式碼,以及結構化的資料。在程式中,物件通用的屬性與方法,都應該用繼承的方式來進行,這是一種比較有效率的做法。Javascript的物件繼承原理其實並不難,只是相當異於一般(基於類別)的物件導向程式。Javascript是一個基於原型的物件導向程式,他的繼承主要就是依據原型來實作。 Inherit 物件的繼承(三)--複製屬性的第二種方法 物件的繼承(三)--複製屬性的第二種方法:
上回說到物件的繼承(二)--複製屬性的第一種方法,這次繼續說說另外一種複製屬性的方式。這方式其實很簡單,其實就是直接用迴圈將物件的屬性複製一份而已。感覺這方法笨笨的,但其實這種繼承方式還蠻廣為使用的。 Input Installable 如何建立可安裝的Unity 遊戲 如何建立可安裝的Unity 遊戲:Unity 建立的Stand along的遊戲 都不需要經過安裝的程序就可以執行看了一些問答才發現,Unity本身其實不提供這樣的服務 JAVA 泛型 泛型不能是基本型態 用Java寫出下面的程式碼:List mylist=new LinkedList();基本上如果使用IDE的話一般在沒編譯前就會告訴你這是不合法的。譬如說我使用eclipse,他會告訴我: JQuery 全局Ajax事件處理程序:.ajaxComplete() 全局Ajax事件處理程序:.ajaxComplete()註冊一個處理程序,當Ajax要求完成時該處理程序會被呼叫。這是一個Ajax事件(AjaxEvent)。不論何時,當Ajax要求完成時,jQuery會觸發ajaxComplete事件。此時,每個用.ajaxComplete()註冊的處理程序都會被執行。 全局Ajax事件處理程序:.ajaxError() 全局Ajax事件處理程序:.ajaxError() 註冊一個處理程序,當Ajax要求完成但是帶有錯誤時該處理程序會被呼叫。這是一個Ajax事件(AjaxEvent)。語法一:.ajaxError( handler(event, jqXHR, ajaxSettings, thrownError) ) // version added: 1.0 handler(event, jqXHR, ajaxSettings, thrownError)Type: Function()handler是個回呼函式,當事件發生時該函式會被調用。 全局Ajax事件處理程序:.ajaxSend() 全局Ajax事件處理程序:.ajaxSend()附加上一個函式,在Ajax要求送出前,該函式會被執行。這是一個Ajax事件(AjaxEvent)語法:.ajaxSend( handler(event, jqXHR, ajaxOptions) ) // version added: 1.0
全局Ajax事件處理程序:.ajaxStart() 全局Ajax事件處理程序:.ajaxStart() 註冊一個處理程序,當第一個Ajax要求開始時該處理程序會被呼叫。這是一個Ajax事件(AjaxEvent)。語法:.ajaxStart( handler() )。當Ajax要求要被送出去時,jQuery會檢查是否有其他未完成的Ajax要求。假如沒有任何在進行中的Ajax要求,jQuery會觸發ajaxStart事件。此時,每個用.ajaxStart()註冊的處理程序都會被執行。 全局Ajax事件處理程序:.ajaxStop() 全局Ajax事件處理程序:.ajaxStop() 註冊一個處理程序,當所有的Ajax要求都已經完成時,該處理程序會被呼叫。 這是一個Ajax事件(AjaxEvent)。
全局Ajax事件處理程序:.ajaxSuccess() 全局Ajax事件處理程序:.ajaxSuccess()附加上一個函式,每當Ajax成功完成時,該處理程序會被呼叫。語法:.ajaxSuccess( handler(event, XMLHttpRequest, ajaxOptions) ) // version added: 1.0 當一個Ajax要求成功完成時,jQuery會觸發ajaxSuccess事件。此時,每個用.ajaxSuccess()註冊的處理程序都會被執行。 Ajax:輔助函式 Ajax:輔助函式 這些函式協助處理在執行AJAX任務時常見的慣用語。jQuery.param()建立一個陣列或是物件的序列化表示,適合使用在URL查詢字串(URL query string )或是Ajax要求。.serialize()將一組表單元素編碼成字串以利於提交。 輔助函式:jQuery.param() 輔助函式:.jQuery.param()建立一個陣列或是物件的序列化表示,適合使用在URL查詢字串(URL query string )或是Ajax要求。語法一:jQuery.param( obj ) //version added: 1.2 語法二:jQuery.param( obj, traditional )這個函式是在內部使用來將表單元素值轉化成為序列化字串表示。(參考.serialize() 以取得更多資訊) 輔助函式:.serialize() 輔助函式:.serialize()將一組表單元素編碼成字串以利於提交。.serialize()方法以標準的URL編碼表示法建立一個文字字串。他可以對選定的個別的表單控制元素的jQuery物件進行操作。像是, , and :$( "input, textarea, select" ).serialize(); 輔助函式:.serializeArray() .serializeArray()方法會建立一個Javascript的物件陣列,此陣列物件是準備用來編碼成JSON字串。.serializeArray()方法可以操作一組代表表單元素的jQuery物件。表單元素可以是幾種類型: Ajax:低階介面 Ajax:低階介面:These methods can be used to make arbitrary AJAX requests.
這些方法可以用來建立任意的AJAX要求。jQuery.ajax()Perform an asynchronous HTTP (Ajax) request.完成任何非同步的HTTP(Ajax)要求。 低階介面:jQuery.ajaxPrefilter() 低階介面:jQuery.ajaxPrefilter()處理客製化的Ajax選項,或是修改已存在的選項。會在每一個Ajax要求被傳送以及被 $.ajax()處理前。語法:jQuery.ajaxPrefilter( [dataTypes ], handler(options, originalOptions, jqXHR) ) //version added: 1.5 jQuery.ajaxPrefilter() 的參數options與originalOptions jQuery.ajaxPrefilter():jQuery.ajaxPrefilter() 是 jQuery中的Ajax前置過濾器,可以用來前置處理關於Ajax的相關設定(option)handler是個回呼函式,其中的options,originalOptions,單看jQuery的官方文件其實不太能懂他在寫啥。這裡簡單說一下。 低階介面:jQuery.ajaxSetup() 低階介面:jQuery.ajaxSetup()為接下來的Ajax請求設定預設值。不建議使用。語法:jQuery.ajaxSetup( options ) //version added: 1.1 options Type: PlainObject 一組 鍵/值對用來設定Ajax請求的預設值。所有的選項都是選擇性的。 低階介面:jQuery.ajaxTransport() 低階介面:jQuery.ajaxTransport()建立一個物件用以負責Ajax資料的實際傳輸
語法:jQuery.ajaxTransport( dataType, handler(options, originalOptions, jqXHR) ) //version added: 1.5
dataTypeType: String用來定義資料型別的字串。handler(options, originalOptions, jqXHR)Type: Function()處理函式,使用第一個參數所提供的資料型別傳回新的傳輸(transport )物件。 快捷方法:jQuery.get() 快捷方法:jQuery.get()使用HTTP GET 請求,載入伺服端資料。語法:jQuery.get( url [, data ] [, success(data, textStatus, jqXHR) ] [, dataType ] )//version added: 1.0 快捷方法:jQuery.getJSON() 快捷方法:jQuery.getJSON()使用Get HTTP請求從伺服端載入JSON編碼的資料。語法:jQuery.getJSON( url [, data ] [, success( data, textStatus, jqXHR ) ] )//version added: 1.0 JQuery.ajaxPrefilter() 低階介面:jQuery.ajaxPrefilter() 低階介面:jQuery.ajaxPrefilter()處理客製化的Ajax選項,或是修改已存在的選項。會在每一個Ajax要求被傳送以及被 $.ajax()處理前。語法:jQuery.ajaxPrefilter( [dataTypes ], handler(options, originalOptions, jqXHR) ) //version added: 1.5 jQuery.ajaxPrefilter() 的參數options與originalOptions jQuery.ajaxPrefilter():jQuery.ajaxPrefilter() 是 jQuery中的Ajax前置過濾器,可以用來前置處理關於Ajax的相關設定(option)handler是個回呼函式,其中的options,originalOptions,單看jQuery的官方文件其實不太能懂他在寫啥。這裡簡單說一下。 JQuery.ajaxSetup() 低階介面:jQuery.ajaxSetup() 低階介面:jQuery.ajaxSetup()為接下來的Ajax請求設定預設值。不建議使用。語法:jQuery.ajaxSetup( options ) //version added: 1.1 options Type: PlainObject 一組 鍵/值對用來設定Ajax請求的預設值。所有的選項都是選擇性的。 JQuery.ajaxTransport() 低階介面:jQuery.ajaxTransport() 低階介面:jQuery.ajaxTransport()建立一個物件用以負責Ajax資料的實際傳輸
語法:jQuery.ajaxTransport( dataType, handler(options, originalOptions, jqXHR) ) //version added: 1.5
dataTypeType: String用來定義資料型別的字串。handler(options, originalOptions, jqXHR)Type: Function()處理函式,使用第一個參數所提供的資料型別傳回新的傳輸(transport )物件。 Java Java物件方法在記憶體佔的空間 Java物件方法是否會被重複實例化?是否需要使用靜態方法來節省記憶體?
假設類別中定義了一個方法f(),當類別被實例化成1000個物件時。那在記憶體中是否存在1000個f()? 用Java開啟json檔 用Java開啟json檔:為了要能解析json檔案,上網找了個json套件,似乎滿多人用的:JSON-java使用的結果是簡單易學,後來又發現JAVA EE 7已經有一套標準的JSON API規範了 : JSR353了說明文件好像也不難,但悲劇的是SE 7 , SE8好像都沒有==" JAVA SE 認證 1Z0-808 考試心得分享 最近跑去考JAVA SE8的認證考了--- 1Z0-808 - Java SE 8 Programmer I,我猜大家最關心的也是SE8認證考 1Z0-808 的考古題命中率吧 Javascrip 使用Javascrip寫出3D遊戲 要單純的使用Javascript寫出遊戲是一件不容易的事,若是要寫出一款3D遊戲更是難上加難了,但是有了Unity就不一樣了,unity是一款功能強的大3D遊戲引擎,可以用來製作各類型的遊戲,像是RPG(角色扮演)、RTS(即時戰略)、ACT(動作)、RCG(賽車)、SLG(模擬)。而unity使用的腳本語言,就是使用Javascript、C#與BOO。其中又以Javascript的支援度最高。 Javascript 物件的繼承 繼承的目的在於重用程式碼,以及結構化的資料。在程式中,物件通用的屬性與方法,都應該用繼承的方式來進行,這是一種比較有效率的做法。Javascript的物件繼承原理其實並不難,只是相當異於一般(基於類別)的物件導向程式。Javascript是一個基於原型的物件導向程式,他的繼承主要就是依據原型來實作。 同步與非同步的差異 在看文章時常常都會看到一推像是什麼 "同步載入","非同步技術"之類的字眼,可能有些人其實不太了解同步跟非同步的差別,甚至會有些誤解,話說,"同步"這字眼真的很容易讓人以為他是在"同時處理"什麼之類的東西。同步與非同步在很多領域都有這字眼,其實我也沒有追究他到底原始代表著什麼意義。我這裡大概說說這兩個字眼在程式語言的籌範內代表的意義是什麼。 物件的繼承(二)--複製屬性的第一種方法 上次我們在物件的繼承中提到使用原型(prototype)來進行繼承,而使用原型繼承的特點就是屬性的共享,這很好,但是也有不對時的時候,總是有些時候我們希望繼承一些屬性,但卻不願意和人共享。譬如說我有個creature物件,我想要繼承他的name屬性,但我總不能跟別人共享這name屬性吧。 物件的繼承(三)--複製屬性的第二種方法 物件的繼承(三)--複製屬性的第二種方法:
上回說到物件的繼承(二)--複製屬性的第一種方法,這次繼續說說另外一種複製屬性的方式。這方式其實很簡單,其實就是直接用迴圈將物件的屬性複製一份而已。感覺這方法笨笨的,但其實這種繼承方式還蠻廣為使用的。 onload的弔詭 javascript中onload事件與window.onload和jquery的 $(document).ready(){}有何差別?onload是W3C DOM 中定義的事件,該事件會在圖片或文件載入完成時送出..何謂載入完成?? 邏輯運算子 || (OR) 跟 &&(AND) 的傳回值 javascript邏輯運算子 || (OR) 跟 && (AND): 在傳回運算結果時,有個特別的地方.就是如果是傳回值是true那會傳回決定這結果的運算元的那個值(或物件),而不是單純傳回布林值的true 利用setTimeout(setInterval)做簡易倒數計時器 javascript setTimeout與setInterval都是用來計算一段時間後,執行某個函式。但是有其不同之處,參數傳遞也有特殊方法。我們利用這兩個函式來製作簡易的倒數計時器, javascript沒有sleep跟delay javascript沒有sleep跟delay. 一般都是用setTimeout或是setInterval來執行需要延遲的程式。 不過也不是沒有辦法模擬出sleep或是delay的功能。 一般而言都是使用無窮迴圈跟Date物件配合。 簡易手工萬年曆 javascript 手工製作萬年曆---不使用Date物件,不論是在學哪種程式語言,好像都會有人問這個問題。這大概是某種形式的作業吧!~(算芭樂作業嗎@@??)..或許是因為他有點小複雜的邏輯性,讓他變成了經典作業了!(好吧 是經典 不是芭樂!!~)寫這篇是因為在奇摩知識+看到了這問題勾起了以前學C的回憶~既然現在在學javascript~那就用javascript也來寫一個吧!~要寫手工萬年曆,要先知道幾件事情。 javascript 初體驗.. Javascript 是Netscape 開發出來的一種用戶端腳本語言。早期的名字叫做 Live script ,在Netscape與SUN合作後,改名為javascript。Javascript使用並不難,很輕易的就能把它嵌入Web頁面。只需要在HTML頁面中貼加入script 的標籤: 變數與常數 javascript的變數是一個用來儲存值的識別子,譬如說:var x=5;其中x就是一個儲存值5的識別子,也可以說是有一個名字叫做x的變數,他現在放的值是5。變數有其有效範圍,如果忽略了這一點可能會造成難以預料的結果,因此需要有一定程度的了解。 基礎資料型態(字串-數值-布林) javascript 基礎資料型態也有人稱為簡單型態,包含了字串、數值與布林。是程式建構的基礎。字串是一連串的字元所組成,由雙引號或單引號所包覆住..數值型態的數值系統是符合IEEE 754的倍精度浮點數定義..布林型態只有兩個值,true 跟 false.. javascript 的null undefined null 是空、沒有的意思,
undefined 代表未定義,有宣告但沒指定值得變數,或是不存在的物件屬性都會是undefined。null 與 undefined 有時候是相等的,兩個有點模糊,不好解釋,看看例子吧.. parseInt()、parseFloat() 與 Number() javascript parseInt()可以傳回由字串轉換而成的整數。語法:parseInt(string, radix)..parseFloat()可以傳回由字串轉換而成的浮點數。語法:parseFloat(string)..Number() 可以將物件轉化成數值。語法:Number(object) 基礎型態轉換 javascript 基礎型態轉換:這篇主要討論三種基礎型別的轉換:轉換成字串型態,轉換成布林型態,轉換成數值型態..數值型態再轉換成字串型態時,其實就是原本的數值字串.. escape,encodeURI與encodeURIComponent 的使用與差異 scape()、encodeURI()、encodeURIComponent ()都是用來對字串做編碼,以利於在網路上傳遞。escape()是個全域函式,可以在javascript程式的任何地方呼叫它。使用16進制替字串重新編碼,encodeURI()也是個全域函式,用來將(包含非法字元)URI字串編碼成符合URI格式的新字串。與encodeURI( )相似,encodeURI()為了整個URI的完整性,因此無法對URI中的功能性字符做編碼。 encodeURI() 為什麼URI要編碼? URI是Uniform Resource Identifier 的縮寫,中文翻譯為 "統一資源標誌符" 。為什麼要對URI編碼,javascript什麼時候用的到URI編碼?如果對URI編碼很陌生,那我們先來看個例子,看看URI編碼跟我們有多常接觸。 簡單敘述與運算子 敘述(statement)指的其實就是javascript中一行一行的程式碼。通常是以分號做結尾,不過並不所有情況都強迫要分號做結尾,但是用分號做結尾是個程式設計的好習慣。 字串與數字的相乘與相加 javascript 字串與數字的相乘與相加:javascript字串加數字會變成什麼?字串能乘數字?該怎麼讓字串+數字=數字?直接看例子吧:x="5"*"2";
alert (x); // ==>字串5乘字串2 輸出 10 位元運算子 javascript位元運算子是用來做位元運算的,以bit為單位的運算。javascript位元運算子其實不常被用到,主要的用途是用少量的記憶體(1個]bit),來記憶一個狀態是否發生。這種應用在低階語言很常被使用,不過在javascript ,真的很少看到人這樣用,所以這一章大家隨便看看 我隨便寫寫=="...
關係運算子 javasript 關係運算子(relational operators)也有人會把它稱為比較運算子(Comparison operators)。javasript 關係運算子有下面幾種:>,=,instanceof,in 邏輯運算子 javascript 的邏輯運算子與關係運算子,很常被合用在條件敘述的判斷式中。可以用來判斷多個條件是否在成立狀態。主要有三個:&& ==> AND邏輯運算子 ,運算子兩邊的運算元(或者是說運算式)都為true時傳回true,其他傳回false
條件敘述 if...else... 條件敘述在各種程式語言當中都是相當基礎而又很常被用到的的語法。主要是用判斷各種不同的條件是否成立,來決定要執行的程式碼區段。if...else 就是條件敘述的一種,語法如下:
語法一: 條件敘述 switch..case.. switch..case..是javascript條件敘述的一種,可以用來比對多個條件。語法簡單,唯一要注意的是break的使用,若省略break敘述,則程式不再比對case後的條件,卻會繼續執行case內的程式碼,直到有break敘述後才會跳出switch敘述。語法:switch (Express) {case Comparison1:
..case Comparison2:..default:..} 程式碼轉成HTML顯示格式 程式碼轉換成HTML的顯示格式:
這程式是為了方便我貼程式碼寫的,主要也只是把程式碼中的轉成,
這樣就可以方便我直接貼在HTML文件中了。
不然每次在CMC編輯器中直接貼上複製過來的HTML程式碼,不同的瀏覽器都會有不同的結果。 String.trim()將字串去空白 String.trim()方法用來去除字串前後的空白,此方法並不會改變原來的字串,而是傳回一個新的字串。此方法是在ECMAScript 第五版才引進。因此有些瀏覽器並不支援。下表列出支援的瀏覽器: 瀏覽器物件模型(BOM) 瀏覽器物件模型,一般都簡稱為BOM,是Javascript與瀏覽器溝通的橋樑,讓Javascript可以透過BOM對瀏覽器進行各種操作,包含開啟/關閉視窗,改變視窗大小,計時器與取得位址之類的。瀏覽器物件模型在Javascript中十分常用,也算是基礎的一部分,但奇怪的是他其實並沒有正式的標準。 window.closed window.closed:window.closed 代表著指定視窗是否關閉的布林值。此屬性是個唯獨值。
語法:window.closed當window.closed== true時,代表視窗關閉。當window.closed== false時,代表視窗未關閉。 Window.defaultStatus Window.defaultStatus:Window.defaultStatus屬性可以用來讀取與設定瀏覽器狀態列的文字。這個參數基本上已經是個過時的的參數。不建議使用。
語法:var str = window.defaultStatus;window.defaultStatus = str; CSS類別操作--.toggleClass() .toggleClass()可以用來為匹配的元素進行新增或是刪除CSS類別。實際運作時有點類似開關一樣。如果某個類別存在,那就刪除他,若是不存在那就新增。同一個toggleClass()描述,第一次新增,第二次會變成刪除,然後繼續新增與刪除一直下去。 Javascript Arguments 物件 Arguments 物件 Arguments物件是一個類似於陣列的物件,用來對應於函式的輸入參數。Arguments物件僅能在函式中使用,用來取代原本的函式屬性 Function.arguments。若是在函式外使用此物件會引發錯誤。 Javascript Array sort() 陣列排序 Array.sort()陣列排序 Javascript的Array.sort()方法:
sort()方法會對陣列元素進行排序,此方法會變更原本陣列的內容。Array.sort()的語法:array.sort(sortfunction)sortfunction:用來排序的函式,如果省略的話會陣列元素轉成字串,以字串方式進行排序,由小排到大,這種情況下,由於是被轉成字串來排序,所以數字11會被排在數字2前面。如果sortfunction有提供,陣列元素會依據sortfunction的傳回值進行排列。 Javascript Array toString() 傳回陣列元素字串 Array.toString()傳回陣列元素字串 Javascript的Array.toString()方法:toString()方法會傳回一個字串,字串的內容是以逗號隔開的陣列元素。Array.toString()的語法:array.toString()
傳回值:以逗號隔開的陣列元素所組成的字串。Array.toString()的範例: Javascript Array filter()過濾陣列元素 Array.filter()過濾陣列元素 Javascript的Array.filter()方法:Array.filter()方法會過濾陣列的元素,並將通過測試的元素傳回成為一個新陣列。Array.filter()方法使用回呼函式來對元素進行過濾,須由設計師自行撰寫過濾程式。除了被刪除或是為定義的元素外filter()方法會為每一個陣列元素呼叫一次回呼函式以進行測試。filter()方法只對呼叫filter()當時的陣列元素進行過濾,往後新增的元素並不影響結果。filter()方法也不改變現有陣列,只是傳回新的陣列。
Javascript Array forEach() 迭代整個陣列元素 Array.forEach()迭代整個陣列元素 Javascript的Array.forEach()方法:Array.forEach()方法會為陣列中的每個元素呼叫一次自訂義的回呼函式,藉以對陣列元素進行操作。但若陣列元素被刪除或是undefined則不會呼叫回呼函式。此方法出現在ECMA-262第五版中,因此可能會有些瀏覽器並不支援這方法。若要確保在所有瀏覽器中都能正確執行,可在原型中自行定義此方法。 Javascript Array join 將陣列元素合併成字串 Array.join()將陣列元素合併成字串 Javascript的Array.join()方法:
Array.join()方法將陣列元素中所有的元素都合併成字串。Array.join()的語法:string = array.join(separator)
separator:合併字串時,使用separator來分隔陣列元素,separator會被轉換成字串,若是省略則使用預設的逗號。
Array.join()的範例: Javascript Array reduce() Array.reduce() 累計值處理 Javascript的Array.reduce()方法:Array.reduce()方法的參數是一個回呼函式,reduce()方法會由左至右的為陣列中的每個元素呼叫一次回呼函式,並將回呼函式的傳回值當作下一次呼叫回呼函式的參數傳入。reduce()方法定義在ECMA-262第五版中,可能會有些瀏覽器不支援此方法。若要確定在所有瀏覽器中都能正確的執行,可以在原型中自行定義此方法。 Javascript Array reduceRight() 由右至左 累計值處理 Array.reduceRight()由右至左 累計值處理 Javascript的Array.reduceRight()方法:
Array.reduceRight()方法的參數是一個回呼函式,有4個傳入參數和一個傳回值,reduceRight()方法會由右至左的為陣列中的每個元素呼叫一次回呼函式,並將回呼函式的傳回值當作下一次呼叫回呼函式的傳入參數。reduceRight()方法方法定義在ECMA-262第五版中,可能會有些瀏覽器不支援此方法。若要確定在所有瀏覽器中都能正確的執行,可以在原型中自行定義此方法。若陣列中有未給定初始值的元素,那reduceRight()方法會跳過該元素。 Javascript Array slice() 傳回陣列的部分片段 Array.slice()傳回陣列的部分片段 Javascript的Array.slice()方法:
Array.slice()方法可以指定並傳回陣列的部分片段。
此方法會傳回一個新的陣列,並不會改變原本的陣列。
如果陣列元素是物件參考,那複製到新陣列的元素也會是物件參考,
此時新陣列與舊陣列的物件參考會指向相同的物件,如果物件內容的變更,
對新陣列與舊陣列,都會有影響。
Array.slice()的語法:
array.slice(start, end) Javascript Array splice() 加入移除陣列元素 Array.splice()加入移除陣列元素 Javascript的Array.splice()方法:
splice()方法可以為一個陣列刪除並且新增陣列元素。
Array.splice()的語法:array.splice(index,howmany,item1,.....,itemX)index:要開始刪除的位置索引,如果是負值,則由元素尾端開始算起。howmany:從index開始要刪除的元素個數,如果是0則不進行刪除。item1,.....,itemX:要加入的元素。
傳回值:傳回被刪除元素所組成的陣列。 Javascript Array unshift() 新增元素並傳回陣列長度 Array.unshift()新增元素並傳回陣列長度 Javascript的Array.unshift()方法:
在陣列開頭新增元素,並傳回新增元素後的陣列長度。
Array.unshift()的語法:
array.unshift(item1,item2, ..., itemX)
item1,item2, ..., itemX:要新增到陣列開頭的元素。傳回值:新增列的陣列長度。
Array.unshift()的範例:
Javascript Array valueOf() 傳回原始值 Array.valueOf()傳回原始值 array物件的valueOf()方法回傳回一個跟原本陣列相同的新陣列。Array.valueOf()的語法::array.valueOf()
Array.valueOf()的範例:
Javascript Array.concat() 合併陣列 Array.concat() 合併陣列 陣列物件的oncat()方法可以用來兩個或多個陣列,合併時並不會變更原本的陣列內容,而是傳回一個新的陣列。合併時並不會變更原本的陣列內容,而是傳回一個新的陣列。Array.concat ()的語法:
array.concat(value1, value2, ..., valueN)
value 可以是陣列,但也可以是其他值,譬如說數值,或字串。 Javascript Array.indexOf 搜尋指定元素 Array.indexOf () 搜尋指定元素 Javascript的Array.indexOf ()方法:Array.indexOf ()方法是用來搜尋陣列中的元素,若是匹配成功則傳回該元素所在位置的索引,失敗則傳回-1。indexOf ()是使用絕對相等來進行搜尋比對,也就是關係運算子中的 ===符號。雖然 indexOf ()是ECMA-262第五版中定義的標準方法,但並非所有瀏覽器都支援,但這並非無解,依然可藉由原型來新增並使用此方法,下面會提到這個程式碼。 Javascript Array.lastIndexOf 搜尋指定元素 Array.lastIndexOf() 搜尋指定元素 Javascript的Array.lastIndexOf()方法:
Array.lastIndexOf()方法是用來由後往前搜尋陣列中的元素,
若是匹配成功則傳回該元素所在位置的索引,失敗則傳回-1。
與indexOf ()方法一樣,lastIndexOf()是使用絕對相等(===)來進行搜尋比對。
也都是ECMA-262第五版中定義的標準方法,但同樣尚未被所有瀏覽器所支援。 Javascript Array.pop() 刪除並傳回最後一個陣列元素 Array.pop()刪除並傳回最後一個陣列元素 Javascript的Array.pop()方法:刪除並傳回最後一個陣列元素。Array.pop()的語法:array.pop()
Array.pop()的範例:
var myarr = ["Welcome", "To", "Vic's", "Blog"];
document.writeln(myarr+"");
document.writeln(myarr.pop()+"");
document.writeln(myarr);
Javascript Array.push ()新增元素並傳回陣列長度 Array.push ()新增元素並傳回陣列長度 Javascript的Array.push ()方法:
在陣列最後方新增元素,並傳回插入元素後的陣列長度。
Array.push ()的語法:
array.push(element1, ..., elementN)
element1, ..., elementN:要插 入陣列後方的元素。
傳回值:插入元素後的陣列長度。 Javascript Array.reverse() 反轉陣列元素位置 Array.reverse()反轉陣列元素位置 Javascript的Array.reverse()方法:
reverse()方法會將目標陣列的元素進行反轉,最前的面的元素會變成最後面的元素。
Array.reverse()的語法:
array.reverse()
此方法不需要給定任何參數。
Array.reverse()的範例:
Javascript Array.shift()刪除並傳回陣列第一個元素 Array.shift()刪除並傳回陣列第一個元素 Javascript的Array.shift()方法:
shift()方法會將陣列中的第一個元素刪除,並傳回該元素。
刪除第一個元素後,後方的元素會往前遞補,
也就是說原本的array[1]會被成array[0], array[2]會變成array[1]。
Array.shift()的語法:
array.shift() Javascript Date getDate() 取得日期中的日(幾號) Date.getDate()取得日期中的日 Javascript的Date.getDate()方法:getDate()方法是用來取得日期物件中的日,也就是每個月的幾號,是一個1到31的整數值。Date.getDate()的語法Date.getDate()不需要參數。 Javascript Date getDay() 取得日期中的星期幾 Date.getDay()取得日期中的星期幾 Javascript的Date.getDay()方法:
getDay()方法是用來取得日期物件中的星期幾,是一個0到6的整數值,0是星期日,1是星期一,以此類推。
要取得每個月的幾號,請使Date.getDate()方法。Date.getDay()的語法:Date.getDay()不需要參數。 Javascript Date getFullYear() 取得日期中的年 Date.getFullYear()取得日期中的年 Javascript的Date.getFullYear()方法:getFullYear()方法是用來取得日期物件當中本地時間的年份,年份是以西元年來計算,getFullYear()方法的傳回值是4位數的數字,因此不會有千喜蟲的問題。Date.getFullYear()的語法:DateObj.getFullYear()
不需要參數。 Javascript Date getHours() 取得日期中的小時 Date.getHours()取得日期中的小時 Javascript的Date.getHours()方法:getHours()方法是用來取得日期物件當中本地時間的小時,getHours()方法的傳回值是一個介於0~23的正整數。
Date.getHours()的語法:
DateObj.getHours()
不需要參數。 Javascript Date getMilliseconds() 取得日期中的毫秒 Date.getMilliseconds()取得日期中的毫秒 Javascript的Date.getMilliseconds()方法:
getMilliseconds()方法是用來取得日期物件當中本地時間的毫秒,是一個0到999的正整數。
Date.getMilliseconds()的語法:
DateObj.getMilliseconds() 不需要參數。 Javascript Date getMinutes() 取得日期中的分 Date.getMinutes()取得日期中的分 Javascript的Date.getMinutes()方法:getMinutes()方法是用來取得日期物件當中本地時間的分,是一個0到59的正整數。
Date.getMinutes()的語法:
DateObj.getMinutes()
不需要參數。 Javascript Date getMonth() 取得日期中的月 Date.getMonth()取得日期中的月 Javascript的Date.getMonth()方法:getMonth()方法依據當地時間來傳回日期物件中的月份,是一個0到11的正整數,0代表一月,1代表二月,以此類推。Date.getMonth()的語法:
DateObj.getMonth() 不需要參數。 Javascript Date getSeconds() 取得日期中的秒 Date.getSeconds()取得日期中的秒 Javascript的Date.getSeconds()方法:getSeconds()方法依據當地時間來傳回日期物件中的秒數,是一個0到59的正整數。Date.getSeconds()的語法:DateObj.getSeconds() 不需要參數。 Javascript Date getUTCHours() 取得日期中的UTC小時 Date.getUTCHours()取得日期中的UTC小時 Javascript的Date.getUTCHours()方法:getUTCHours()方法是用來取得日期物件當中UTC的小時,getUTCHours()方法的傳回值是一個介於0~23的正整數。Date.getUTCHours()的語法:
DateObj.getUTCHours() 不需要參數。 Javascript Date getUTCMinutes() 取得日期中的UTC分 Date.getUTCMinutes()取得日期中的UTC分 Javascript Date.getUTCMinutes()方法:
getUTCMinutes()方法是用來取得日期物件當中UTC的分,是一個0到59的正整數。Date.getUTCMinutes()的語法:DateObj.getUTCMinutes()
不需要參數。 Javascript Date getUTCMonth() 取得日期中的UTC月 Date.getUTCMonth()取得日期中的UTC月 Javascript的Date.getUTCMonth()方法:
getUTCMonth()方法依據UTC時間來傳回日期物件中的月份,是一個0到11的正整數,0代表一月,1代表二月,以此類推。Date.getUTCMonth()的語法:DateObj.getUTCMonth() 不需要參數。 Javascript Date getUTCSeconds() 取得日期中的UTC秒 Date.getUTCSeconds()取得日期中的UTC秒 Javascript的Date.getUTCSeconds()方法:
getUTCSeconds()方法依據UTC時間來傳回日期物件中的秒數,是一個0到5的正整數。Date.getUTCSeconds()的語法:DateObj.getUTCSeconds()
不需要參數。 Javascript Date getYear() 取得日期中的當地時間的年份 Date.getYear()取得日期中的當地時間的年份 Javascript的Date.getYear()方法:getYear()方法會傳回日期物件中的當地時間的年份,這年份是減掉1900的值,譬如說1999年會傳回99,1800年會傳回-100。這方法已經廢棄不使用,若要取得當地時間的年份請使用getFullYear()。getYear()在javascript1.2或更早的版本中的表現行為並不完全與上述相符,原因是那時候ECMA-262並未完成。在javascript1.2或更早的版本中,小於1900或是大於1999,傳回值會以四個位數來表示,譬如說1870年會傳回1870,2013年會傳回2013。Date.getYear()的語法DateObj.getYear() 不需要參數。 Javascript Date object 日期物件 日期物件 Date 日期物件是Javascript中內建的物件,可以來建立日期,包含了年、月、日、小時、分、秒、毫秒。建立物件時,如果沒有提供參數,那會得到一個當時時間的Date 物件。Date 物件包含了許多方法,其中有些是靜態的。靜態的方法只能由 Date直接使用,不能藉由new Date()所建立的物件來呼叫。與其他Javascript中的內建物件不同的是,Date物件並沒有實字語法,所有的Date物件都必須藉由new Date()來建立。如果少了new只有Date()的話,那就像是把Date當成函式來呼叫,會得到一個日期字串,而不是Date物件。 Javascript Date parse() 將字串轉成1970年起的毫秒數 Date.parse() 將字串轉成1970年起的毫秒數 Javascript的Date.parse()方法:
parse()方法是一個靜態變數,也就是說他無法透過日期物件來進行呼叫,只能藉由Date.parse()來使用。parse()方法能將用來表達日期的字串轉換成由UTC時間,1970年1月1日0時0分0秒算起的毫秒數。Date.parse()的語法:Date.parse(dateString) Javascript Date setDate() 設定得日期中的日 Date.setDate()設定日期中的日 Javascript的Date.setDate()方法:setDate()方法用來設定日期物件中的日,也就是每個月中的幾號,傳入參數是一個1~31的整數。若是傳入的值超出當月份的正常範圍,setDate()方法也會依據超出的數值進行計算,譬如setDate(0)會讓日期變成前一個月的最後一天,setDate(-1)會讓日期變成前一個月的倒數第二天。若當月有31天,那setDate(32)會讓日期變成下個月的第一天。 Javascript Date.UTC() 傳回由1970 Javascript Date.getUTCDate() 取得日期中的UTC日 Date.getUTCDate()取得日期中的UTC日 Javascript的Date.getUTCDate()方法:getUTCDate()方法是依據UTC時間,取得日期物件中的日,也就是每個月的幾號,是一個1到31的整數值。
Date.getUTCDate()的語法:DateObj.getUTCDate()不需要參數。 Javascript Date.getUTCDay() 取得日期中的UTC的星期幾 Date.getUTCDay()取得日期中的UTC的星期幾 Javascript的Date.getUTCDay()方法:getUTCDay()方法是依據UTC日期,來取得日期物件中的星期幾,是一個0到6的整數值,0是星期日,1是星期一,2是星期二,依此類推。
要取得UTC日期中,每個月的幾號,請使用Date.getUTCDate()方法。Date.getUTCDay()的語法:DateObj.getUTCDay()不需要參數。 Javascript Date.getUTCFullYear() 取得日期中的UTC年 Date.getUTCFullYear()取得日期中的UTC年 Javascript的Date.getUTCFullYear()方法:
getUTCFullYear()方法是用來取得日期物件當中UTC的年份,年份是以西元年來計算,getUTCFullYear()方法的傳回值是4位數的數字,因此不會有千喜蟲的問題。Date.getUTCFullYear()的語法:
DateObj.getUTCFullYear()
不需要參數。 Javascript Date.now() 傳回由1970年現在時間的毫秒數 Date.now()傳回由1970年現在時間的毫秒數 Javascript的Date.now()方法:
now()方法是個靜態方法,只能藉由Date.now()來呼叫,而不能使用物件呼叫。now()方法會傳回由1970年1月1日0時0分0秒開始算起到現在時間經過的毫秒數。這裡所說的毫秒數是以UTC時間為準,而不是當地的時間。 Javascript Date.setFullYear() 設定得日期中的年 Date.setFullYear()設定日期中的年 Javascript的Date.setFullYear()方法:setFullYear()方法用來設定日期物件中本地時間的年,但事實上他也可以同時設定月份以及日期(每月的幾號),若設定的月份或是日期超出範圍,則會自動計算超出的值,對年份或月份增減。譬如說setFullYear(2013,12,1),會讓日期變回2014年1月1日。這裡要注意的是月份的數字表示,12月是11,1月是0,所以在setFullYear(2013,12,1)中,12明顯已經超出月份的範圍,年份自動加一,變成了2014年,月份則是2013年12月份的下個月也就是2014年的1月。 Javascript Date.setHours() 設定得日期中的小時 Date.setHours()設定日期中的小時 Javascript的Date.setHours()方法:setHours()方法依據本地時間來設定日期物件中的小時。事實上setHours()方法也可以用來額外設定分,秒,以及毫秒數。若設定的參數超出預期的範圍,setHours()方法會自動計算超出去的值,以得到超出範圍後的時間。譬如說小時的範圍為0~23,若設定25,則會變成隔天的凌晨1點(設定成24的話則是隔天凌晨0點)。 Javascript Date.setMilliseconds() 設定得日期中的毫秒 Date.setMilliseconds()設定日期中的毫秒 Javascript的Date.setMilliseconds()方法
setMilliseconds()方法可以用來設定物日期物件中的當地時間的毫秒數。其參數是一個0~999的整數,若超出這範圍,則setMilliseconds()方法會自動計算超出範圍的值,以得到正確時間,譬如說setMilliseconds(1000),已經超出範圍,則原本日期物件的秒數會加1,而毫秒數會變成0。若是setMilliseconds(1008),則原本日期物件的秒數會加1,而毫秒數會變成8。 Javascript Date.setMinutes() 設定日期中的分鐘 Date.setMinutes()設定日期中的分鐘 Javascript的Date.setMinutes()方法:
setMinutes()方法用來設定日期物件中的當地時間的分鐘數,但事實上他也可以同時設定秒數與毫秒數,請參考語法部分。setMinutes()方法中的參數若超出範圍,則setMinutes()方法會自動為其進行計算,以取得正確的時間,譬如說setMinutes(61),明顯已經超出分鐘數範圍0~59,因此日期物件中的小時會加1,而分鐘數變成1。
setMinutes()方法有一個傳回值,這傳回值代表這從1970年1月1日0時0分到該日期物件的UTC時間所經過的毫秒數。 Javascript Date.setMonth() 設定日期中的月份 Date.setMonth()設定日期中的月份 setMonth()方法用來設定日期物件中本地時間的月份,也可以同時設定月份中的幾號。月份參數的範圍是0~11,月分中幾號的參數的範圍是1~31,若給定的參數超出範圍,則setMonth()方法會自動進行計算,以取得正確時間。譬如說setMonth(13),13己超出範圍11,所以此時日期物件中的本地時間年份會加1,並且設定月份為2月份。
setMonth()方法有一個傳回值,這傳回值代表這從1970年1月1日0時0分到該日期物件的UTC時間所經過的毫秒數。 Javascript Date.setSeconds() 設定日期中的秒數 Date.setSeconds()設定日期中的秒數 setSeconds()方法用來設定日期物件中的本地時間的秒數,也可以額外再設定毫秒數,秒數參數的範圍是0~59,毫秒數參數的範圍是0~999,若給定的參數超出此範圍,則setSeconds()方法會自動計算以取得正確的時間,譬如說setSeconds(61),61明顯已超出範圍,因此會讓該物件的分鐘數加1,而秒數設定為1。
setSeconds()方法有一個傳回值,這傳回值代表這從1970年1月1日0時0分到該日期物件的UTC時間所經過的毫秒數。 Javascript Date.setTime() 設定日期物件的日期 Date.setTime()設定日期物件的日期 setTime()方法用來設定日期物件中的日期,傳入參數是UTC時間從1970年1月1日0時0分0秒0毫秒算起,經過的毫秒數。
setTime()方法會傳回一個值,是從1970年1月1日0時0分0秒0毫秒算起到該日期物件的時間經過的毫秒數,也就是說,其實會等於他的傳入值。 Javascript Date.setUTCDate() 設定日期物件的UTC日期 Date.setUTCDate()設定日期物件的UTC日期 setUTCDate()方法用來設定日期物件中UTC的日(每月的第幾天),傳入參數是一個1~31的整數。若是傳入的值超出該月天數範圍,setUTCDate()會依據超出的數值進行計算,譬如setUTCDate(0)會讓日期變成前一個月的最後一天,setUTCDate(-1)會讓日期變成前一個月的倒數第二天。若當月有31天,那setUTCDate(32)會讓日期變成下個月的第一天。 Javascript Date.setUTCFullYear() 設定日期中的UTC年 Date.setUTCFullYear()設定日期中的UTC年 Javascript的Date.setUTCFullYear()方法:
setUTCFullYear()方法用來設定日期物件中UTC時間的年,也可以同時設定月份以及日期(每月的幾號),若設定的月份或是日期超出範圍,則會自動計算超出的值,對年份或月份增減。譬如說setUTCFullYear(2013,13,1),會讓日期變回2014年2月1日。關於月份的數字表示,1月是0,12月是11,因此setUTCFullYear(2013,13,1)中,13明顯已經超出月份的範圍,年份自動加一,變成了2014年,月份則是2013年12月份的下下個月也就是2014年的2月。 Javascript Date.setUTCHours() 設定日期中的UTC小時 Date.setUTCHours()設定日期中的UTC小時 Javascript的Date.setUTCHours()方法:
setUTCHours()方法依據UTC時間來設定日期物件中的小時。setHours()方法也可以同時設定分,秒,以及毫秒數。若設定的參數超出預期的範圍,setUTCHours()方法會自動計算超出去的值,以得到超出範圍後的時間。譬如說小時的範圍為0~23,若設定26,則會變成隔天的凌晨2點(設定成24的話則是隔天凌晨0點)。
setUTCHours()方法有一個傳回值,這傳回值代表這從1970年1月1日0時0分到該日期物件的UTC時間所經過的毫秒數。 Javascript Date.setUTCMilliseconds() 設定日期中的UTC毫秒 Date.setUTCMilliseconds()設定日期中的UTC毫秒 Javascript的Date.setUTCMilliseconds()方法:
setUTCMilliseconds()方法可以用來設定物日期物件中的UTC時間的毫秒數。參數是一個0~999的整數,若超出這範圍,則setUTCMilliseconds()方法會自動計算超出範圍的值,以得到正確時間,譬如說setUTCMilliseconds(1000),已經超出範圍,則原本日期物件的秒數會加1,而毫秒數會變成0。若是setUTCMilliseconds(1008),則原本日期物件的秒數會加1,而毫秒數會變成8。 Javascript Date.setUTCMinutes() 設定日期中的UTC分鐘 Date.setUTCMinutes()設定日期中的UTC分鐘 setUTCMinutes()方法用來設定日期物件中的UTC時間的分鐘數,同時也可以設定秒數與毫秒數。setUTCMinutes()方法中的參數若超出範圍,則會自動為超出範圍的值進行計算,以取得正確的時間,譬如說setUTCMinutes(61),明顯已經超出分鐘數範圍0~59,因此日期物件中的UTC小時會加1,而UTC分鐘數變成1,而setUTCMinutes(60)會讓日期物件中的UTC小時數加1,並將UTC分鐘數變為0。 Javascript Date.setUTCMonth() 設定日期中的UTC月份 Date.setUTCMonth()設定日期中的UTC月份 setUTCMonth()方法用來設定日期物件中UTC時間的月份,同時也可以設定月份中的幾號。月份參數的範圍是0~11,月分中幾號的參數的範圍是1~31,若給定的參數超出範圍,則setUTCMonth()方法會自動進行計算,以取得正確時間。譬如說setMonth(13),13己超出範圍11,所以此時日期物件中的UTC年份會加1,並且設定月份為2月份。
setUTCMonth()方法有一個傳回值,這傳回值代表這從1970年1月1日0時0分到該日期物件的UTC時間所經過的毫秒數。 Javascript Date.setUTCSeconds() 設定日期中的UTC秒數 Date.setUTCSeconds()設定日期中的UTC秒數 setUTCSeconds()方法用來設定日期物件中的UTC時間的秒數,也可以同時設定毫秒數,秒數參數的範圍是0~59,毫秒數參數的範圍是0~999,若給定的參數超出此範圍,則setUTCSeconds()方法會自動計算以取得正確的時間,譬如說setUTCSeconds(61),61明顯已超出範圍,因此會讓該物件的分鐘數加1,而秒數設定為1。
setUTCSeconds()方法有一個傳回值,這傳回值代表這從1970年1月1日0時0分到該日期物件的UTC時間所經過的毫秒數。 Javascript Date.setYear() 設定日期中的年 Date.setYear()設定日期中的年 此方法已經廢棄,請使用setFullYear()。
setYear()方法可以用來設定本地時間的年份。參數可以是個2位數數字,或是4位數的數字。若參數為2位數,則實際年分會在加上1900,此種表示法無法計算到2000年後。 Javascript Date.toDateString()取得日期物件的星期幾與月日年字串 Date.toDateString()取得日期物件的星期幾與月日年字串 Javascript的Date.toDateString()方法:
toDateString()方法可以取得日期物件中的日期部分的字串,僅包含了星期幾與月日年。由於toString()方法傳回的日期字串過於複雜,而且會隨著javascript執行環境的不同,而有不同的輸出。如果想要藉由分離toString()傳回的字串來取得單純的日期字串(僅包含星期給與月日年),在實作上有其困難度。所以說,如果只是要取得日期部份的字串的時候,toDateString()方法就是相當實用的方法。 Javascript Date.toGMTString() 取得GMT日期字串 Javascript Date.toISOString() 取得ISO格式的日期字串 Date.toISOString()取得ISO格式的日期字串 toISOString()方法用來取得IOS格式的日期字串:ISO 8601。IOS格式的日期字串看起來會像是這樣 YYYY-MM-DDTHH:mm:ss.sssZ。此方法為ECMA-262第五版新增之方法。可能會有些瀏覽器不支援。不過可藉由自訂方法來解決這樣的問題。 Javascript Date.toJSON() 取得JSON格式的日期字串 Date.toJSON()取得JSON格式的日期字串 Javascript的Date.toJSON()方法:
toJSON()方法用來取得日期物件中的JSON格式的日期字串,JSON格式的日期字串跟 ISO-8601標準: YYYY-MM-DDTHH:mm:ss.sssZ是一樣的。此方法為ECMA-262第五版新增之方法,可能有些瀏覽器並不支援。 Javascript Date.toLocaleDateString() 取得日期物件的日期部分 Date.toLocaleDateString()取得日期物件的日期部分 Javascript的Date.toLocaleDateString()方法:
toLocaleDateString()方法,用來取得日期物件中,當地時間的日期部分,包含了星期幾與年月日。
Date.toLocaleDateString()的語法:
DateObj.toLocaleDateString()
toLocaleDateString()在ECMA-262 5.1Eddition當中有保留第一個參數,以供未來使用,文件中建議瀏覽器不要使用該參數,以免以後有所衝突,不過Mozilla似乎已經實作了2個參數,參考:MDN:Date.prototype.toLocaleDateString。 Javascript Date.toLocaleString()傳回當地時間日期字串 Date.toLocaleString()傳回當地時間日期字串 avascript的Date.toLocaleString()方法:
toLocaleString()方法會傳回一個日期字串,以當地時間為準,不同瀏覽器可能會傳回的字串。
toLocaleString()在ECMA-262 5.1Eddition當中有保留第一個參數,以供未來使用,文件中建議瀏覽器不要使用該參數,以免以後有所衝突,不過
Mozilla似乎已經實作了2個參數,參考:MDN:Date.prototype.toLocaleString。 Javascript Date.toLocaleTimeString()取得日期物件的時間部分 Date.toLocaleTimeString()取得日期物件的時間部分 Javascript的Date.toLocaleTimeString()方法:
toLocaleTimeString()方法,用來取得日期物件中,當地時間的時間部分。
Date.toLocaleTimeString()的語法:
DateObj.toLocaleTimeString()
toLocaleTimeString()在ECMA-262 5.1Eddition當中有保留第一個參數,以供未來使用,文件中建議瀏覽器不要使用該參數,以免以後有所衝突,不過Mozilla似乎已經實作了2個參數,參考:MDN:Date.prototype.toLocaleTimeString。 Javascript Date.toString() 傳回日期字串 Date.toString()傳回日期字串 Javascript的Date.toString()方法:
toString()方法會傳回一個字串來表示該日期物件,這字串會包含日期物件所表示的日期與時間。
toString()方法傳回的字串會以美國英文來表示,但輸出的時間是當地時間。 Javascript Date.toTimeString() 取得日期物件的時間部分的字串 Javascript Date.toUTCString() 取得日期物件的UTC時間字串 Javascript Date.valueOf() 傳回日期物件原始值 Date.valueOf()傳回日期物件原始值 Javascript的Date.valueOf()方法:valueOf()方法會傳回Date物件的原始值,該原始值是一個數值,代表著由1970年1月1日0時0分0秒開始算起到日期物件時間經過的毫秒數。valueOf()方法跟getTime()有相同的功能。只是valueOf()通常在Javascript內部呼叫,不常出現在程式碼當中。 Javascript ECMA-262 中文 翻譯 原型鏈 Javascript ECMA262 4.1 Web Scripting 網頁腳本語言 4.1 Web Scripting 網頁腳本語言 網頁瀏覽器提供了ECMAScript主機環境以進行客戶端運算,譬如,用來表示視窗,選單,彈出,對話盒,本文區域,瞄點,框架,歷史,cookies,以及輸入輸出的物件。更進一步來說,主機環境提供了一種方法,以進行腳本語言程式碼的附加,像是焦點的改變,網頁與圖像的載入、卸載、錯誤以及放棄,選擇清單與表單提交,和滑鼠動作等。 Javascript ECMA262 5 Notational Conventions 5符號慣例 5.1句法和詞彙語法 5.1.1上下文無關文法 5 Notational Conventions 5符號慣例 5.1.1上下文無關文法
上下文無關文法是由許多產生式所組成,每個產生式都有一個被稱之為非終結符號的抽象符號作為其左側,以及一連串的0個或多個非終端與終結符號當作其右側。對每個文法而言,終結符號是由具體指定的符號表取出。
由一個單一被識別的非終結符號-目標符號,組成的句子開始,一個被給定的上下文無關文法指出一個語言,那就是,終結符號可能的順序組合(可能是無限多組),這種組合可以藉由重複的以非終結符號在左手邊的產生式的右手邊替換任何在句中的非終結符號而產生。 Javascript Function.arguments 函數參數 Javascript Function.length 函式參數個數 Function.length 函式參數個數 Function.length 函式參數個數:
length 是函是物件(對象)的屬性,此屬性用來取得函式物件預定收到的參數值,這裡要注意,是預定收到,而是不是實際收到。由於Javascript支援可變長度的參數。因此實際輸入的參數是可以大於預定收到的參數個數。若是要取得實際的參數值請使用arguments物件。 Javascript Function.prototype.apply 呼叫函式 Javascript Function.prototype.call Function.prototype.call 呼叫函式 Function.prototype.call是函式物件的方法,用來呼叫函式,與一般呼叫函式的方式不同的地方是,call方法可以指定函式中的this值。call方法與另一個函式物件方法apply十分類似,唯一的不同點是,call方法傳遞參數的方式是個別傳送,而apply方法則是將所有參數放在一個陣列中來傳送。 Javascript Math.abs() 傳回絕對值 Math.abs()傳回絕對值 Javascript的Math.abs()方法:abs()方法是一個靜態方法,只能藉由Math.abs()來呼叫,此方法會將輸入參數取絕對值後傳回。Math.abs()的語法:Math.abs(x)x:數值(number)。 Javascript Math.acos() 傳回反餘弦值 Math.acos()傳回反餘弦值 Javascript的Math.acos()方法:acos()方法是一個靜態方法,只能藉由Math.acos()來呼叫,acos()方法可以取得輸入參數的反餘弦值。acos是反三角函數的一種,關於反三角函數可以參考:維基上的反三角函數 Javascript Math.asin() 傳回反正弦值 Math.asin()傳回反正弦值 Javascript的Math.asin ()方法:asin()方法是一個靜態方法,只能藉由Math.asin()來呼叫,asin()方法可以取得輸入參數的反正弦值。維基上的反三角函數Math.asin()的語法:Math.asin(x) Javascript Math.atan() 傳回反正切值 Math.atan()傳回反正切值 Javascript的Math.atan()方法:atan()方法是一個靜態方法,只能藉由Math.atan()來呼叫,atan()方法可以取得輸入參數的反正切值。atan是一種反三角函數,其定義請參考維基上的反三角函數。Math.atan()的語法:Math.atan(x)x:數值(number)。傳回值:範圍為 -pi/2 ~ pi/2(弧度)。 Javascript Math.atan2() 傳回從X軸到某個點的角度 Math.atan2()傳回從X軸到某個點的角度 atan()方法是一個靜態方法,只能藉由Math.atan()來呼叫,atan2是正切函數的一個變種,需要兩個參數。atan2(y,x)代表的意義是以原點為起點,指向坐標(x,y)連成的線與x軸正方向之間的角度。atan2有點複雜,可以參考 在維基百科上的Atan2。atan2的傳回值,來自MDN的Math.atan2: Javascript Math.ceil() 傳回最小整數值 Math.ceil()傳回最小整數值 Javascript的Math.ceil()方法:ceil()方法是一個靜態方法,只能藉由Math.ceil()來呼叫。Math.ceil()方法會傳回大於等於傳入參數的最小整數。Math.ceil()的語法:Math.ceil(x)x:數值。 Javascript Math.cos()傳回餘弦值 Math.cos()傳回餘弦值 Javascript的Math.cos()方法:cos()方法是一個靜態方法,只能藉由Math.cos()來呼叫。Math.cos()方法會傳回介於-1~1之間的值,代表的是三角函數中的餘弦。Math.cos()的語法:Math.cos(x) Javascript Math.exp() 傳回e的乘冪數 Math.exp()傳回e的乘冪數 Javascript的Math.exp()方法:exp()方法是一個靜態方法,只能藉由Math.exp()來呼叫。Math.exp()的會傳回Ex,x是傳入的參數,E是自然對數的基底,或者稱之為歐拉常數。Math.exp()的語法:Math.exp(x) Javascript Math.floor() 最大整數。 Math.floor()最大整數 Javascript的Math.floor()方法:floor()方法是一個靜態方法,只能藉由Math.floor()來呼叫。Math.floor()方法會傳回小於或等於給定數值(輸入參數)的最大整數。Math.floor()的語法:Math.floor(x) Javascript Math.log() 傳回數字的自然對數 Math.log()傳回數字的自然對數 Javascript的Math.log()方法:log()方法是一個靜態方法,只能藉由Math.log()來呼叫。Math.log()方法會傳回傳回傳入參數的自然對數。Math.log()的語法:Math.log(x) Javascript Math.max()傳回最大的數值 Math.max()傳回最大的數值 Javascript的Math.max()方法:max()方法是一個靜態方法,只能藉由Math.max()來呼叫。Math.max()方法會傳回所有傳入參數中的最大值。Math.max()的語法:Math.max([value1[,value2[, ...]]])沒有輸入任何參數的話,回傳回-Infinity Javascript Math.min()傳回最小的數值 Math.min()傳回最小的數值 Javascript的Math.min()方法:min()方法是一個靜態方法,只能藉由Math.min()來呼叫。Math.min()方法會傳回所有傳入參數中的最小值。Math.min()的語法:Math.min([value1[,value2[, ...]]])沒有輸入任何參數的話,回傳回Infinity Javascript Math.random()傳回介於0~1間的亂數 Math.random()傳回介於0~1間的亂數 Javascript的Math.random()方法:random()方法會隨機傳回0~1之間的浮點數,但並不包含1。這方法主要是用來取某個範圍內的亂數。random()方法是一個靜態方法,只能藉由Math.random()來呼叫。Math.random()的語法:Math.random() Javascript Math.round()傳回四捨五入的整數 Math.round()傳回四捨五入的整數 Javascript的Math.round()方法:Math.round()方法會傳回輸入值四捨五入到整數後的結果,此方法是個靜態方法,也就是說不能在物件中呼叫,只能藉由Math.round()來呼叫使用。(以下拖稿) 所謂的四捨五入到整數,意思是說,當小數點以下大於0.5時,會直接進位到整數,小於0.5時,則直接省略小數部分,譬如2.5四捨五入後會等於3,而2.3四捨五入後會等於2。 Javascript Math.sin() 傳回數值的正弦 Math.sin()傳回數值的正弦 Javascript的Math.sin()方法:sin()方法是一個靜態方法,只能藉由Math.sin()來呼叫。Math.sin()方法會傳回介於-1~1之間的值,代表的是三角函數中的正弦。Math.sin()的語法:Math.cos(x) x:數值。 Javascript Math.sqrt() 傳回平方根 Math.sqrt()傳回平方根 Javascript的Math.sqrt()方法:sqrt()方法是一個靜態方法,只能藉由Math.sqrt()來呼叫。sqrt會傳回輸入數值的平方根,若是傳入值是負數,則會傳回NaNMath.sqrt()的語法:
Math.sqrt(x) Javascript Math.tan() 傳回數值的正切 Math.tan()傳回數值的正切 Javascript的Math.tan()方法:tan()方法是一個靜態方法,只能藉由Math.tan()來呼叫。Math.tan()代表的是三角函數中的正切。Math.tan()的語法:Math.tan(x)x:數值。 Javascript RegExp.exec() 測試並傳回第一個比對成功之字串 RegExp.exec() 測試並傳回第一個比對成功之字串 Javascript的RegExp.exec()方法:
RegExp.exec()方法會測試並傳回第一個比對成功之字串。
RegExp.exec()的語法:
result = regexpobj.exec(str)
regexpobj:正規表達式物件。
str:要比對的字串。 Javascript RegExp.test()測試並傳回是否比對成功 RegExp.test()測試並傳回是否比對成功 Javascript的RegExp.test()方法:RegExp.test()方法會測試並傳回字串是否比對成功,若是有比對成功字串則傳回true,若沒有比對成功的字串則傳回false。RegExp.test()的語法:regexpobj.test([str])regexpobj:正規表達式物件。str:要比對的字串。 Javascript String.charCodeAt() 傳回指定字元的unicode值 String.charCodeAt()傳回指定字元的unicode值 javascript 中的String.charCodeAt()方法會傳回字串中索引值指定字元的unicode值。String.charCodeAt()的語法:
string.charCodeAt(index)index:索引值,範圍為0到string.length - 1,超出範圍會傳回NaN,如果索引值不是數字,索引值會被當成0來運算,數字字串會被轉成數字後再運算。 Javascript String.concat() 合併字串 String.concat() 合併字串 javascscript的string.concat()方法可以用來合併字串,可以合併2個或多個字串。此方法並不會改變字串原本的內容,而是傳回一個新的字串。String.concat()的語法string.concat(string1, string2, ..., stringn)除此之外,還有一種簡便的方法是直接使用字串實字來呼叫concat()其實關於字串合併,我個人最常用的還是直接使用+運算子 Javascript String.lastIndexOf String.lastIndexOf() 傳回字串最後出現位置 在javascript中,String.lastIndexOf()方法是用來由後往前(由右往左)搜索指定字串,
並傳回指定子字串在字串中最後出現的位置 , 位置是由左至右算起,由0開始。
除了可以從字串最尾端開始尋找外,也可以指定開始搜索的起始位置,由起始位置向左搜索。
當lastIndexOf()方法找不到指定字串時,會傳回-1。
要注意一點!String.lastIndexOf是會區分大小寫的。
Javascript String.match() String.match() 使用正規表達式比對字串 Javascript的String.match()方法:match()方法利用正規表達式來比對搜尋字串。javscript有專門的正規表示式物件:RegExp。
可以使用new關鍵字建立正規表達式物件,或是直接使用實字建立。
String.match()的語法:
string.match(regexp)
regexp:正規表達式物件,如果不是,會被隱式的使用new RegExp(obj)轉化成正規表達式物件。
傳回值:如果正規表達是沒有使用g(代表全局搜尋),那match()方法只會傳回第一個比對成功的字串,如果有使用g,那會傳回所有比對成功的字串陣列。如果沒有比對成功的字串,match()方法會傳回null Javascript String.repalce()比對與更換字串 String.repalce()比對與更換字串 repalce()方法利用給定的字串或是正規表達式來搜尋比對字串,
並且用指定的字串來代替比對成功的字串。
如果要替代字串中所有比對成功的子字串,那就必須在正規表達式中使用g旗標,
否則只會更換第一個比對成功的字串,請參考範例。
replace()方法並不會變更原本字串內容,而是傳回一個新的字串。
Javascript String.search() 搜尋字串 String.search()搜尋字串 Javascript的String.search()方法:
search()方法使用正規表達式來搜尋字串,並且傳回字串所在位置的索引值。
索引由左至右,由0開始。
如果搜尋失敗會傳回-1。
String.search()的語法:
str.search(reg)
reg:正規表達式,如果不是則會被隱式的使用 new RegExp(obj)轉型為正規表達式。 Javascript String.search()與String.match()的差異 String.search()與String.match()的差異 String.search()與String.match()的差異:
search()方法與match()方法都是用來搜尋字串的,
但是2個方法卻有很大的差別。
search()方法功能較為陽春,但執行速度快。
如果只是要判斷某個字串內是否含有某個子字串(或是符合某個正規表達式),
使用search()方法是個較好的選擇。
如果搜尋字串需要取格更詳細的資料,譬如符合正規表達式的子字串等。
Javascript String.substring 取得子字串 String.substring()取得子字串 Javascript的String.substring()方法:substring()方法使用起始索引與結束索引來提取字串中的子字串。此方法不會改變原本字串內容回,而是傳回一個新的字串。Sring.substring()的語法:string.substring(start,end) Javascript String.toLowerCase() 將字串字母變小寫 String.toLowerCase()將字串字母變小寫 Javascript的String.toLowerCase()方法:toLowerCase()將字串中所有的字母都變成小寫字母。toLowerCase()方法會傳回一個新的字串,而不是改變原本的字串。Sring.toLowerCase()的語法:string.toLowerCase()
String.toLowerCase()的範例: Javascript String.toUpperCase 將字串字母變大寫 String.toUpperCase()將字串字母變大寫 toUpperCase()方法將字串中的英文字母都變成小寫,toUpperCase()不會改變原本的字串,而是傳回一個新的字串。
與toUpperCase()相反的方法是String.toLowerCase()Sring.toUpperCase()的語法sring.toUpperCase() Javascript String.valueOf 傳回字串物件的原始值 String.valueOf()傳回字串物件的原始值 Javascript的String.valueOf()方法:valueOf()方法會傳回物件原始值,通常會等於string.toString。
這方法很少會直接被程式設計者使用,通常只有在javascript內部呼叫。Sring.valueOf()的語法:string.valueOf() Javascript array 關聯式陣列 關聯式陣列 Javascript 的關聯式陣列(Array)
一般我們常用的陣列可以稱之為索引式陣列,是利用陣列的索引來取得陣列元素。
除了使用索引來取得陣列元素外,還由一種鍵值來取得元素的,稱之為關聯式陣列。關聯式陣列(Array)的建立:與索引式陣列不同,關聯式陣列一般不使用new Array來建立。(其實陣列都不建議使用new Array來建立,請參考陣列物件 Array。)關聯式陣列大多使用new Object來建立: Javascript ecma 262 1 Scope 範圍 2 Conformance 一致性 ECMAScript Javascript ecma 262 4.2 Language Overview 語言概述 4.2 Language Overview 語言概述 4.2 語言概述
下面是一個ECMAScript的非正式概述—並非語言的所有部分都會提到。這份概述並不是標準本身的一部分。
ECMAScript是基於物件的:基本語言和主機功能都是由物件提供,ECMAScript程式是一群可互相溝通的物件。ECMAScript物件是一群屬性的集合,每個屬性都有0個或多個特徵,這些特徵決定每個屬性能夠如何被使用。譬如說,當某個屬性的可寫特徵被設成false,任何藉由執行ECMAScript程式碼來改變屬性值的企圖都會失效。 Javascript ecma-262 4.3 Terms and definitions 名稱與定義 4.3 Terms and definitions 名稱與定義 4.3名稱與定義
下面的名稱與定義適用於這文件的議題。
4.3.1
類型
在本規範書條款8中所定義的資料值組。
4.3.2
原始值
下面的類型中的一種,Undefined, Null, Boolean, Number,String,這些類型定義在條款8。
注意,原始值是在語言實現的最低層表示的數據。 Javascript ecma262 3 Normative references 引用標準 ECMAScript Javascript ecma262 4 Overview 概觀 ECMAScript 4.Overview 概觀 4.概觀
這章節包含了一個非規範性的ECMAScript語言概述。(http://lists.xml.org/archives/xml-dev/200302/msg00660.html==>關於非規範性這字眼的討論)
ECMAScript是一個物件導向的程式語言,可以在主機環境中進行運算與操作計算機物件。此處定義的ECMAScript並不是為了成為一個計算機的自給自足的語言,更確切的說,這份規範書並沒有提到任何關於外部資料輸入或是計算結果輸出的條款 Javascript ecma262 4.2.2 The Strict Variant of ECMAScript ECMAScript的嚴格版本 4.2.2 The Strict Variant of ECMAScript ECMAScript的嚴格版本 ECMAScript 語言承認一個可能性,某些語言的使用者會希望限制語言中的一些特徵的用途。這樣做的目的可能是為了安全性,或是避免他門認為容易產生錯誤的特徵,強化錯誤檢查,或是其他選擇的理由。為了這個可能性,ECMAScript為這語言定義了一個嚴格的版本。此語言的嚴格版本包含了一些特殊的語法與語意特徵,這些特徵都是正規的ECMAScript語言,並修改了這些特徵語意的細節。嚴格版本也指明了額外的錯誤狀態,這些錯誤狀態必須藉由丟出例外來回報,這些情況在語言的非嚴格類型中,並不會指明為錯誤。 Javascript ecma262 Copyright notice 版權聲明 ECMAScript Copyright notice 版權聲明 ECMA262第五版的版權聲明:This document and possible translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published, and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this section are included on all such copies and derivative works Javascript ecma262 Introduction 序言 Introduction 序言 序言本ECMA標準是基於許多原創技術而建立,最廣為人知的就是網景公司(Netscape)的javascript和Microsoft的JScript。這個語言最先是由網景公司(Netscape)的Brendan Eich所發明,並且在網景公司的Navigator 2.0瀏覽器中首次出現。在此之後網景的所有瀏覽器也都可以找到這語言的蹤跡,而Microsoft也在IE3.0之後開始支援。 Javascript for in array 陣列 陷阱 for in 列舉陣列(Array)的危險陷阱 Javascript for in 列舉陣列的危險陷阱:一般而言,我們使用for來重複操作陣列,使用for in 來列舉物件屬性。但for in 也不是不能操作陣列,只是這種作法有陷阱存在。原因出在於對物件屬性的擴充,這會造成for in在操作陣列時,將擴充屬性也當成陣列內容列舉出來。讓我們看看下面的例子。 Javascript for迴圈 array 陣列 效率 一個for迴圈操作陣列的效率問題 Stoyan Stefanov在 Javascript 設計模式中提到一個for迴圈操作陣列的效率問題,一般我們在使用for迴圈來操作陣列時,通常都會使用到陣列的長度,像是這樣:
for(var i=0;i Javascript fromCharCode Unicode 轉成字元 String.fromCharCode() 將Unicode 轉成字元 javascript中的string.fromCharCode()方法可以將多個Unicode轉成字串。
注意一點,這是個靜態函數,不能藉由物件實體來呼叫。
只能以String.fromCharCode()的方式使用。
String.fromCharCode()的語法:
String.fromCharCode(num1, ..., numN)
Javascript hoisting 提升 粗談hoisting... hoisting 中文是提升的意思。
在javascript 中 hoisting指的是 " 一種把宣告提升到其所在區域內頂端的行為"。
意思是,可以在宣告變數前就使用變數。不過提升行為僅僅只針對宣告部分,對於變數的指定,並沒有跟著被提升。 Javascript jquery JQuery是什麼 JQuery是一個快速,小型,並且多功能的JavaScript函式庫。JQuery擁有一個易於使用的API能跨越過大多數的瀏覽器,讓像是HTML文件的遍歷與操作,事件處理,動畫,以及Ajax等等更為簡單。結合了多功能性與擴展性,JQuery已經改變了數以百萬計的使用者撰寫JavaScript程式碼的方式。 Javascript jquery 色彩選取器 顏色選取氣 色彩選取器 色彩選取器是在製作網頁時常常用到的工具。以往的網頁會有固定的色彩,但現在網頁動態選取顏色已經越來越普遍。下面這款色彩選取器是jQuery的插件,十分簡單易用。
可以藉由事件來動態變更網頁內各元件的顏色。
Javascript js object 物件 Javascript js 內建物件 boolean object Javascript script defer 延遲載入 關於script標籤的 defer 屬性 談論到網站的載入速度,javascript的延遲載入似乎是很常被提到的課題。標籤中的defer屬性就是個會讓人誤解的地方。defer 英文是 延遲 的意思,不過這裡的延遲指的卻不是指載入的延遲,而是執行的延遲!所以說給一個載入外部js檔的標籤加上延遲屬性,並不會阻止js檔的載入,而是會將執行的時間延遲到文檔完全解析完成與顯示後才開始執行,理論上這js的執行時間應該先於DOMContentLoaded事件,但實務上似乎與瀏覽器或是當時執行狀況有關。 Javascript script標籤 非同步與延遲執行 script標籤的非同步與延遲執行 在HTML5中,script標籤多了許多屬性,async 就是其中之一。async屬性可以讓script進行非同步的載入跟執行,而不會停止網頁其他部分的載入與解析。這種讓外部js擋在背景載入與執行的方法,大大的提升了網頁載入與執行的效能。雖然只適用於外部js檔,但實用性相當高, Javascript string strike 刪除縣 String.strike()帶有刪除線的網頁文字 String.strike()的功能是用來產生帶有刪除線的網頁文字。使用String.strike()方法時,會傳回一個帶有標籤的字串,傳回值會是像這樣string
標籤的作用是在網頁上顯示帶有刪除線的文字。String.strike()是個非標準的方法,不過各大瀏覽器都支援。在使用strike()方法時,會傳回一個新的字串,但不會改變原本的字串內容。
Javascript string.big()string.small() 字串物件 Javascript string.chartAt String.charAt() 傳回字串中索引值位置的字元 javascript 中的 String.charAt() 是用來傳回字串中索引值位置的字元。String.charAt()的語法:string.charAt(index)index:索引值,範圍為0到string.length - 1,超出範圍會傳回空字串。String.charAt()的範例: Javascript string.indexof() String.indexOf() 傳回字串第一次出現位置 在jjavascript中,String.indexOf()方法是用來搜索,
並傳回指定子字串在字串中第一次出現的位置 ( 由左至右 ),位置是由0開始計算。
除了可以從字串頭開始尋找外,也可以指定開始搜索的起始位置。
如果找不到指定字串會傳回-1。
要注意一點!String.indexOf是會區分大小寫的。
Javascript string.italics 斜體字 String.italics()以斜體字體顯示網頁文字 String.italics()方法可以傳回一個帶有標籤的字串。傳回的字串會像是這樣:string標籤在網頁上的功能是讓文字以斜體字顯示。italics()方法在ECMA中並無定義,是個非標準的方法,不過各大瀏覽器基本上都支援這方法。在使用italics()方法時,並不會改變字串原本的內容,而是傳回一個新的字串, Javascript string.link 文字超鏈結 String.link()建立文字超鏈結 String.link()方法是用來產生文字超鏈結的。String.link()可以傳回一個帶有標籤的字串,傳回值會是像這樣string標籤的作用是在網頁上產生一個超鏈結,可以將網頁連結到其他網頁。String.link()是個非標準的方法,不過各大瀏覽器都支援。在使用link()方法時,會傳回一個新的字串,但不會改變原本的字串內容。 Javascript string.slice 取得字串中的子字串 String.slice()取得字串中的子字串 Javascript的String.slice()方法:
slice()方法可以用來提取字串中某個起始位置到結束位置的子字串。
此方法回會傳回一個新的字串。
String.slice()的語法:
string.slice(start,end)
start:起始索引值,由左至右開始數起,由0開始,如果是負值則由右至左數起,由-1開始。end:結束索引值,由左至右開始數起,由0開始,如果是負值則由右至左數起,由-1開始,省略的話會直接當成字串尾。 Javascript string.slice() 字串物件三種擷取子字串方法的差異 javascript有三種從字串中擷取其子字串的方法:string.slice(),string.substr(),string.substring()其中string.substr()是最不一樣的,
string.substr()是藉由起始索引位置與子字串長度來擷取子字串。語法:string.substr(start,length)除了string.substr()特別不一樣外,
剩下的string.slice()與string.substring()這兩個方法就很相像,很容易搞糊塗,兩個方法都是藉由起始索引位置與結束索引位置來擷取子字串。 Javascript string.split() 分割字串 切割字串 String.split()分割字串 Javascript的String.split()方法:split()方法使用指定的字串或是正規表達式來分割字串。split()方法並不會變更原本的字串,分割完成後的子字串會以陣列方式傳回。但是如過字串本身是空字串,那會傳回一個空字串,而不是空陣列。
String.split()的語法:string.split(separator,limit)
separator:用來分割的字串,也可以是正規表達式,要注意的是,對於正規表達式中的Capturing parentheses,各家瀏覽器的支援並不相同。limit:限制傳回的字串陣列的元素數量,也就是說傳回的字串陣列的length不能大於limit。 Javascript string.substr 用起始索引與長度來取得字串中的子字串。 String.substr()取得子字串 Javascript的String.substr()方法: substr()方法使用起始索引與長度來取得字串中的子字串。substr()方法會傳回一個新的字串,但不會變更原本的字串。Sring.substr()的語法:string.substr(start,length) Javascript string.sup() string.sup String.sup()與String.sub() 上標與下標 javascript 的 String.sup()方法可以顯示上標網頁文字,String.sub()方法則是顯示下標網頁文字。String.sup()方法會傳回一個帶有標籤的字串,傳回值會是像這樣stringString.sub()方法會傳回一個帶有標籤的字串,傳回值會是像這樣string
String.sup()跟String.sub()都是非標準的方法,不過各大瀏覽器都支援。
在使用sup()與sub方法時,會傳回一個新的字串,但不會改變原本的字串內容。
Javascript 使用javascrip改變文字顏色 使用javascrip改變文字顏色 使用javascrip改變文字顏色:
現在很多網頁都有客製化的功能選項可以選,文字顏色也是最常出現的選項,下面介紹一個簡單的方法來改變文字的顏色。範例中只使用了四個顏色,若是要使用更多的顏色可以參考這篇色彩選取器。 Javascript 函式 Function 物件 函式 Function 在Javascript中,"函式是個物件",就像是一般物件一樣,差別是他可以被呼叫。函式可以用來完成某種特殊功能,或是用來處理資料。在任何一種語言當中函式都是不可或缺的重要腳色。下面是一個簡單的Javascript函式,當它被呼叫時。會跳出一個對話方塊,顯示一段歡迎字串。 Javascript 函式 括號 關於函式的一個小觀念 我想說的是關於 a 與 a()的差別。
首先要知道的事是,函式是一個物件,跟一般物件一樣它可以有自己的屬性與方法,唯一特別的是,他是一個可以被呼叫執行的物件。
當函式加上小括號()時,代表著程式是要呼叫並執行該函式。
如果只是單純的函式名卻沒括號,它代表著函式物件。
如果常看人家的函式庫就會看到類似這樣的寫法:(function(){...})()
這是一種立即執行的函式寫法 Javascript 函式的參數--傳值或傳址 函式的參數--傳值或傳址 函式的參數是用來與程式本體進行資料傳遞使用。一般傳遞參數的方式分為傳址或傳值。但Javascript不像C一樣,有特殊的運算子來決定傳值或傳址。而是以資料型態作為依據。對Javascript而言,函式參數的資料型態若是基本的資料型態,像是數值,字串,布林值,則會是以傳值的方式來進行傳遞,而當參數若是物件時則是以傳址來進行。 Javascript 動態載入CSS 動態載入CSS 一般載入css檔的方式就是在中使用來宣告要載入的文件。
事實上也只能在標籤中使用。那如何在網頁當中選擇要載入的css檔呢?下面這範例示範如何動態載入檔名為style.css的css檔 Javascript 字串 相加 合併 效能 效率 字串合併的效率問題 在做字串合併時,很多人都喜歡用+運算子來進行運算。但似乎有不少人認為這種作法效率不彰,不是個好的作法,使用array.join()倒是個比較推崇的方法。其實,不盡然如此。哪一種比較快?這結果其實很複雜,跟瀏覽器有相當的關係。整體上來說,使用+運算子是有相對優勢的。但這優勢並不存在在舊型的瀏覽器中! Javascript 建構函式的三種變數剖析 建構函式的三種變數剖析 建構函式的三種變數剖析:
Jvascript與一般的物件導向語言不同,它不是使用類別來建立物件,而是使用建構函式,在Javascript中建構函式可以像類別一樣,用來重複建立物件。不過與類別又不相同。建構函式本身就是物件,所以可以擁有自己的屬性和方法,同時它也是個函式,有自己的作用域變數,而建構函式建立的物件也擁有自己的屬性與方法。我們直接來看看下面這例子: Javascript 按讚 自動抓網址 為每個網頁加入FB按讚 之前有寫過該如何取得FB按讚的程式碼,只要把程式碼貼上去就可以讓自己的網頁也可以有按讚的功能了。
不過如果每篇文章都要修改一次網址其實有點麻煩,
所以我就用javascript自己寫個程式來讓網頁自動抓網址,再加上joomla的強大功能,我只要把程式放進HTML自訂模組中,再把模組插進文章中,這下子輕鬆多了。 Javascript 改變字型與字型大小 使用javascript改變字型與字型大小 調整與改變字型與字型大小:
之前在 google分析裡面看到有人查關鍵字"改變字型大小",結果進去了String.fontsize()這個頁面,我猜這根本不是他想要的,所以就再寫了這一篇文章,很簡單的應用,希望可以幫到有需要的人。 Javascript 數學物件 Math 數學物件 Math Javascript的數學物件 Math:
Math物件是Javascript的內建物件,提供了基本的數學常數與函式。與其他內建物件不太相同的是,Math並不是個建構子,因此無法使用new來建立物件,企圖使用new來建立物件可能會導致錯誤。Math所提供的所有方法都是靜態方法,可以在程式的任何地方直接呼叫。 Javascript 正規表達式pattern的字元與代表意義對照表 正規表達式pattern的字元與意義對照表 正規表達式pattern的字元:正規表達式功能十分強大,不過十分複雜,我把正規表達式樣本使用的字元跟說明對照表弄了出來。還附上了例子的圖形,能比較好理解。不過革命尚未成功,(還沒寫完==",請待續...)這字元表示從維基百科修改的,我用我的理解重新寫了出來,並附上例子與圖形。正規表達式pattern的字元與代表意義對照表: Javascript 正規表達式物件 RegExp 正規表達式物件 RegExp Javascript的正規表達式物件 RegExp :正規表達式是一種特殊定義的"樣本",通常被用來比對、搜尋,或是取代字串。簡單的樣本像是:/abc/,可以用來比對字串內是否含有"abc",複雜的像是:/ ^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/,可以用來比對是否為email字串。 Javascript 物件的屬性與方法(公開與私有) 物件的屬性與方法(公開與私有) 物件的屬性與方法,公開與私有:建構函式建立的物件的公開屬性與方法:在建構函式中,凡是用this開頭的屬性與方法都是公開的,可以直接被存取。使用實字的物件的公開屬性與方法:所有屬性與方法都是公開的。 Javascript 立即函式(IIFE) Immediately Invoked Function Expression 立即函式(IIFE) Javascript的立即函式(Immediately Invoked Function Expression):立即函是是Javascript中一種可以立即執行的函式,其本質其實是個函式表示式。何時該使用立即函式?如果你有一段程式碼,只被執行一次,或許就該考慮使用立即函式將程式碼包裹起來,這樣做有幾個好處。1.全域變數的減少:2.全域變數區域化: Javascript 自訂物件 自訂物件 Javascript的自訂物件:
Javascript並沒有一般物件導向語言所擁有的類別,但是他依然能藉由建構函式來重複建立物件。身為一個業餘的Javascript愛好者,我個人覺得這很特別,函式本身就是物件,然後我們用物件來建立物件 Javascript 迴圈敘述 do while Javascript 遞迴(Recursion) 遞迴(Recursion) 遞迴是一種函式在函式本體內呼叫自己的程式設計技巧。遞迴是一種很"直觀"的設計技巧。會這麼說是因為有些特殊例子使用其他演算法,像是迴圈來解釋的話會十分複雜,但使用遞迴的話,演算法就會變得很直觀。最著名的就是河洛塔( Hanoi tower)了。不過Hanoi tower其實有點複雜。所以就用一個簡單的入門例子吧。求某數值的階乘n!。這例子其實可以用迴圈解,也不太難。不過簡單好理解,所以很常被用來解釋遞迴。迴圈解法就不說了,反正就是一直跑回圈就是。 Javascript 部落格收集 Javascript 部落格收集 Javascript 部落格收集:
學每一種程式語言都是從教科書開始的,但要深入研究還是得多做多看。下面這些是網友收集來的關於Javascript的部落格,雖然都是英文的,不過大家閒來無事喝下午茶的時候可以研究研究看看。 Javascript 閉包(Closure)的基本概念 閉包(Closure)的基本概念 閉包(Closure)的基本概念:
只是用起來很可以複雜XD。閉包其實也是函式,不過它比較特的的是它擁有一組特殊的環境變數--本來以為應該消失,可是卻依然存在的變數。閉包意味著函式有個保護罩,用來保護函式所要使用的變數不會被系統給釋放掉。 Javascript 閉包(Closure)的細節(三) 閉包與記憶體洩漏 閉包(Closure)的細節(三):閉包與記憶體洩漏 所謂的記憶體洩漏指的是一些無法被釋放掉的記憶體。而這裡要討論的是早期IE的記憶體洩漏問題。雖然稱之為早期,但不得不承認早期IE的餘毒威力猶存,很多人依然在使用早期的IE,因此還是有了解的必要。
早期的IE很容易造成記憶體洩漏的情形,原因是因為IE對於DOM物件有自己的處理模式。當Javascript物件與DOM物件循環參考時,就會造成記憶體洩漏的問題。因為IE無法回收這樣的記憶體。下面是來自MDN的例子: Javascript 閉包(Closure)的細節(二):模擬私有變數 閉包(Closure)的細節(二):模擬私有變數 Javascript身為一個物件導向的語言,卻很特別的沒有原生地宣告私有變數的方法。不過這個問題可以藉由閉包的特點來補足。閉包的特點之一就是閉包內的變數只能由閉包的函式來存取。這與私有變數的特性相同。 Javascript 閉包(Closure)的細節(四):閉包效能與prototype 閉包(Closure)的細節(四):閉包效能與prototype 閉包(Closure)的細節(三),閉包效能與prototype:
使用閉包時得注意,因為閉包有效能上的影響,主要是反映在處理速度與記憶體的占用。因此確定目的是否確實需要閉包再決定是否使用。還要特別注意無意中造成的閉包,這種閉包沒有實際實現閉包的優點,卻依然擁有其缺點。 Javascript 閉包(Closure)的細節:共用與非共用變數 閉包(Closure)的細節:共用與非共用變數 一般函式在執行完畢時,內部的區域變數會被釋放掉,但如果在執行時產生了閉包。那閉包會保留其所在巢狀函式內的變數。讓他不至於被系統釋放掉。現在有一個問題是,閉包保留下來的變數,會與其他閉包共用嗎?這其實取決於閉包產生的位置與時間點。 Javascript 陣列物件 Array 陣列物件 Array 陣列是一種資料的集合,在javascript中,陣列也是物件。
既然是物件,就能藉由建構子來進行物件的建立。
陣列(Array)物件的建立:
有三種方式能建立陣列物件:
1. 使用 new 敘述宣告陣列長度。
下面這行程式會建立一個長度10的陣列物件:var myarray=new Array(10) ; Javascript應用 程式碼轉成HTML顯示格式 程式碼轉換成HTML的顯示格式:
這程式是為了方便我貼程式碼寫的,主要也只是把程式碼中的轉成,
這樣就可以方便我直接貼在HTML文件中了。
不然每次在CMC編輯器中直接貼上複製過來的HTML程式碼,不同的瀏覽器都會有不同的結果。 Javascript操作NGUI 使用Javascript操作NGUI 使用Javascript操作NGUI :NGUI 的script都是用C#寫的,不過依然可以使用Javascript來使用NGUI定義的類別。要使用Javascript操作NGUI需要下面幾點動作:1.在NGUI資料夾外建立一個Plugins資料夾,意思是NGUI資料夾跟Plugins資料夾會在同一個目錄下。 Javascript的核心規範 ECMA262 ECMAScript 何謂ECMA-262 ECMA-262是javascript的核心規範:
大部分學習過程式語言的人都聽過Javascript,但卻很少人聽聞過ECMA-262。ECMA是個國際標準,ECMA-262可以說是一個規範書,他定義著一種叫做ECMAScript的腳本語言。ECMAScript是基於許多原創技術而建立,其中包含Nescape的javascript,以及微軟的JScript 。 Javascript觀念、陷阱與深入研究文站內文章收集 Joomla 3.x Joomla Fatal error jsmin.php on line 377 Joomla 升級 2.5.9 版 Joomla升級到2.5.9版時發生的意外 Joomla 在2013年2月4號發布了2.5版的更新2.5.9主要是針對安全性的更新我的joomla後台也很盡責地告訴我該更新了我就很順手的按了下去..隔天發現..我的google分析告訴我 我一整天的訪客數是 0 阿咧!~~~ 怎麼可能....我得罪google了嗎?...把我的搜尋往後延了好幾名嗎?
後來想想不對 我自己發完文章還又去看了一下有沒有正常顯示 Joomla 外掛 Migur Title Plugin網站架設 joomla 變更網頁名稱 joomla在顯示文章分類網頁的時候似乎不能正確的顯示網頁標題。每次我在首頁點進去自己的javascript分類,網頁的標題依然是首頁。所以找了一個小外掛Migur Title Plugin,沒仔細去研究,不過效果依然明顯,至少我的分類網頁會顯示正確的網頁標題了。 Joomla 無法登入 後台 joomla 的惡夢..無法登入後台 joomla 無法登入後台,有人說是ㄧ些外掛被關掉了,打開就好了,可是該死!我遍尋不著那個plug-in資料表,只能認清現實了,很明顯joomla2.5版的資料表改了。只好資料表一個一個慢慢看,花了點時間終於還是讓我找到了。 Joomla 網頁速度 效能優化 外掛 加快 網頁 下載 速度 Joomla 網頁速度 效能優化 外掛 加快 網頁 下載 速度 mootools joomla 網頁速度效能優化第二彈 今天要談的優化其實是有些風險的,要做優化的目標就是,移除mootools。mootools是個與輕量級的javascript函式庫,話是這麼說,雖然我對它沒研究,但我一點也不覺得它輕量=="。在joomla2.5.x的版本中是內建下載mootools的,我看我的網頁會下載兩個關於mootools的js檔。mootools-core.js 與 mootools-more.js,如果沒進行壓縮的話mootools-core.js大概160k左右,mootools-more.js則有300多k。 Joomla 計數器 Jquery CSS類別操作--.addClass() CSS類別操作--.addClass():.addClass()方法可以為匹配的元素添加新的CSS類別。此方法只能單純的新增CSS類別到元素中。並不能移除或取代原本就有的類別。語法:.addClass( className ),.addClass( function(index, currentClass) ) CSS類別操作--.removeClass() JQuery:CSS類別操作--.removeClass():.removeClass()方法可以為匹配的元素移除原有的CSS類別。此方法只能單純的移除元素中的CSS類別。可與.addClass()合用,進行CSS類別的移除與新增。 複製--.clone() .clone()可以為匹配的元素建立一個深層複製的拷貝。.clone()傳回值是一個Jquery物件。.clone()方法會為匹配的元素進行深層的複製,這意味著他會複製匹配元素,以及其子元素和文字節點。 Ajax:全局Ajax事件處理程序 這裡所提到的方法會註冊事件處理程序。當頁面中任何的AJAX要求事件,像是初始化或是完成等等,發生時,註冊的處理程序會被呼叫。假如 jQuery.ajaxSetup() 的global 屬性是true(預設是true),那每個AJAX要求都會觸發出全局事件。注意:跨網域的腳本或是JSONP要求絕對不會觸發全局事件,此狀況無視於global屬性的設定。 Js javascript Number object 數值物件 Js javascript String.blink() 網頁 閃爍 Js javascript String.fontcolor String.fontcolor()以指定的顏色來顯示網頁文字 String.fontcolor()可以傳回帶有顏色標籤的網頁文字字串,其實就是為原本的字串加上標籤。使用fontcolor()方法時並不會改變原本字串的內容,而是傳回一個新的字串。String.fontcolor()的語法:
StringObject.fontcolor(color)
color:指定的顏色,可以是顏色名、RGB值、或是16進制的顏色值顏色名:W3C HTML4的標準定義了16種顏色: Js javascript string bold 粗體字 String.bold() 讓網頁文字變成粗體字 String物件的bold()方法會傳回一個帶有標籤的新字串,標籤會讓網頁文字以粗體字顯示。bold()方法使用上十分簡單,但是要注意的是,bold() 方法會傳回一個新字串,但是不會變跟原本字串的內容。 Js javascript string.fixed String.fixed()以等字寬顯示網頁文字 String.fixed()會傳回一個帶有標籤的新字串,標籤可以讓網頁以打字機字型(Teletype)來顯示文字。
打字機字型是一種等字寬的字型(fixed-pitch font或 Monospaced Font),在顯示時,每個字母都會有相同的寬度。 Js javascript string.fontsize() String.fontsize()以指定字型大小顯示網頁文字 String.fontsize()方法可以傳回帶有標籤的的網頁文字字串,傳回的字串會像這樣:mystring使用fontsize()方法時,並不會改變字串原本的內容,而是傳回一個新的字串,不過要注意的是,標籤在HTML5中已不再支援,建議以CSS代替。 Js javascript string物件 anchor 錨點 Js javascript 字串物件 String Object 屬性 方法 字串物件 String javascript 字串(String)物件,可以使用new敘述來建立新的字串物件,語法如下:new String(str);下表列出了關於String物件的各種屬性與方法: Js javascript 條件運算子 三元運算子 ?: 運算符 Js javascript 迴圈敘述 for in 迴圈敘述 for 與 for in javascript for 迴圈敘述跟while迴圈敘述一樣是用來重複執行某些程式碼區塊。主要的用法有兩種for 跟 for...in語法一:
for (expression1 ; expression2 ; expression3)
{
some javascript codes;
}
express1:初始值。
express2:條件判斷,此運算是為真實才會執行迴圈內的程式碼區塊。
express3:運算區,當迴圈結束,下一個迴圈開始前會執行這程式碼express1, express2, express3 都可以省略。express2是迴圈的判斷條件,當結果不為真時,就是迴圈的結束。 Json Excel 轉 Json 自己編 寫Json檔寫到快抓狂嗎!?~~~
這網站能將Excel的內容轉化成Json
還可以轉換成不同的格式
超好用!~ 用Java開啟json檔 用Java開啟json檔:為了要能解析json檔案,上網找了個json套件,似乎滿多人用的:JSON-java使用的結果是簡單易學,後來又發現JAVA EE 7已經有一套標準的JSON API規範了 : JSR353了說明文件好像也不難,但悲劇的是SE 7 , SE8好像都沒有==" KWH 1KWH等於幾度?? 1KWH等於幾度??電器上面都會有標籤寫耗電量,通常是以KWH表示。不過KWH是啥??其實KWH是每小時千瓦的意思。 Lerp Unity腳本:使用Lerp 線性插值製作滑順效果 Unity腳本:Lerp 線性插值在Unity中,Lerp一種是用來計算線性插值的函式Lerp可以使用在很多個地方,像是:Color.Lerp 、Mathf.Lerp 、Vector3.Lerp 、Material.Lerp 。Lerp可以用來製作許多滑順的效果。譬如說Color.Lerp就可以讓兩種不同的顏色平滑的轉換。 Localization NGUI的本地化 NGUI還滿貼心的,內附UILabel的本地化( 我一直覺得翻成本土化比較合==" )腳本。
本地化檔案可以使用.cvs檔,將其命名為Localization放在Resources資料夾中就可以了。
(沒Resources資料夾就自己建一個)
NGUI下載時其實就自帶了一個Localization.txt檔。 NGUI的本地化 Part2 在上一篇文章--NGUI的本地化中有提到UILabel的本地化,今天再來談談另一個常用的需要本土化的NGUI元件:UIPopupList。 Logic operator 邏輯運算子 javascript 的邏輯運算子與關係運算子,很常被合用在條件敘述的判斷式中。可以用來判斷多個條件是否在成立狀態。主要有三個:&& ==> AND邏輯運算子 ,運算子兩邊的運算元(或者是說運算式)都為true時傳回true,其他傳回false
LookAt Unity腳本:LookAt Unity腳本:LookAt
之前提到過Transform元件,移動與旋轉。其實Transform 中還有個函式還滿好用的,那就是LookAt。LookAt可以讓物件的前方始終對著某個物件。有點"看著它"的意思。 Math.pow()傳回指定乘冪數的基底運算式值 Math.pow()傳回指定乘冪數的基底運算式值 Javascript的Math.pow()方法:pow()方法是一個靜態方法,只能藉由Math.pow()來呼叫。Math.pow()方法用來做指數運算,會傳回 baseexponent。Math.pow()的語法:Math.pow(base, exponent)base:基底。exponent:指數。 Mecanim Unity Mecanim 影音教學收集 Mecanim是Unity 中的一個強大的動畫技術。
Mecanim賦予您的人類和非人類人物相當自然流暢的動作,使它們栩栩如生。
Mecanim的特點包含:
1.重定向您的动画
2.混合樹和狀態機
3.IK綁定 Mouse NGUI unity必學插件一:NGUI NGUI是Unity的一個插件,能夠方便的建立GUI元件,unity 內建的更直覺,更方便,所見即所得。效率也更佳提高。NGUI是需要收費的,目前Asset Store的售價是95元美金,其實不算貴,我個人覺得是滿划算的。不過現在學習階段,還是下載免費版的來試試好了。
NGUI Tutorial: Step 1 NGUI 教學:第一步建立一個全新的場景。選擇主攝影機,並且將其刪除。打開NGUI選單然後選擇Create a New UI — 這會打開一個UI(使用者介面)建立精靈。在這個面板中你可以選擇要將UI放到哪個layer(層), 但這裡我們使用原本的Default layer. 按下Create Your UI 按鈕。就這樣,UI已經準備好可以使用了。 NGUI Tutorial: Step 2 NGUI 教學:第二步 建立小圖(維克:altas是很多小圖集合而成的一張大圖,而sprite是大圖裡面中的小圖,有人叫他精靈。)現在我們的UI在上一步驟中已經建立好了。讓我們來加入一些小工具:NGUI menu -> Create a Widget. NGUI Tutorial: Step 3 在你的Panel遊戲物件選取的狀態下,使用Widget精靈來新增一個小圖,把Template(模板)部分選擇為Sliced Sprite,Sprite部分選擇Dark。第一次接觸到9-slicing?或許你可以參考這頁(維克:官網連結的網頁似乎已經失效,會被重導到其他頁面。下面這頁面是adobe解釋的9-slicing,可以參考看看:這裡) NGUI:UIWidget UIWidget是一個基本的NGUI元件,簡單來說,它只是一個四邊形,你可以把它放在螢幕上任何你喜換歡的位置。這個小工具有一塊區域,在執行期間是完全看不見的—這個特點讓它很適合用來當作一個容器,可以放一些其他的元件。 NGUI:UITexture UITexture是NGUI中最基礎的可繪製元件。他繼承了UIWidget所有的功能,並且加入了一個可見的元件—texture—這個元件可以延伸它的尺寸。 NGUI:UI2DSprite 2D Sprite是一個能夠畫出Unity 4.3 sprites的小工具。他繼承了UIWidget的所有功能,並且加入了一個可視元件—一個sprite texture--這個元件可以延伸它的尺寸。 NGUI:UISprite 概觀:
UISprite是NGUI不可或缺的一部分,他是一個由texture atlas拉出來的繪製圖。就像其他的widgets一樣,他繼承了UIWidget 所有的功能。 NGUI:UILabel 概觀:
UILabel是用來顯示文字的Widget 。所有的標籤都需要Font(字型)來配合運作。這個字型可以是動態的(直接參考Unity自型),或是一個點陣圖字型--被嵌入到atlas的字型。 NGUI:UIRoot UIRoot永遠都待在NGUI UI階層的最底部。(或者是說最上面,取決於你怎麼看他。)
它是負責讓UI的大小可以比較好管理一點。因為widget 座標都是以畫素指定,一個800x400的widget就有800x400個單位,這真的很大。UIRoot會依據螢幕高度的倒數來縮小他自己,這可以讓widgets保持小尺寸,並且容易使用。 NGUI:UICamera 概論:
UICamera是個命名的不太好的元件。事實上,這個名字只是為了維持向下相容的目的。
UICamera腳本實際上負責的是送出NGUI事件給所有在攝影機中可見並到達的物件。並不須要在UI中做任何事情。事實上,如果你想要讓你的遊戲中的物件接收到NGUI事件,像是OnPress, OnClick, OnDrag等等,你要做的事情是把UICamera腳本附加到你的主攝影機上。 NGUI:UIPanel UIPanel是一個在其下方收集並管理widgets的元件。UIPanel負責使用widget的幾何圖來建立實際繪圖呼叫。沒有panel,就沒有東西能夠被畫出來,假如你熟悉Unity的話,你可以把UIPanel想成是一個渲染器。 NGUI:UIAnchor UIAnchor讓定位遊戲物件變成可能,他能將遊戲物件定位在螢幕或是其他widgets 的邊緣或是角落。這是一個關鍵元件,在NGUI3.0.6或是更早的板中,你應該使用它來建立模組化的UIs。 NGUI:UIStretch UIStretch可以延伸widgets的大小到其他widgets或是攝影機視角的矩形。在NGUI 3.0.6或是更早的版本中,UIStretch與UIAnchor一起使用可以建立模組化的UIs。 NGUI:UIButton 按鈕是個簡單的元件,他被設計用來接收懸浮(hover), 壓下(pressed)與點擊(click)事件,並且改變一個遠端sprite的顏色。你也可以在相同的物件上選擇性的附加上一個圖形按鈕元件,已獲得圖形交換的功能。 NGUI:UIGrid UIGrid 助手腳本,它讓你能夠輕易的將widgets布置到一個固定大小的格子中。它可 以使用在編輯階段或是執行階段。假如你想要不同大小的格子,你可以使用UITable來 代替。 NGUI:Overview Widgets
UIWidget - 螢幕上不可見的矩形
UITexture - 簡單的繪製紋理
UI2DSprite - 與UITexture相同,但使用在4.3 sprites中。
UISprite - 較為進階的繪圖區塊,使用由atlas取出的紋理。
UILabel - 具有輸出文字能力的Widget。 NGUI:UIToggle 概觀:Toggle是個通用元件,他有兩個狀態:開啟與關閉。Toggle能夠被用來建立多選框,分頁標籤,單選框與其他相似的widgets。它可以用來做很多東西。像是大部分的NGUI控制,他不像在其他系統中一樣是使用硬編碼(維克:無法修改的硬體或軟體),而是與其他腳本結合達到想要的行為。 NGUI:UIKeyBinding 概觀:
UIKeyBinding讓你能夠指定特定的鍵盤事件,像是按下”1”這個按鈕時,會像是你正在按下key binding(按鍵綁定) 所附加上的物件一樣。(像是快速鍵列上的施放魔法的按鈕。)。 NGUI:UIScrollView 概觀:一個裁切過的UIPanel 並不完整,除非他能夠像滾動視窗一樣能夠被四處拖曳,是吧?是的!要讓Panel能夠滾動檢視只要簡短的三步驟: NGUI:UISlider 概觀:UISlider元件可以用來建立簡單的滑塊與進度棒,它繼承了所有UIProgressBar 的功能並且新增了一個拇指棒。以它最簡單的形式來說,UISlider需要做的所有事情就是關聯一個用來修改的前景widget。這個widget的初始尺寸將會是slider 在100%時候的尺寸(UISlider.value == 1.0)。而slider收縮的方向取決於Direction的設定。 NGUI:UIScrollBar UIScrollBar 用來建立滾動條 ─ 一個可變大小的滑塊,再一個固定大小的區域移動。它繼承了UIProgressBar 類別的所有功能,但是改變了前景圖物件的定位與互動方式。 NGUI:UIProgressBar 概觀:
UIProgressBar 是UISlider與UIScrollBar所繼承的基本類別,你也可以使用它自己來建立進度條--也就是沒有拇指棒(thumb)的sliders。 NGUI:UIPopupList 概觀:
將UIPopupList腳本附加到按鈕中會帶出一個選項列表以提供選擇。要建立一組當按下某個按鈕時會帶出來的選項列表,首先要做的是將UIPopupList腳本附加到按鈕上,然後設定Atlas與Font選項。你可能也會想要選擇一個特定的sprites,用以作為背景與強調。背景是用來建立彈出列表選項的背景圖,而前景則是用來強調目前選擇到的選項。 NGUI:UITable 概觀:
UITable 是一個輔助腳本,讓你容易將widgets排放到不同大小的格子中。假如你熟悉HTML的tables,兩者是十分類似的。它可以在編輯階段以及執行階段來使用。假如你像要固定大小的格子,可以考慮使用更有效率的UIGrid作為代替。 整合Playmaker 與 NGUI--官方版 NGUI 是個Unity中十分好用的UI插件。
playmaker也是unity中功能強大的可視化腳本編輯器。
能夠將 Playmaker 與 NGUI 整合,能夠有效地降低開發時間與難度。
簡單的說就是很方便,可以很容易地控制一些UI以及與UI的互動。 NGUI的本地化 NGUI還滿貼心的,內附UILabel的本地化( 我一直覺得翻成本土化比較合==" )腳本。
本地化檔案可以使用.cvs檔,將其命名為Localization放在Resources資料夾中就可以了。
(沒Resources資料夾就自己建一個)
NGUI下載時其實就自帶了一個Localization.txt檔。 NGUI的本地化 Part2 在上一篇文章--NGUI的本地化中有提到UILabel的本地化,今天再來談談另一個常用的需要本土化的NGUI元件:UIPopupList。 NGUI的UIInput不能輸入中文解法 NGUI的UIInput不能輸入中文的解決方法:
檢查一下NGUI中UIInput指向的UILabel 中,輸入法的設定。 NOT 位元運算子 javascript位元運算子是用來做位元運算的,以bit為單位的運算。javascript位元運算子其實不常被用到,主要的用途是用少量的記憶體(1個]bit),來記憶一個狀態是否發生。這種應用在低階語言很常被使用,不過在javascript ,真的很少看到人這樣用,所以這一章大家隨便看看 我隨便寫寫=="...
NUGI NGUI: UICamera UICamera 腳本是各種功能UI(使用者介面)的重要組件。他負責送出NGUI事件給所有由該攝影機所繪出物件的碰撞器。假如你場景中有一個攝影機,就要確定它有UICamera腳本在其中。假如你有多個的攝影機,要確定至少用來繪出UI的攝影機有這個腳本。 Null javascript 的null undefined null 是空、沒有的意思,
undefined 代表未定義,有宣告但沒指定值得變數,或是不存在的物件屬性都會是undefined。null 與 undefined 有時候是相等的,兩個有點模糊,不好解釋,看看例子吧.. Number 基礎資料型態(字串-數值-布林) javascript 基礎資料型態也有人稱為簡單型態,包含了字串、數值與布林。是程式建構的基礎。字串是一連串的字元所組成,由雙引號或單引號所包覆住..數值型態的數值系統是符合IEEE 754的倍精度浮點數定義..布林型態只有兩個值,true 跟 false.. parseInt()、parseFloat() 與 Number() javascript parseInt()可以傳回由字串轉換而成的整數。語法:parseInt(string, radix)..parseFloat()可以傳回由字串轉換而成的浮點數。語法:parseFloat(string)..Number() 可以將物件轉化成數值。語法:Number(object) 字串與數字的相乘與相加 javascript 字串與數字的相乘與相加:javascript字串加數字會變成什麼?字串能乘數字?該怎麼讓字串+數字=數字?直接看例子吧:x="5"*"2";
alert (x); // ==>字串5乘字串2 輸出 10 ODP ODP收錄我的網站了 ODP是每個做SEO都會提到的目錄網站。
不過收錄一般都比較嚴格,而且有時候處理時間頗長。
網站被收錄著實令人高興! OR 邏輯運算子 || (OR) 跟 &&(AND) 的傳回值 javascript邏輯運算子 || (OR) 跟 && (AND): 在傳回運算結果時,有個特別的地方.就是如果是傳回值是true那會傳回決定這結果的運算元的那個值(或物件),而不是單純傳回布林值的true 位元運算子 javascript位元運算子是用來做位元運算的,以bit為單位的運算。javascript位元運算子其實不常被用到,主要的用途是用少量的記憶體(1個]bit),來記憶一個狀態是否發生。這種應用在低階語言很常被使用,不過在javascript ,真的很少看到人這樣用,所以這一章大家隨便看看 我隨便寫寫=="...
Object 物件的繼承 繼承的目的在於重用程式碼,以及結構化的資料。在程式中,物件通用的屬性與方法,都應該用繼承的方式來進行,這是一種比較有效率的做法。Javascript的物件繼承原理其實並不難,只是相當異於一般(基於類別)的物件導向程式。Javascript是一個基於原型的物件導向程式,他的繼承主要就是依據原型來實作。 OnMouseDown Unity腳本:OnMouseDown 偵測滑鼠點擊 OnMouseDown 偵測滑鼠點擊:OnMouseDown 可以偵測到滑鼠對碰撞器或是GUI元件的點擊。
OnMouseDown 是個函式,所有點擊後要執行的程式碼都寫在函式中。在我的理解,它就是個回呼函式。 Onload window.onload onload的弔詭 javascript中onload事件與window.onload和jquery的 $(document).ready(){}有何差別?onload是W3C DOM 中定義的事件,該事件會在圖片或文件載入完成時送出..何謂載入完成?? OpenSSL Operator 簡單敘述與運算子 敘述(statement)指的其實就是javascript中一行一行的程式碼。通常是以分號做結尾,不過並不所有情況都強迫要分號做結尾,但是用分號做結尾是個程式設計的好習慣。 Overview NGUI:Overview Widgets
UIWidget - 螢幕上不可見的矩形
UITexture - 簡單的繪製紋理
UI2DSprite - 與UITexture相同,但使用在4.3 sprites中。
UISprite - 較為進階的繪圖區塊,使用由atlas取出的紋理。
UILabel - 具有輸出文字能力的Widget。 PS-100 ParseFloat parseInt()、parseFloat() 與 Number() javascript parseInt()可以傳回由字串轉換而成的整數。語法:parseInt(string, radix)..parseFloat()可以傳回由字串轉換而成的浮點數。語法:parseFloat(string)..Number() 可以將物件轉化成數值。語法:Number(object) ParseInt parseInt()、parseFloat() 與 Number() javascript parseInt()可以傳回由字串轉換而成的整數。語法:parseInt(string, radix)..parseFloat()可以傳回由字串轉換而成的浮點數。語法:parseFloat(string)..Number() 可以將物件轉化成數值。語法:Number(object) Playmaker unity必學插件二:playmaker Playmaker 是一套 unity的外掛套件。是一種視覺化的流程編輯器。可以大大簡化程式碼的撰寫。Playmaker的運作其實就是所謂的狀態機。狀態機就是當某個物件滿足某種狀態時,會發出怎樣的事件,然後跳到另外一個狀態去執行某些指令。 整合Playmaker 與 NGUI--官方版 NGUI 是個Unity中十分好用的UI插件。
playmaker也是unity中功能強大的可視化腳本編輯器。
能夠將 Playmaker 與 NGUI 整合,能夠有效地降低開發時間與難度。
簡單的說就是很方便,可以很容易地控制一些UI以及與UI的互動。 Prototype-based prototype-based 基於原型的 (初心者適用 ) Javascript常常都會聽到基於原型的繼承(prototype-based inheritance )這句話,到底什麼是基於原型??乍看之下很難理解。其實我們可以把基於原型放一邊,然後看看另外一種繼承方式,基於類別的繼承(class-based inheritance)。基於類別的繼承就是用類別來做繼承,這比較容易理解。所以用這角度來看基於原型的繼承,自然能知道基於原型的繼承就是用原型來繼承。 Query CSS類別操作--.hasClass() Query:CSS類別操作--.hasClass():
.hasClass()方法用來判斷指定的類別名稱是否存在在匹配的元素中。換個說法就是判斷元素是否包含某種類別。
.hasClass( className )
語法: Relational operatorvic 關係運算子 javasript 關係運算子(relational operators)也有人會把它稱為比較運算子(Comparison operators)。javasript 關係運算子有下面幾種:>,=,instanceof,in SE8 SFS overview SFS overview:SFS2X協定 SmartFoxServer 2X使用一個高效率的二進位協定,該協定使得伺服端效率在各方面都有傑出的表現。訊息在頻寬上是輕量的,並且能被客戶端以及伺服器引擎快速的解析。附加的動態壓縮能在不影響一般的表現下,降低其大小。 SFS overview:SmartFoxServer 2X 平台堆疊方塊 SFS overview:SmartFoxServer 2X 平台的堆疊圖 在這份文件中我們將檢視SmartFoxServer 2X平台的鳥瞰圖,並且簡短的討論在堆疊方塊中的每個組成。從伺服器的核心開始,我們發現了網路引擎(codename BitSwarm),這是為SmartFoxServer 1.1x建立的原始接口引擎的第三個世代。這階層為SFS2X提供了獨特的特徵,並且在競爭對手的解決方案中並未被發現(我們在一個分出來的綜合白皮書中討論所有的技術細節)。 SFS overview:如何使用文件以及範例 SFS overview:如何使用文件以及範例 如何使用文件以及範例:
這份文件提供了一個快速地教程,教導如何在SmartFoxServer 2X(或是叫做SFS2X)的文件中取得最大的效益。我們的第一個建議是,在開始例子與技術文件之前,先參考這節所提供的文章。 SFS SmartFoxServer遊戲伺服器 簡介 SmartFoxServer遊戲伺服器 簡介 SmartFoxServer是一款適合開發多人連線應用程式,或是遊戲的伺服器。我覺得伺服器這字眼可能會讓初次接觸的人混淆,SFS其實不是個主機伺服器,他是一款由JAVA開發而成的伺服器程式。可以用來作為多人連線遊戲的伺服端。SFS本身需要運行在JAVA的執行環境中。因此他需要掛載在主機伺服器上。也因為它是JAVA開發的,因此他可以運行在任何提供JAVA執行環境的平台,包括了window、linux、Mac、等等... Set SetInterval SetTimeout Sfs2x protocol SFS overview:SFS2X協定 SmartFoxServer 2X使用一個高效率的二進位協定,該協定使得伺服端效率在各方面都有傑出的表現。訊息在頻寬上是輕量的,並且能被客戶端以及伺服器引擎快速的解析。附加的動態壓縮能在不影響一般的表現下,降低其大小。 Sitemap Skybox Sleep javascript沒有sleep跟delay javascript沒有sleep跟delay. 一般都是用setTimeout或是setInterval來執行需要延遲的程式。 不過也不是沒有辦法模擬出sleep或是delay的功能。 一般而言都是使用無窮迴圈跟Date物件配合。 SmartFoxServer 2X 特性概觀(一)sfs overview features SmartFoxServer 2X 特性概觀(一) SmartFoxServer 2X 採用核心SmartFoxServer理念並且在新的方向擴展,引入了許多改進與聚焦在一些明確的目的:簡單的使用,多功能和性能。簡單的使用:我們已經清除舊版SmartFoxServer中不需要的複雜部分, 讓客戶端/伺服端API更為直覺、有效率與豐富。 Smartfoxserver SFS overview:SFS2X協定 SmartFoxServer 2X使用一個高效率的二進位協定,該協定使得伺服端效率在各方面都有傑出的表現。訊息在頻寬上是輕量的,並且能被客戶端以及伺服器引擎快速的解析。附加的動態壓縮能在不影響一般的表現下,降低其大小。 開發基礎:介紹 在這章節中我們將使用SmartFoxServer 2X來引導你了解多人遊戲開發基本的概念。從一般的角度來看,所有的多人遊戲和應用程序的運作都非常的相似,不論其不同的風格( (多人動作遊戲, MMORPG, MMORTS, 虛擬世界, 等等)。從本質上來講,它們都包含著客戶端與伺服端,客戶端透過持續的連線(使用TCP 協定)連接到伺服器,由伺服器負責維護遊戲狀態與玩家之間的同步。 開發基礎:連線階段 連線到SFS2X分成兩個步驟來執行:
一個物理TCP連線被打開以連接到伺服器。
客戶端與伺服端完成"握手(handshake)"的動作,並且交換了一些參數。
在握手期間,伺服端會驗證客戶端API版本是否支援,並且傳回一些客戶端會儲存在本地的設定。 開發基礎:登入階段 在前一個章節,中我們已經見過如何連線到SmartFoxServer,也提到過客戶端在開始與伺服器API與其他使用者互動前,需要先登入到區域中。
為了看到在服務器中可得的區域,以及建立一個新的區域。你可以使用SFS2X 的Admin Tool。在工具欄的左側中選擇Zone Configurator ,然後會出現區域(Zones)的列表。 建立基於擴展的客製化登入 在伺服端時間一個客製化的登入是很簡單的一個過程。SFS2X會發出下面兩個登入事件:
USER_LOGIN(使用者登入): 當客戶端請求加入一個區域時會發出這個事件。你可以在這裡驗證使用者憑證與決定使用者是否能繼續進行登入動作。在這個階段客戶端是以一個Session物件作為代表,還不是一個真正的使用者。
USER_JOIN_ZONE(使用者家入區域):當使用者成功加入一個區域(並且轉換成為SFS使用者(SFSUser)) 時會發出此事件。
開發基礎:加入與建立房間 房間物件( Room object)是SFS2X的基礎建構方塊中的一部分。房間可以安排玩家,因此玩家可以”看”到彼此,並且與其他玩家互動。典型的房間使用例子像是在聊天程式中不同主題的房間,虛擬事件中的不同開會地點,或是在各種分類中的不同地點挑戰其他朋友。 開發基礎:房間結構 » 房間結構
在任何的多人應用程式中,房間物件( Room object)都是其中一個最重要的基礎建構方塊中。他負責分組與將使用者連現在一起並且讓使用者能夠與彼此互動。從開發者的角度來看,它提供了有用的事件,能夠幫助建立應用程式邏輯,而且每個房間都能夠被不同的伺服端擴展程式管理。 Smartfoxserver 中文教學 Smartfoxserver 遊戲伺服器中文教學:這裡主要提供一些官網的教學文件翻譯。是我邊看邊學邊翻譯的。希望對有這方面興趣的人能有所幫助:Smartfoxserver概觀:Smartfoxserver開發基礎: Smartfoxserver:如何設定外部資料庫的連線 如何設定外部資料庫的連線:SFS2X提供一個類似於其前代的方法來連線到資料庫。而唯一需要做的事情就是,從你的資料庫供應商(譬如說MySQL或是MSSQL)中下載JDBC連接器。然後將下載下來的.jar放到{SFS2XRoot}/lib/ 資料夾中。 Smartfoxserver: 如何新增Java函式庫或是擴展依賴 » 如何新增Java函式庫或是擴展依賴(Extension dependencies)在SmartFoxServer 2X中增加新的函式庫是很簡單的,也不會有classpath這東西來搗亂。唯一要做的事情就是把.jar檔案佈署到合適的資料夾,然後重新啟動伺服器。建議使用的資料夾有兩個: Smartfoxserver: 如何查看伺服器記錄檔 SFS2X 提供了伺服器在活動期間的詳細紀錄檔,你可以在任何期間查看 logs/ 資料夾已取得記錄檔。 註冊輔助-基礎概念 註冊輔助-基礎概念
註冊輔助系統的運作方式是,將其插入至伺服器擴展中,並且增加新的指令,讓客戶端能夠呼叫並且存取該服務。簡單來說,使用這個元件需要三個步驟:
1.在應用程式區域(application's Zone)中配置DBManager,這樣才能夠與你的本地資料庫(local DB)進行溝通。
2.在擴展的init()方法中實例化該元件。
3.根據你的需要來設置元件。 為何Smartfoxserver的trace不能用 為何Smartfoxserver的trace不能用:
1. ExtensionRemoteDebug 要設成為false....預設值是true
2. 要專業版才能用-----真不貼心 我的也是試用版!!~ >" Smartfoxserver 伺服器變數 開發基礎:伺服器變數 SmartFoxServer 2X框架提供了不同類型的伺服器變數,可以用來維護跨使用者、房間甚至是好友列表中好友的同步狀態。
一般來說,伺服器變數允許客戶端或是私服端邏輯建立客製化的值,並且能夠在所屬範圍內自動更新。下面是三個主個要的伺服器變數類型,有著不同的範圍: Smartfoxserver 開發基礎 擴展 開發基礎:第一個擴展 在SmartFoxServer 2X中,擴展是一個基本的要素。擴展開啟了無限的可能性,讓開發者能夠建立他們的客製化的遊戲邏輯,以及整合其他支援專案的技術。以一個平行的概念來說,擴展就相等於網頁中的伺服端程式碼,也又是所有的"業務"邏輯開發的地方。 Smartfoxserver 開發基礎 擴展API BaseSFSExtension SFSExtension 開發基礎:擴展API BaseSFSExtension vs SFSExtension
我們提供了兩個類別作為主要擴展類別的基礎類型: BaseSFSExtension與SFSExtension,兩個類別都可以在com.smartfoxserver.v2.extensions 套件中找到。前面的類別主要是為了SmartFoxServer PRO 1.x的相容性而提供。建議使用SFSExtension以獲得最好的SFS2X。 Smartfoxserver 開發基礎 註冊輔助 開發基礎:註冊輔助 大部分的線上應用程式都需要一個註冊的過程,這可以允許新的使用者在系統中註冊帳號。這個操作過程通常會需要填寫一些基本資料設定,為了安全目地的激活系統以及密碼回復機制。 Smartfoxserver 開發基礎 資料庫方法 開發基礎:資料庫方法 在這個章節中我們將示範幾個SFS2X與外部資料庫整合的範例。所有的方法都以MySQL做示範,但是你可以使用你選擇的任何其他的資料庫( 請參考HowTo tutorial)。所有的程式碼,我們都使用標準的SQL,因此可以被移植到任何其他的RDBMS。 Smartfoxserver: 如何 Sprite NGUI Tutorial: Step 2 NGUI 教學:第二步 建立小圖(維克:altas是很多小圖集合而成的一張大圖,而sprite是大圖裡面中的小圖,有人叫他精靈。)現在我們的UI在上一步驟中已經建立好了。讓我們來加入一些小工具:NGUI menu -> Create a Widget. SpritePacker Start Unity腳本:Awake與Start的差別 Awake與Start的差別:
當Unity腳本被載入時,Awake與Start兩個函式都會被自動執行。
其中Awake函式會先執行。
Awake函式有個特別的地方,那就是即便是腳本並沒有被致能(enable),Awake函式依然會被執行。 Statement 簡單敘述與運算子 敘述(statement)指的其實就是javascript中一行一行的程式碼。通常是以分號做結尾,不過並不所有情況都強迫要分號做結尾,但是用分號做結尾是個程式設計的好習慣。 String 基礎資料型態(字串-數值-布林) javascript 基礎資料型態也有人稱為簡單型態,包含了字串、數值與布林。是程式建構的基礎。字串是一連串的字元所組成,由雙引號或單引號所包覆住..數值型態的數值系統是符合IEEE 754的倍精度浮點數定義..布林型態只有兩個值,true 跟 false.. 字串與數字的相乘與相加 javascript 字串與數字的相乘與相加:javascript字串加數字會變成什麼?字串能乘數字?該怎麼讓字串+數字=數字?直接看例子吧:x="5"*"2";
alert (x); // ==>字串5乘字串2 輸出 10 String.trim()將字串去空白 String.trim()方法用來去除字串前後的空白,此方法並不會改變原來的字串,而是傳回一個新的字串。此方法是在ECMAScript 第五版才引進。因此有些瀏覽器並不支援。下表列出支援的瀏覽器: String.substr() 字串物件三種擷取子字串方法的差異 javascript有三種從字串中擷取其子字串的方法:string.slice(),string.substr(),string.substring()其中string.substr()是最不一樣的,
string.substr()是藉由起始索引位置與子字串長度來擷取子字串。語法:string.substr(start,length)除了string.substr()特別不一樣外,
剩下的string.slice()與string.substring()這兩個方法就很相像,很容易搞糊塗,兩個方法都是藉由起始索引位置與結束索引位置來擷取子字串。 String.substring() 字串物件三種擷取子字串方法的差異 javascript有三種從字串中擷取其子字串的方法:string.slice(),string.substr(),string.substring()其中string.substr()是最不一樣的,
string.substr()是藉由起始索引位置與子字串長度來擷取子字串。語法:string.substr(start,length)除了string.substr()特別不一樣外,
剩下的string.slice()與string.substring()這兩個方法就很相像,很容易搞糊塗,兩個方法都是藉由起始索引位置與結束索引位置來擷取子字串。 Successful controls 17.13.2 Successful controls 所謂的成功控制元素(successful control),是可以有效提交的表單元素。每一個成功控制元素都有它自己的控制名稱(control name,由name屬性所指定的),以及與它配對的目前值( current value,此值一開始由初始值設定,也就是value屬性的值,後續可藉由使用者的互動或是腳本語言來修改。 ),組成了一組提交用的表單資料組(form data set,由一連串的 control name/current value 所組成)。成功控制元素必須是定義在FORM
元素中的元素並且必然有其控制名稱(control name)(也就是說會有name屬性)。 Switch 條件敘述 switch..case.. switch..case..是javascript條件敘述的一種,可以用來比對多個條件。語法簡單,唯一要注意的是break的使用,若省略break敘述,則程式不再比對case後的條件,卻會繼續執行case內的程式碼,直到有break敘述後才會跳出switch敘述。語法:switch (Express) {case Comparison1:
..case Comparison2:..default:..} Synchronous 同步與非同步的差異 在看文章時常常都會看到一推像是什麼 "同步載入","非同步技術"之類的字眼,可能有些人其實不太了解同步跟非同步的差別,甚至會有些誤解,話說,"同步"這字眼真的很容易讓人以為他是在"同時處理"什麼之類的東西。同步與非同步在很多領域都有這字眼,其實我也沒有追究他到底原始代表著什麼意義。我這裡大概說說這兩個字眼在程式語言的籌範內代表的意義是什麼。 TimerApp TimerApp 簡易多功能計時器 簡易多功能計時器 TimerApp:
第一個APP發布了..
Google play 下載網址:
https://play.google.com/store/apps/details?id=com.VicTsao.TimmerApp TinyPNG 網頁優化之TinyPNG:免費的線上 PNG 圖片壓縮工具 網頁優化之TinyPNG:免費的線上 PNG 圖片壓縮工具google一直告訴我,有些PNG檔太大,應該要進行壓縮,為了要提高網頁下載速度。所以就上網google了一下。很快就發現這款免費的線上 PNG 圖片壓縮工具。還滿不錯用的。官網上還有隻可愛的熊貓。 ToggleClass CSS類別操作--.toggleClass() .toggleClass()可以用來為匹配的元素進行新增或是刪除CSS類別。實際運作時有點類似開關一樣。如果某個類別存在,那就刪除他,若是不存在那就新增。同一個toggleClass()描述,第一次新增,第二次會變成刪除,然後繼續新增與刪除一直下去。 Trace 為何Smartfoxserver的trace不能用 為何Smartfoxserver的trace不能用:
1. ExtensionRemoteDebug 要設成為false....預設值是true
2. 要專業版才能用-----真不貼心 我的也是試用版!!~ >" Trim String.trim()將字串去空白 String.trim()方法用來去除字串前後的空白,此方法並不會改變原來的字串,而是傳回一個新的字串。此方法是在ECMAScript 第五版才引進。因此有些瀏覽器並不支援。下表列出支援的瀏覽器: Tutorial NGUI Tutorial: Step 1 NGUI 教學:第一步建立一個全新的場景。選擇主攝影機,並且將其刪除。打開NGUI選單然後選擇Create a New UI — 這會打開一個UI(使用者介面)建立精靈。在這個面板中你可以選擇要將UI放到哪個layer(層), 但這裡我們使用原本的Default layer. 按下Create Your UI 按鈕。就這樣,UI已經準備好可以使用了。 NGUI Tutorial: Step 2 NGUI 教學:第二步 建立小圖(維克:altas是很多小圖集合而成的一張大圖,而sprite是大圖裡面中的小圖,有人叫他精靈。)現在我們的UI在上一步驟中已經建立好了。讓我們來加入一些小工具:NGUI menu -> Create a Widget. NGUI Tutorial: Step 3 在你的Panel遊戲物件選取的狀態下,使用Widget精靈來新增一個小圖,把Template(模板)部分選擇為Sliced Sprite,Sprite部分選擇Dark。第一次接觸到9-slicing?或許你可以參考這頁(維克:官網連結的網頁似乎已經失效,會被重導到其他頁面。下面這頁面是adobe解釋的9-slicing,可以參考看看:這裡) UI UI2DSprite NGUI:UI2DSprite 2D Sprite是一個能夠畫出Unity 4.3 sprites的小工具。他繼承了UIWidget的所有功能,並且加入了一個可視元件—一個sprite texture--這個元件可以延伸它的尺寸。 UIAnchor NGUI:UIAnchor UIAnchor讓定位遊戲物件變成可能,他能將遊戲物件定位在螢幕或是其他widgets 的邊緣或是角落。這是一個關鍵元件,在NGUI3.0.6或是更早的板中,你應該使用它來建立模組化的UIs。 UIButton NGUI:UIButton 按鈕是個簡單的元件,他被設計用來接收懸浮(hover), 壓下(pressed)與點擊(click)事件,並且改變一個遠端sprite的顏色。你也可以在相同的物件上選擇性的附加上一個圖形按鈕元件,已獲得圖形交換的功能。 UICamera NGUI: UICamera UICamera 腳本是各種功能UI(使用者介面)的重要組件。他負責送出NGUI事件給所有由該攝影機所繪出物件的碰撞器。假如你場景中有一個攝影機,就要確定它有UICamera腳本在其中。假如你有多個的攝影機,要確定至少用來繪出UI的攝影機有這個腳本。 NGUI:UICamera 概論:
UICamera是個命名的不太好的元件。事實上,這個名字只是為了維持向下相容的目的。
UICamera腳本實際上負責的是送出NGUI事件給所有在攝影機中可見並到達的物件。並不須要在UI中做任何事情。事實上,如果你想要讓你的遊戲中的物件接收到NGUI事件,像是OnPress, OnClick, OnDrag等等,你要做的事情是把UICamera腳本附加到你的主攝影機上。 UIGrid NGUI:UIGrid UIGrid 助手腳本,它讓你能夠輕易的將widgets布置到一個固定大小的格子中。它可 以使用在編輯階段或是執行階段。假如你想要不同大小的格子,你可以使用UITable來 代替。 UIInput UIKeyBinding NGUI:UIKeyBinding 概觀:
UIKeyBinding讓你能夠指定特定的鍵盤事件,像是按下”1”這個按鈕時,會像是你正在按下key binding(按鍵綁定) 所附加上的物件一樣。(像是快速鍵列上的施放魔法的按鈕。)。 UILabel NGUI:UILabel 概觀:
UILabel是用來顯示文字的Widget 。所有的標籤都需要Font(字型)來配合運作。這個字型可以是動態的(直接參考Unity自型),或是一個點陣圖字型--被嵌入到atlas的字型。 UILocalize NGUI的本地化 NGUI還滿貼心的,內附UILabel的本地化( 我一直覺得翻成本土化比較合==" )腳本。
本地化檔案可以使用.cvs檔,將其命名為Localization放在Resources資料夾中就可以了。
(沒Resources資料夾就自己建一個)
NGUI下載時其實就自帶了一個Localization.txt檔。 UIPanel NGUI:UIPanel UIPanel是一個在其下方收集並管理widgets的元件。UIPanel負責使用widget的幾何圖來建立實際繪圖呼叫。沒有panel,就沒有東西能夠被畫出來,假如你熟悉Unity的話,你可以把UIPanel想成是一個渲染器。 UIPopupList NGUI:UIPopupList 概觀:
將UIPopupList腳本附加到按鈕中會帶出一個選項列表以提供選擇。要建立一組當按下某個按鈕時會帶出來的選項列表,首先要做的是將UIPopupList腳本附加到按鈕上,然後設定Atlas與Font選項。你可能也會想要選擇一個特定的sprites,用以作為背景與強調。背景是用來建立彈出列表選項的背景圖,而前景則是用來強調目前選擇到的選項。 NGUI的本地化 Part2 在上一篇文章--NGUI的本地化中有提到UILabel的本地化,今天再來談談另一個常用的需要本土化的NGUI元件:UIPopupList。 UIProgressBar NGUI:UIProgressBar 概觀:
UIProgressBar 是UISlider與UIScrollBar所繼承的基本類別,你也可以使用它自己來建立進度條--也就是沒有拇指棒(thumb)的sliders。 UIRoot NGUI:UIRoot UIRoot永遠都待在NGUI UI階層的最底部。(或者是說最上面,取決於你怎麼看他。)
它是負責讓UI的大小可以比較好管理一點。因為widget 座標都是以畫素指定,一個800x400的widget就有800x400個單位,這真的很大。UIRoot會依據螢幕高度的倒數來縮小他自己,這可以讓widgets保持小尺寸,並且容易使用。 UIScrollView NGUI:UIScrollView 概觀:一個裁切過的UIPanel 並不完整,除非他能夠像滾動視窗一樣能夠被四處拖曳,是吧?是的!要讓Panel能夠滾動檢視只要簡短的三步驟: UISlider NGUI:UISlider 概觀:UISlider元件可以用來建立簡單的滑塊與進度棒,它繼承了所有UIProgressBar 的功能並且新增了一個拇指棒。以它最簡單的形式來說,UISlider需要做的所有事情就是關聯一個用來修改的前景widget。這個widget的初始尺寸將會是slider 在100%時候的尺寸(UISlider.value == 1.0)。而slider收縮的方向取決於Direction的設定。 UISprite NGUI:UISprite 概觀:
UISprite是NGUI不可或缺的一部分,他是一個由texture atlas拉出來的繪製圖。就像其他的widgets一樣,他繼承了UIWidget 所有的功能。 UIStretch NGUI:UIStretch UIStretch可以延伸widgets的大小到其他widgets或是攝影機視角的矩形。在NGUI 3.0.6或是更早的版本中,UIStretch與UIAnchor一起使用可以建立模組化的UIs。 UITable NGUI:UITable 概觀:
UITable 是一個輔助腳本,讓你容易將widgets排放到不同大小的格子中。假如你熟悉HTML的tables,兩者是十分類似的。它可以在編輯階段以及執行階段來使用。假如你像要固定大小的格子,可以考慮使用更有效率的UIGrid作為代替。 UITexture NGUI:UITexture UITexture是NGUI中最基礎的可繪製元件。他繼承了UIWidget所有的功能,並且加入了一個可見的元件—texture—這個元件可以延伸它的尺寸。 UIToggle NGUI:UIToggle 概觀:Toggle是個通用元件,他有兩個狀態:開啟與關閉。Toggle能夠被用來建立多選框,分頁標籤,單選框與其他相似的widgets。它可以用來做很多東西。像是大部分的NGUI控制,他不像在其他系統中一樣是使用硬編碼(維克:無法修改的硬體或軟體),而是與其他腳本結合達到想要的行為。 UIWidget NGUI:UIWidget UIWidget是一個基本的NGUI元件,簡單來說,它只是一個四邊形,你可以把它放在螢幕上任何你喜換歡的位置。這個小工具有一塊區域,在執行期間是完全看不見的—這個特點讓它很適合用來當作一個容器,可以放一些其他的元件。 URI encodeURI() 為什麼URI要編碼? URI是Uniform Resource Identifier 的縮寫,中文翻譯為 "統一資源標誌符" 。為什麼要對URI編碼,javascript什麼時候用的到URI編碼?如果對URI編碼很陌生,那我們先來看個例子,看看URI編碼跟我們有多常接觸。 Uiscrollbar NGUI:UIScrollBar UIScrollBar 用來建立滾動條 ─ 一個可變大小的滑塊,再一個固定大小的區域移動。它繼承了UIProgressBar 類別的所有功能,但是改變了前景圖物件的定位與互動方式。 Undefined javascript 的null undefined null 是空、沒有的意思,
undefined 代表未定義,有宣告但沒指定值得變數,或是不存在的物件屬性都會是undefined。null 與 undefined 有時候是相等的,兩個有點模糊,不好解釋,看看例子吧.. Unity 使用Javascrip寫出3D遊戲 要單純的使用Javascript寫出遊戲是一件不容易的事,若是要寫出一款3D遊戲更是難上加難了,但是有了Unity就不一樣了,unity是一款功能強的大3D遊戲引擎,可以用來製作各類型的遊戲,像是RPG(角色扮演)、RTS(即時戰略)、ACT(動作)、RCG(賽車)、SLG(模擬)。而unity使用的腳本語言,就是使用Javascript、C#與BOO。其中又以Javascript的支援度最高。 GUIStyle.CalcHeight 的誤差 Unity GUIStyle.CalcHeight 的誤差:GUIStyle.CalcHeight 是unity中用來計算元素高度的函示,只要給定要渲染的元素與渲染寬度(其實就是要顯示的內容跟寬度,總是要有寬度才能計算高度吧),GUIStyle.CalcHeight會有誤差嗎?其實應該不會,會用這標題是希望跟我犯相同錯誤的人能找到這篇文章,XD"。 GUI.BeginScrollView 自動捲到最下方 GUI.BeginScrollView 自動捲到最下方:BeginScrollView在變大的過程中,並不會自動捲到最下方,我不知道這有沒有設定可以解決(我是初學者 >" Unity自製簡易訊息視窗 使用unity自製簡易訊息視窗:
直接貼過來的,有點亂。
我把遊戲視窗縮小了,所以只訊息視窗就佔滿了一大部分。 unity必學插件一:NGUI NGUI是Unity的一個插件,能夠方便的建立GUI元件,unity 內建的更直覺,更方便,所見即所得。效率也更佳提高。NGUI是需要收費的,目前Asset Store的售價是95元美金,其實不算貴,我個人覺得是滿划算的。不過現在學習階段,還是下載免費版的來試試好了。
使用Javascript操作NGUI 使用Javascript操作NGUI :NGUI 的script都是用C#寫的,不過依然可以使用Javascript來使用NGUI定義的類別。要使用Javascript操作NGUI需要下面幾點動作:1.在NGUI資料夾外建立一個Plugins資料夾,意思是NGUI資料夾跟Plugins資料夾會在同一個目錄下。 unity必學插件二:playmaker Playmaker 是一套 unity的外掛套件。是一種視覺化的流程編輯器。可以大大簡化程式碼的撰寫。Playmaker的運作其實就是所謂的狀態機。狀態機就是當某個物件滿足某種狀態時,會發出怎樣的事件,然後跳到另外一個狀態去執行某些指令。 NGUI: UICamera UICamera 腳本是各種功能UI(使用者介面)的重要組件。他負責送出NGUI事件給所有由該攝影機所繪出物件的碰撞器。假如你場景中有一個攝影機,就要確定它有UICamera腳本在其中。假如你有多個的攝影機,要確定至少用來繪出UI的攝影機有這個腳本。 NGUI Tutorial: Step 1 NGUI 教學:第一步建立一個全新的場景。選擇主攝影機,並且將其刪除。打開NGUI選單然後選擇Create a New UI — 這會打開一個UI(使用者介面)建立精靈。在這個面板中你可以選擇要將UI放到哪個layer(層), 但這裡我們使用原本的Default layer. 按下Create Your UI 按鈕。就這樣,UI已經準備好可以使用了。 NGUI Tutorial: Step 2 NGUI 教學:第二步 建立小圖(維克:altas是很多小圖集合而成的一張大圖,而sprite是大圖裡面中的小圖,有人叫他精靈。)現在我們的UI在上一步驟中已經建立好了。讓我們來加入一些小工具:NGUI menu -> Create a Widget. NGUI Tutorial: Step 3 在你的Panel遊戲物件選取的狀態下,使用Widget精靈來新增一個小圖,把Template(模板)部分選擇為Sliced Sprite,Sprite部分選擇Dark。第一次接觸到9-slicing?或許你可以參考這頁(維克:官網連結的網頁似乎已經失效,會被重導到其他頁面。下面這頁面是adobe解釋的9-slicing,可以參考看看:這裡) NGUI:UIWidget UIWidget是一個基本的NGUI元件,簡單來說,它只是一個四邊形,你可以把它放在螢幕上任何你喜換歡的位置。這個小工具有一塊區域,在執行期間是完全看不見的—這個特點讓它很適合用來當作一個容器,可以放一些其他的元件。 NGUI:UITexture UITexture是NGUI中最基礎的可繪製元件。他繼承了UIWidget所有的功能,並且加入了一個可見的元件—texture—這個元件可以延伸它的尺寸。 NGUI:UI2DSprite 2D Sprite是一個能夠畫出Unity 4.3 sprites的小工具。他繼承了UIWidget的所有功能,並且加入了一個可視元件—一個sprite texture--這個元件可以延伸它的尺寸。 NGUI:UISprite 概觀:
UISprite是NGUI不可或缺的一部分,他是一個由texture atlas拉出來的繪製圖。就像其他的widgets一樣,他繼承了UIWidget 所有的功能。 NGUI:UILabel 概觀:
UILabel是用來顯示文字的Widget 。所有的標籤都需要Font(字型)來配合運作。這個字型可以是動態的(直接參考Unity自型),或是一個點陣圖字型--被嵌入到atlas的字型。 NGUI:UIRoot UIRoot永遠都待在NGUI UI階層的最底部。(或者是說最上面,取決於你怎麼看他。)
它是負責讓UI的大小可以比較好管理一點。因為widget 座標都是以畫素指定,一個800x400的widget就有800x400個單位,這真的很大。UIRoot會依據螢幕高度的倒數來縮小他自己,這可以讓widgets保持小尺寸,並且容易使用。 NGUI:UICamera 概論:
UICamera是個命名的不太好的元件。事實上,這個名字只是為了維持向下相容的目的。
UICamera腳本實際上負責的是送出NGUI事件給所有在攝影機中可見並到達的物件。並不須要在UI中做任何事情。事實上,如果你想要讓你的遊戲中的物件接收到NGUI事件,像是OnPress, OnClick, OnDrag等等,你要做的事情是把UICamera腳本附加到你的主攝影機上。 NGUI:UIPanel UIPanel是一個在其下方收集並管理widgets的元件。UIPanel負責使用widget的幾何圖來建立實際繪圖呼叫。沒有panel,就沒有東西能夠被畫出來,假如你熟悉Unity的話,你可以把UIPanel想成是一個渲染器。 NGUI:UIAnchor UIAnchor讓定位遊戲物件變成可能,他能將遊戲物件定位在螢幕或是其他widgets 的邊緣或是角落。這是一個關鍵元件,在NGUI3.0.6或是更早的板中,你應該使用它來建立模組化的UIs。 NGUI:UIStretch UIStretch可以延伸widgets的大小到其他widgets或是攝影機視角的矩形。在NGUI 3.0.6或是更早的版本中,UIStretch與UIAnchor一起使用可以建立模組化的UIs。 NGUI:UIButton 按鈕是個簡單的元件,他被設計用來接收懸浮(hover), 壓下(pressed)與點擊(click)事件,並且改變一個遠端sprite的顏色。你也可以在相同的物件上選擇性的附加上一個圖形按鈕元件,已獲得圖形交換的功能。 NGUI:UIGrid UIGrid 助手腳本,它讓你能夠輕易的將widgets布置到一個固定大小的格子中。它可 以使用在編輯階段或是執行階段。假如你想要不同大小的格子,你可以使用UITable來 代替。 NGUI:Overview Widgets
UIWidget - 螢幕上不可見的矩形
UITexture - 簡單的繪製紋理
UI2DSprite - 與UITexture相同,但使用在4.3 sprites中。
UISprite - 較為進階的繪圖區塊,使用由atlas取出的紋理。
UILabel - 具有輸出文字能力的Widget。 NGUI:UIToggle 概觀:Toggle是個通用元件,他有兩個狀態:開啟與關閉。Toggle能夠被用來建立多選框,分頁標籤,單選框與其他相似的widgets。它可以用來做很多東西。像是大部分的NGUI控制,他不像在其他系統中一樣是使用硬編碼(維克:無法修改的硬體或軟體),而是與其他腳本結合達到想要的行為。 NGUI:UIKeyBinding 概觀:
UIKeyBinding讓你能夠指定特定的鍵盤事件,像是按下”1”這個按鈕時,會像是你正在按下key binding(按鍵綁定) 所附加上的物件一樣。(像是快速鍵列上的施放魔法的按鈕。)。 NGUI:UIScrollView 概觀:一個裁切過的UIPanel 並不完整,除非他能夠像滾動視窗一樣能夠被四處拖曳,是吧?是的!要讓Panel能夠滾動檢視只要簡短的三步驟: NGUI:UISlider 概觀:UISlider元件可以用來建立簡單的滑塊與進度棒,它繼承了所有UIProgressBar 的功能並且新增了一個拇指棒。以它最簡單的形式來說,UISlider需要做的所有事情就是關聯一個用來修改的前景widget。這個widget的初始尺寸將會是slider 在100%時候的尺寸(UISlider.value == 1.0)。而slider收縮的方向取決於Direction的設定。 NGUI:UIScrollBar UIScrollBar 用來建立滾動條 ─ 一個可變大小的滑塊,再一個固定大小的區域移動。它繼承了UIProgressBar 類別的所有功能,但是改變了前景圖物件的定位與互動方式。 NGUI:UIProgressBar 概觀:
UIProgressBar 是UISlider與UIScrollBar所繼承的基本類別,你也可以使用它自己來建立進度條--也就是沒有拇指棒(thumb)的sliders。 NGUI:UIPopupList 概觀:
將UIPopupList腳本附加到按鈕中會帶出一個選項列表以提供選擇。要建立一組當按下某個按鈕時會帶出來的選項列表,首先要做的是將UIPopupList腳本附加到按鈕上,然後設定Atlas與Font選項。你可能也會想要選擇一個特定的sprites,用以作為背景與強調。背景是用來建立彈出列表選項的背景圖,而前景則是用來強調目前選擇到的選項。 NGUI:UITable 概觀:
UITable 是一個輔助腳本,讓你容易將widgets排放到不同大小的格子中。假如你熟悉HTML的tables,兩者是十分類似的。它可以在編輯階段以及執行階段來使用。假如你像要固定大小的格子,可以考慮使用更有效率的UIGrid作為代替。 整合Playmaker 與 NGUI--官方版 NGUI 是個Unity中十分好用的UI插件。
playmaker也是unity中功能強大的可視化腳本編輯器。
能夠將 Playmaker 與 NGUI 整合,能夠有效地降低開發時間與難度。
簡單的說就是很方便,可以很容易地控制一些UI以及與UI的互動。 Unity Mecanim 影音教學收集 Mecanim是Unity 中的一個強大的動畫技術。
Mecanim賦予您的人類和非人類人物相當自然流暢的動作,使它們栩栩如生。
Mecanim的特點包含:
1.重定向您的动画
2.混合樹和狀態機
3.IK綁定 Unity 在腳本中建立子物件 在腳本中建立子物件:要在unity腳本中,建立物件時物件會出現在根目錄下,但有時候我們會希望新建的物件是某個其他物件的子物件, 如何建立可安裝的Unity 遊戲 如何建立可安裝的Unity 遊戲:Unity 建立的Stand along的遊戲 都不需要經過安裝的程序就可以執行看了一些問答才發現,Unity本身其實不提供這樣的服務 Unity 編譯android APP時發生的錯誤 Error building Player: UnityException: Unable to find suitable jdk installation. Please make sure you have a suitable jdk installation. Android development requires at least JDK 6 (1.6). The latest JDK can be obtained from the Oracle
http://www.oracle.com/technetwork/java/javase/downloads/index.html Unity New UI 2014年8月20日,Unity在西雅圖舉辦Unity 全球開發者大會,Unity CEO David Helgason宣佈Unity 4.6 Beta版本正式開放下載。4.6舨中有個新的UI系統:基於UI框架的新元件和視覺化工具,能讓你輕鬆在遊戲和應用中構建遊戲UI介面,可創建透視或非透視的UI,支援圖片對齊、可以在空間中輕鬆地創建互動。 Unity在Chrom中的滑鼠輸入bug Unity在Chrom中的滑鼠輸入bug:Chrome中的Unity play有個怪bug,會對滑鼠的輸入沒反應 NGUI的本地化 NGUI還滿貼心的,內附UILabel的本地化( 我一直覺得翻成本土化比較合==" )腳本。
本地化檔案可以使用.cvs檔,將其命名為Localization放在Resources資料夾中就可以了。
(沒Resources資料夾就自己建一個)
NGUI下載時其實就自帶了一個Localization.txt檔。 NGUI的本地化 Part2 在上一篇文章--NGUI的本地化中有提到UILabel的本地化,今天再來談談另一個常用的需要本土化的NGUI元件:UIPopupList。 Unity3D: How to save wav file.. Unity3D: How to save wav file..
C# script to save an AudioClip as a .wav file:
https://gist.github.com/darktable/2317063
But, if you download wav by calling WWW and you have NGUI, you can try this: NGUI的UIInput不能輸入中文解法 NGUI的UIInput不能輸入中文的解決方法:
檢查一下NGUI中UIInput指向的UILabel 中,輸入法的設定。 Unity New UI --使用Sprite Packer Unity New UI --使用Sprite Packer Unity New UI : How To Build Draggable UI A way to implement Draggable UI Unity 4.6 New UI : 建立可拖曳的UI Unity, Draggable UI 如何在Unity5 中設定skybox 如何在Unity5 中設定skybox Unity腳本 Unity腳本:Awake與Start的差別 Awake與Start的差別:
當Unity腳本被載入時,Awake與Start兩個函式都會被自動執行。
其中Awake函式會先執行。
Awake函式有個特別的地方,那就是即便是腳本並沒有被致能(enable),Awake函式依然會被執行。 Unity腳本:Update與FixedUpdate Unity腳本:Update與FixedUpdate
Update:
Update 大概是Unity中最常使用的函式了。
在腳本中的Update每個幀都會被執行一次。
幾乎所有經常要跟新或是調整的的程式碼都會寫在這。
像是非物理物件的移動,簡單的計時器,以及輸入檢測等等。 Unity腳本:開啟與關閉元件 Unity腳本:開啟與關閉元件要在Unity腳本中開啟與關閉遊戲物件的元件,只要使用"enabled"屬性就可以了。舉個例子來說,我們要在Unity js腳本中關閉場景中的燈光:首先取得元件:myLight = GetComponent(Light); Unity腳本:激活遊戲物件 Unity腳本:激活遊戲物件在Unity腳本中,要激活遊戲物件的方法就是使用遊戲物件的SetActive方法:gameObject.SetActive(true);短短一行程式碼,但依然有要注意的地方。首先遊戲物件在未激活的狀態下,本身的腳本是不會執行的,所以如果你在一個激活的遊戲物件的start()函式中使用下面程式碼: Unity腳本:移動與旋轉 Unity腳本:移動與旋轉在Unity中要移動與旋轉場景中的物件是相當簡單的。首先要瞭解的是Transform元件。在Unity場景中的每個物件都會具有Transform元件。Transform元件的主要功能就是用來儲存以及操作物件的位置、旋轉、及大小。 Unity腳本:LookAt Unity腳本:LookAt
之前提到過Transform元件,移動與旋轉。其實Transform 中還有個函式還滿好用的,那就是LookAt。LookAt可以讓物件的前方始終對著某個物件。有點"看著它"的意思。 Unity腳本:使用Lerp 線性插值製作滑順效果 Unity腳本:Lerp 線性插值在Unity中,Lerp一種是用來計算線性插值的函式Lerp可以使用在很多個地方,像是:Color.Lerp 、Mathf.Lerp 、Vector3.Lerp 、Material.Lerp 。Lerp可以用來製作許多滑順的效果。譬如說Color.Lerp就可以讓兩種不同的顏色平滑的轉換。 Unity腳本:使用 Destroy 摧毀物件或元件 Unity腳本:使用 Destroy 摧毀物件或元件Destroy是Object物件的一個靜態函式。可以用來摧毀物件,或是元件。Destroy 可以接受一個或2個參數,第一個參數是要摧毀的目標物件或是元件,第二個參數接受一個浮點數來做為延遲的時間。一般在使用Destroy 時,不會直接直接使用Destroy 摧毀腳本所屬的物件。 Unity腳本:GetButton與GetKey Unity腳本:GetButton與GetKey GetButton與GetKey是透過Unity輸入類別取得按鍵或是搖桿按鈕輸入的方法。兩者的差異在於,GetKey使用key codes來命名按鍵。譬如說 KeyCode.Space 代表空白鍵。我們可以用下面的程式碼來判斷是否按下Space鍵Input.GetKeyDown(KeyCode.Space);GetKey可以很好的運作在鍵盤上, Unity腳本:GetAxis GetAxis:Input.GetAxis與GetButton以及GetKey有著相似的運作方式,但也有一些基礎上的不同。GetKey 與 GetButton 傳回布林值,按鈕也只有壓下或者釋放兩種狀態。而GetAxis 則傳回介於-1到1之間的浮點數。 Unity腳本:OnMouseDown 偵測滑鼠點擊 OnMouseDown 偵測滑鼠點擊:OnMouseDown 可以偵測到滑鼠對碰撞器或是GUI元件的點擊。
OnMouseDown 是個函式,所有點擊後要執行的程式碼都寫在函式中。在我的理解,它就是個回呼函式。 Unity腳本:GetComponent 取得元件 Unity腳本:GetComponent 取得元件GetComponent 方法可以在遊戲物(GameObject)或是元件(Component)裡找到。GameObject.GetComponent:1. GetComponent(type: Type): Component;GetComponent會傳回類行為type的元件,若是找不到該元件,則傳回null。 Unity腳本:Data Types 資料類型 Unity的變數有兩個主要的資料類型,值類型(Value types) 與 參考類型(Referece types)。值類型(Value types)的變數儲存的就是值本身,像是整數,浮點數,字元,甚至是資料結構,等等都是屬於值。而參考類型儲存的是資料所在的記憶體位址。 Unity腳本:Delta Time Unity腳本:Delta Time 所謂的 Delta 其代表的意義就是兩個值得差,在time類別中的deltaTime屬性,指的就是每個update或是fixed update函式呼叫的時間差。使用deltaTime可以讓移動或是其他逐漸增量計算的值變的滑順。 Update Unity腳本:Update與FixedUpdate Unity腳本:Update與FixedUpdate
Update:
Update 大概是Unity中最常使用的函式了。
在腳本中的Update每個幀都會被執行一次。
幾乎所有經常要跟新或是調整的的程式碼都會寫在這。
像是非物理物件的移動,簡單的計時器,以及輸入檢測等等。 Vic javascript 學習 Vic部落格的格主.. Vic 是我在一次英文補習班上取的名字 基本很少用 實在是我真的很少去上(汗"..Vic 是在園區被壓榨的工程師之一 挺悲情的..不過我不是個程式設計工程師..我對寫程式有點興趣..在閒暇之餘 就搞搞網路程式來怡情養性一下.. Vic mySQL 學習 MySQL是蝦咪?? SQL 普遍而言都被認為是 Structured Query Language 的縮寫,意思為結構化查詢語言。與資料庫的關聯性模型有相當密切的關係。不過在Alan Beaulier 所著的的 SQL 學習手冊 (Master SQL Fundamentals ) 中有提到,SQL並不是任何單字組合的縮寫。而是有著它歷史演變的過程。 Vic 維克的煩惱 Unity 補習班 想學學Unity..可是補習費還真不便宜 之前一直想找時間學學unity。昨天終於跑去補習班問了一下,真的是OH MY GOD!~~真是嚇到我了,看樣子我離補習太久遠了,完全不了解行情價了!補習費夠我買一套正版的Unity還有剩了.這還是他說政府補助40%的價錢 Wav Unity3D: How to save wav file.. Unity3D: How to save wav file..
C# script to save an AudioClip as a .wav file:
https://gist.github.com/darktable/2317063
But, if you download wav by calling WWW and you have NGUI, you can try this: Window window.closed window.closed:window.closed 代表著指定視窗是否關閉的布林值。此屬性是個唯獨值。
語法:window.closed當window.closed== true時,代表視窗關閉。當window.closed== false時,代表視窗未關閉。 Window.closed window.closed window.closed:window.closed 代表著指定視窗是否關閉的布林值。此屬性是個唯獨值。
語法:window.closed當window.closed== true時,代表視窗關閉。當window.closed== false時,代表視窗未關閉。 Window.defaultStatus Window.defaultStatus Window.defaultStatus:Window.defaultStatus屬性可以用來讀取與設定瀏覽器狀態列的文字。這個參數基本上已經是個過時的的參數。不建議使用。
語法:var str = window.defaultStatus;window.defaultStatus = str; Window物件 Window.defaultStatus Window.defaultStatus:Window.defaultStatus屬性可以用來讀取與設定瀏覽器狀態列的文字。這個參數基本上已經是個過時的的參數。不建議使用。
語法:var str = window.defaultStatus;window.defaultStatus = str; XOR 位元運算子 javascript位元運算子是用來做位元運算的,以bit為單位的運算。javascript位元運算子其實不常被用到,主要的用途是用少量的記憶體(1個]bit),來記憶一個狀態是否發生。這種應用在低階語言很常被使用,不過在javascript ,真的很少看到人這樣用,所以這一章大家隨便看看 我隨便寫寫=="...
XP 使用XP的不要再用IE上網了 使用XP的不要再用IE上網了:簡單的說xp+ie 就是不安全...微軟會一直公布弱點..駭客必然會利用弱點...然後微軟會告訴你 xp不更新了 請換新的...好厲害的商業手段.而且xp只支援到ie8而ie8事實上對現行網頁的許多功能的支援確實也很差...加上駭客0時差的利用公布出來的弱點 ...所以請大家小心了. || 邏輯運算子 || (OR) 跟 &&(AND) 的傳回值 javascript邏輯運算子 || (OR) 跟 && (AND): 在傳回運算結果時,有個特別的地方.就是如果是傳回值是true那會傳回決定這結果的運算元的那個值(或物件),而不是單純傳回布林值的true 邏輯運算子 javascript 的邏輯運算子與關係運算子,很常被合用在條件敘述的判斷式中。可以用來判斷多個條件是否在成立狀態。主要有三個:&& ==> AND邏輯運算子 ,運算子兩邊的運算元(或者是說運算式)都為true時傳回true,其他傳回false
» 登入輔助元件幾乎每個應用程式都會需要一個基於密碼的使用者存取,而撰寫程式碼以處理客戶端參數與比對資料庫的檢查是相當繁雜且重複的。登入輔助元件是個輔助類別,可以輔助開發者建立資料庫驅動的登入系統,而省去了自己撰寫資料庫存取程式碼的麻煩。簡而言之,它是這樣運作的: 中文教學 Smartfoxserver 中文教學 Smartfoxserver 遊戲伺服器中文教學:這裡主要提供一些官網的教學文件翻譯。是我邊看邊學邊翻譯的。希望對有這方面興趣的人能有所幫助:Smartfoxserver概觀:Smartfoxserver開發基礎: 中文翻譯 NGUI:Overview Widgets
UIWidget - 螢幕上不可見的矩形
UITexture - 簡單的繪製紋理
UI2DSprite - 與UITexture相同,但使用在4.3 sprites中。
UISprite - 較為進階的繪圖區塊,使用由atlas取出的紋理。
UILabel - 具有輸出文字能力的Widget。 五胡:為匈奴、鮮卑、羯(匈奴別支)、羌和氐等族,代表北方諸國的主要民族十六國:成漢、前趙、後趙、前涼、前燕、前秦、後燕、後秦、西秦、後涼、南涼、西涼、北涼、南燕、北燕及胡夏等國 五胡是哪五胡 五胡:為匈奴、鮮卑、羯(匈奴別支)、羌和氐等族,代表北方諸國的主要民族
十六國:成漢、前趙、後趙、前涼、前燕、前秦、後燕、後秦、西秦、後涼、南涼、西涼、北涼、南燕、北燕及胡夏等國 位元運算子 位元運算子 javascript位元運算子是用來做位元運算的,以bit為單位的運算。javascript位元運算子其實不常被用到,主要的用途是用少量的記憶體(1個]bit),來記憶一個狀態是否發生。這種應用在低階語言很常被使用,不過在javascript ,真的很少看到人這樣用,所以這一章大家隨便看看 我隨便寫寫=="...
低階介面 Ajax:低階介面 Ajax:低階介面:These methods can be used to make arbitrary AJAX requests.
這些方法可以用來建立任意的AJAX要求。jQuery.ajax()Perform an asynchronous HTTP (Ajax) request.完成任何非同步的HTTP(Ajax)要求。 低階介面:jQuery.ajaxPrefilter() 低階介面:jQuery.ajaxPrefilter()處理客製化的Ajax選項,或是修改已存在的選項。會在每一個Ajax要求被傳送以及被 $.ajax()處理前。語法:jQuery.ajaxPrefilter( [dataTypes ], handler(options, originalOptions, jqXHR) ) //version added: 1.5 低階介面:jQuery.ajaxSetup() 低階介面:jQuery.ajaxSetup()為接下來的Ajax請求設定預設值。不建議使用。語法:jQuery.ajaxSetup( options ) //version added: 1.1 options Type: PlainObject 一組 鍵/值對用來設定Ajax請求的預設值。所有的選項都是選擇性的。 低階介面:jQuery.ajaxTransport() 低階介面:jQuery.ajaxTransport()建立一個物件用以負責Ajax資料的實際傳輸
語法:jQuery.ajaxTransport( dataType, handler(options, originalOptions, jqXHR) ) //version added: 1.5
dataTypeType: String用來定義資料型別的字串。handler(options, originalOptions, jqXHR)Type: Function()處理函式,使用第一個參數所提供的資料型別傳回新的傳輸(transport )物件。 作品 TimerApp 簡易多功能計時器 簡易多功能計時器 TimerApp:
第一個APP發布了..
Google play 下載網址:
https://play.google.com/store/apps/details?id=com.VicTsao.TimmerApp 傳遞參數 免費的 網頁優化之TinyPNG:免費的線上 PNG 圖片壓縮工具 網頁優化之TinyPNG:免費的線上 PNG 圖片壓縮工具google一直告訴我,有些PNG檔太大,應該要進行壓縮,為了要提高網頁下載速度。所以就上網google了一下。很快就發現這款免費的線上 PNG 圖片壓縮工具。還滿不錯用的。官網上還有隻可愛的熊貓。 全局Ajax事件處理程序 Ajax:全局Ajax事件處理程序 這裡所提到的方法會註冊事件處理程序。當頁面中任何的AJAX要求事件,像是初始化或是完成等等,發生時,註冊的處理程序會被呼叫。假如 jQuery.ajaxSetup() 的global 屬性是true(預設是true),那每個AJAX要求都會觸發出全局事件。注意:跨網域的腳本或是JSONP要求絕對不會觸發全局事件,此狀況無視於global屬性的設定。 全局Ajax事件處理程序:.ajaxComplete() 全局Ajax事件處理程序:.ajaxComplete()註冊一個處理程序,當Ajax要求完成時該處理程序會被呼叫。這是一個Ajax事件(AjaxEvent)。不論何時,當Ajax要求完成時,jQuery會觸發ajaxComplete事件。此時,每個用.ajaxComplete()註冊的處理程序都會被執行。 全局Ajax事件處理程序:.ajaxError() 全局Ajax事件處理程序:.ajaxError() 註冊一個處理程序,當Ajax要求完成但是帶有錯誤時該處理程序會被呼叫。這是一個Ajax事件(AjaxEvent)。語法一:.ajaxError( handler(event, jqXHR, ajaxSettings, thrownError) ) // version added: 1.0 handler(event, jqXHR, ajaxSettings, thrownError)Type: Function()handler是個回呼函式,當事件發生時該函式會被調用。 全局Ajax事件處理程序:.ajaxSend() 全局Ajax事件處理程序:.ajaxSend()附加上一個函式,在Ajax要求送出前,該函式會被執行。這是一個Ajax事件(AjaxEvent)語法:.ajaxSend( handler(event, jqXHR, ajaxOptions) ) // version added: 1.0
全局Ajax事件處理程序:.ajaxStart() 全局Ajax事件處理程序:.ajaxStart() 註冊一個處理程序,當第一個Ajax要求開始時該處理程序會被呼叫。這是一個Ajax事件(AjaxEvent)。語法:.ajaxStart( handler() )。當Ajax要求要被送出去時,jQuery會檢查是否有其他未完成的Ajax要求。假如沒有任何在進行中的Ajax要求,jQuery會觸發ajaxStart事件。此時,每個用.ajaxStart()註冊的處理程序都會被執行。 全局Ajax事件處理程序:.ajaxStop() 全局Ajax事件處理程序:.ajaxStop() 註冊一個處理程序,當所有的Ajax要求都已經完成時,該處理程序會被呼叫。 這是一個Ajax事件(AjaxEvent)。
全局Ajax事件處理程序:.ajaxSuccess() 全局Ajax事件處理程序:.ajaxSuccess()附加上一個函式,每當Ajax成功完成時,該處理程序會被呼叫。語法:.ajaxSuccess( handler(event, XMLHttpRequest, ajaxOptions) ) // version added: 1.0 當一個Ajax要求成功完成時,jQuery會觸發ajaxSuccess事件。此時,每個用.ajaxSuccess()註冊的處理程序都會被執行。 全聯先生 函式 prototype-based 基於原型的 (初心者適用 ) Javascript常常都會聽到基於原型的繼承(prototype-based inheritance )這句話,到底什麼是基於原型??乍看之下很難理解。其實我們可以把基於原型放一邊,然後看看另外一種繼承方式,基於類別的繼承(class-based inheritance)。基於類別的繼承就是用類別來做繼承,這比較容易理解。所以用這角度來看基於原型的繼承,自然能知道基於原型的繼承就是用原型來繼承。 初體驗 javascript 初體驗.. Javascript 是Netscape 開發出來的一種用戶端腳本語言。早期的名字叫做 Live script ,在Netscape與SUN合作後,改名為javascript。Javascript使用並不難,很輕易的就能把它嵌入Web頁面。只需要在HTML頁面中貼加入script 的標籤: 加入與建立房間 開發基礎:加入與建立房間 房間物件( Room object)是SFS2X的基礎建構方塊中的一部分。房間可以安排玩家,因此玩家可以”看”到彼此,並且與其他玩家互動。典型的房間使用例子像是在聊天程式中不同主題的房間,虛擬事件中的不同開會地點,或是在各種分類中的不同地點挑戰其他朋友。 受動物抓咬傷處理 關於狂犬病 狂犬病是第一類法定傳染病,是由狂犬病病毒引起的一種急性病毒性腦脊髓炎,致死率高達100%。臺灣自1959年起不再有人的病例,2002年及2012年各發生一例自中國大陸境外移入病例,2013年發生一例自菲律賓境外移入病例。 台灣病例地理分布 關於狂犬病 狂犬病是第一類法定傳染病,是由狂犬病病毒引起的一種急性病毒性腦脊髓炎,致死率高達100%。臺灣自1959年起不再有人的病例,2002年及2012年各發生一例自中國大陸境外移入病例,2013年發生一例自菲律賓境外移入病例。 司馬爺爺 同步 同步與非同步的差異 在看文章時常常都會看到一推像是什麼 "同步載入","非同步技術"之類的字眼,可能有些人其實不太了解同步跟非同步的差別,甚至會有些誤解,話說,"同步"這字眼真的很容易讓人以為他是在"同時處理"什麼之類的東西。同步與非同步在很多領域都有這字眼,其實我也沒有追究他到底原始代表著什麼意義。我這裡大概說說這兩個字眼在程式語言的籌範內代表的意義是什麼。 周慧敏 咖啡在等一個人 四班二輪 AB班班表年曆 四班二輪班表年曆 四班二輪年曆:AB班月曆,應該不會全世界的AB班都一樣吧XD" 以後再來改好了 其實這是我自己要看的 = =") 回呼函式 CSS類別操作--.removeClass() JQuery:CSS類別操作--.removeClass():.removeClass()方法可以為匹配的元素移除原有的CSS類別。此方法只能單純的移除元素中的CSS類別。可與.addClass()合用,進行CSS類別的移除與新增。 回呼函式 callback function 回呼函式(callback function) 回呼函式:
所謂的回呼函式其實就是 " 將函式當作另一個函式的參數,由另外的函式來呼叫 "。
回呼函式其實十分常見,譬如在Javascript中監聽事件的添加,setTimeout 與 setInterval,或是陣列物件中的filter。
下面是一個添加監聽事件的例子:
當按下鍵盤按鍵時會取得鍵盤碼。 圖片壓縮 網頁優化之TinyPNG:免費的線上 PNG 圖片壓縮工具 網頁優化之TinyPNG:免費的線上 PNG 圖片壓縮工具google一直告訴我,有些PNG檔太大,應該要進行壓縮,為了要提高網頁下載速度。所以就上網google了一下。很快就發現這款免費的線上 PNG 圖片壓縮工具。還滿不錯用的。官網上還有隻可愛的熊貓。 在腳本中建立子物件 Unity 在腳本中建立子物件 在腳本中建立子物件:要在unity腳本中,建立物件時物件會出現在根目錄下,但有時候我們會希望新建的物件是某個其他物件的子物件, 型別轉換 基礎型態轉換 javascript 基礎型態轉換:這篇主要討論三種基礎型別的轉換:轉換成字串型態,轉換成布林型態,轉換成數值型態..數值型態再轉換成字串型態時,其實就是原本的數值字串.. 型態轉換 基礎型態轉換 javascript 基礎型態轉換:這篇主要討論三種基礎型別的轉換:轉換成字串型態,轉換成布林型態,轉換成數值型態..數值型態再轉換成字串型態時,其實就是原本的數值字串.. 基於原型的繼承 prototype-based 基於原型的 (初心者適用 ) Javascript常常都會聽到基於原型的繼承(prototype-based inheritance )這句話,到底什麼是基於原型??乍看之下很難理解。其實我們可以把基於原型放一邊,然後看看另外一種繼承方式,基於類別的繼承(class-based inheritance)。基於類別的繼承就是用類別來做繼承,這比較容易理解。所以用這角度來看基於原型的繼承,自然能知道基於原型的繼承就是用原型來繼承。 基於類別的繼承 prototype-based 基於原型的 (初心者適用 ) Javascript常常都會聽到基於原型的繼承(prototype-based inheritance )這句話,到底什麼是基於原型??乍看之下很難理解。其實我們可以把基於原型放一邊,然後看看另外一種繼承方式,基於類別的繼承(class-based inheritance)。基於類別的繼承就是用類別來做繼承,這比較容易理解。所以用這角度來看基於原型的繼承,自然能知道基於原型的繼承就是用原型來繼承。 報父母恩咒 報父母恩咒 報父母恩咒---多生累劫之父母恩重難報,卻無以為報,則有佛教報父母恩咒,每日念誦報恩咒四十九遍,可報父母恩,現存父母延壽,去世父母超拔,如一日未誦,次日可補誦。 如何設定外部資料庫的連線 Smartfoxserver:如何設定外部資料庫的連線 如何設定外部資料庫的連線:SFS2X提供一個類似於其前代的方法來連線到資料庫。而唯一需要做的事情就是,從你的資料庫供應商(譬如說MySQL或是MSSQL)中下載JDBC連接器。然後將下載下來的.jar放到{SFS2XRoot}/lib/ 資料夾中。 字串 基礎資料型態(字串-數值-布林) javascript 基礎資料型態也有人稱為簡單型態,包含了字串、數值與布林。是程式建構的基礎。字串是一連串的字元所組成,由雙引號或單引號所包覆住..數值型態的數值系統是符合IEEE 754的倍精度浮點數定義..布林型態只有兩個值,true 跟 false.. 字串與數字相加 字串與數字的相乘與相加 javascript 字串與數字的相乘與相加:javascript字串加數字會變成什麼?字串能乘數字?該怎麼讓字串+數字=數字?直接看例子吧:x="5"*"2";
alert (x); // ==>字串5乘字串2 輸出 10 客製化登入 建立基於擴展的客製化登入 在伺服端時間一個客製化的登入是很簡單的一個過程。SFS2X會發出下面兩個登入事件:
USER_LOGIN(使用者登入): 當客戶端請求加入一個區域時會發出這個事件。你可以在這裡驗證使用者憑證與決定使用者是否能繼續進行登入動作。在這個階段客戶端是以一個Session物件作為代表,還不是一個真正的使用者。
USER_JOIN_ZONE(使用者家入區域):當使用者成功加入一個區域(並且轉換成為SFS使用者(SFSUser)) 時會發出此事件。
實體參考 HTML文件如何在網頁中顯示實體參考 HTML文件如何在網頁中顯示字樣:在HTML文件中我們常會使用實體參考字元來表示一些特殊字元,以期能夠在網頁中正常顯示。譬如說要在網頁上顯示 的字樣,如果直接在網頁上打是無法正常顯示的,因為 是HTML檔中的標籤格式,所以會被當成標籤使用。 寶寶示範如何將房間弄亂: 寶寶示範如何將房間弄亂 寶寶示範如何將房間弄亂:
雖然我覺得把小孩單獨留在房間好像很殘忍,不過據影片的分享者說,事實上他並沒有真的離開。
這影片是由Francis Vachon 所分享,主角是他9個月大小孩。 屬性複製 物件的繼承(三)--複製屬性的第二種方法 物件的繼承(三)--複製屬性的第二種方法:
上回說到物件的繼承(二)--複製屬性的第一種方法,這次繼續說說另外一種複製屬性的方式。這方式其實很簡單,其實就是直接用迴圈將物件的屬性複製一份而已。感覺這方法笨笨的,但其實這種繼承方式還蠻廣為使用的。 差別 escape,encodeURI與encodeURIComponent 的使用與差異 scape()、encodeURI()、encodeURIComponent ()都是用來對字串做編碼,以利於在網路上傳遞。escape()是個全域函式,可以在javascript程式的任何地方呼叫它。使用16進制替字串重新編碼,encodeURI()也是個全域函式,用來將(包含非法字元)URI字串編碼成符合URI格式的新字串。與encodeURI( )相似,encodeURI()為了整個URI的完整性,因此無法對URI中的功能性字符做編碼。 差異 escape,encodeURI與encodeURIComponent 的使用與差異 scape()、encodeURI()、encodeURIComponent ()都是用來對字串做編碼,以利於在網路上傳遞。escape()是個全域函式,可以在javascript程式的任何地方呼叫它。使用16進制替字串重新編碼,encodeURI()也是個全域函式,用來將(包含非法字元)URI字串編碼成符合URI格式的新字串。與encodeURI( )相似,encodeURI()為了整個URI的完整性,因此無法對URI中的功能性字符做編碼。 布林 基礎資料型態(字串-數值-布林) javascript 基礎資料型態也有人稱為簡單型態,包含了字串、數值與布林。是程式建構的基礎。字串是一連串的字元所組成,由雙引號或單引號所包覆住..數值型態的數值系統是符合IEEE 754的倍精度浮點數定義..布林型態只有兩個值,true 跟 false.. 常數 變數與常數 javascript的變數是一個用來儲存值的識別子,譬如說:var x=5;其中x就是一個儲存值5的識別子,也可以說是有一個名字叫做x的變數,他現在放的值是5。變數有其有效範圍,如果忽略了這一點可能會造成難以預料的結果,因此需要有一定程度的了解。 常用電腦指令 常用電腦指令 老是忘記,寫下來備忘。
常用電腦指令:
查詢網路卡實體位址(MAC address):
ipconfig -all
開啟命令提示字元:
cmd
系統設定:
msconfig ==>可以用來取消windows 開幾自動啟動程式,服務
效能監視器:
perfmon.exe
登陸編輯程式:
regedt32.exe 幫妹妹們修電腦的正確方法 幫妹妹們修電腦的正確方法 在大陸網站Web開發者看到這篇文章,老實說我不知道他說的研究是真的還假的。
不過這經驗相信是個男人多少會遇見過,參考看看。來源:WEB開發者 本部門近期做了一項普查,結果顯示:女生普遍有叫男生上門修電腦的經歷,男生普遍有被女生叫上門修電腦的經歷。這類經歷普遍發生在未婚階段,已婚後需要修電腦或者被修電腦的機率幾乎為零。為了弄明白這一問題,我們就此展開了一項專題研究。
度 1KWH等於幾度?? 1KWH等於幾度??電器上面都會有標籤寫耗電量,通常是以KWH表示。不過KWH是啥??其實KWH是每小時千瓦的意思。 忘記付錢 網頁沒法開啟之 忘記付錢.. 網頁沒法開啟之 忘記付錢:回來發現自己的網頁時好時壞,後來開mail才知道我的信用卡自動付款沒成功想想我好像換過卡XD忘記更新了趕快去更新 結果還是沒回復 快捷方法 快捷方法:jQuery.get() 快捷方法:jQuery.get()使用HTTP GET 請求,載入伺服端資料。語法:jQuery.get( url [, data ] [, success(data, textStatus, jqXHR) ] [, dataType ] )//version added: 1.0 快捷方法:jQuery.getJSON() 快捷方法:jQuery.getJSON()使用Get HTTP請求從伺服端載入JSON編碼的資料。語法:jQuery.getJSON( url [, data ] [, success( data, textStatus, jqXHR ) ] )//version added: 1.0 慣用的程式碼字型 慣用的程式碼字型 我們在寫程式時,使用專業的編輯器看到的程式碼其實很常都是等字寬的字型。
這導致身為一個程式設計師,不論專業或業餘,都很習慣看等字寬的程式碼。
等字寬的字型其實有很多種, Courier New ,是個不錯的選擇。
當然會選這個字型的原因是,我網頁的文章編輯器只有這個可以選 =="。 我的IE9不是IE9? 我的IE9不是IE9? 一直以來我都有個疑問,為啥網路上說IE9支援的Javascript方法我的IE9都不支援。
最近又發現,有些會偵測瀏覽器版本的網頁,把我的IE9當成IE7..
恩 真是太詭異了,還是下載IE10來用好了 =="
完全沒有意義的一篇文章 =="
房間結構 開發基礎:房間結構 » 房間結構
在任何的多人應用程式中,房間物件( Room object)都是其中一個最重要的基礎建構方塊中。他負責分組與將使用者連現在一起並且讓使用者能夠與彼此互動。從開發者的角度來看,它提供了有用的事件,能夠幫助建立應用程式邏輯,而且每個房間都能夠被不同的伺服端擴展程式管理。 手續費 找便宜搬家的心得 找便宜搬家的心得 找便宜搬家的心得:
最近又要搬家了,出門在外工作,好像每過個一段時間就會搬家,出外越久,東西越多。前面幾次還可以自己搬,這次看樣子真的得找個搬家公司幫幫忙了。正常搬家價錢好像沒個4 5千都搬搬不了。不過在網路上搜尋了一下似乎還是有其他方法,大概列了幾種方法: 摧毀物件 Unity腳本:使用 Destroy 摧毀物件或元件 Unity腳本:使用 Destroy 摧毀物件或元件Destroy是Object物件的一個靜態函式。可以用來摧毀物件,或是元件。Destroy 可以接受一個或2個參數,第一個參數是要摧毀的目標物件或是元件,第二個參數接受一個浮點數來做為延遲的時間。一般在使用Destroy 時,不會直接直接使用Destroy 摧毀腳本所屬的物件。 數值 基礎資料型態(字串-數值-布林) javascript 基礎資料型態也有人稱為簡單型態,包含了字串、數值與布林。是程式建構的基礎。字串是一連串的字元所組成,由雙引號或單引號所包覆住..數值型態的數值系統是符合IEEE 754的倍精度浮點數定義..布林型態只有兩個值,true 跟 false.. 新 酒駕 罰則 整理(2013年6月刑法修改) 新酒駕罰則整理(2013年6月刑法修改) 處二年以下有期徒刑,得併科二十萬元以下罰金:一、吐氣所含酒精濃度達每公升零點二五毫克或血液中酒精濃度達百分之零點零五以上。
根據勞動基準法,受有期徒刑以上刑之宣告確定,而未諭知緩刑或未准易科罰金者老闆是可以不經預告終止契約的。老闆灌酒的時候要小心啊!~~~~~~~~~ 新竹 新竹青草湖運動筆記 新竹青草湖運動筆記:
減肥運動,聽說走路可以減肥。
所以用心跳表做了一下紀錄, 新竹計程車 新竹計程車 新竹的計程車:
有時候用的到 自己的備忘錄。供參考:第一無線計程車 紅帥計程車無線電台 台灣大車隊
方法使用的記憶體 Java物件方法在記憶體佔的空間 Java物件方法是否會被重複實例化?是否需要使用靜態方法來節省記憶體?
假設類別中定義了一個方法f(),當類別被實例化成1000個物件時。那在記憶體中是否存在1000個f()? 本地化 NGUI的本地化 NGUI還滿貼心的,內附UILabel的本地化( 我一直覺得翻成本土化比較合==" )腳本。
本地化檔案可以使用.cvs檔,將其命名為Localization放在Resources資料夾中就可以了。
(沒Resources資料夾就自己建一個)
NGUI下載時其實就自帶了一個Localization.txt檔。 查看伺服器記錄檔 格式化程式碼 Eclipse 快速格式化程式碼 Eclipse 快速格式化程式碼 :寫程式碼寫久了,要維護程式碼的"美觀"是很重要又很麻煩的事。好的IDE當然要能自動幫忙排列程式碼。不囉嗦,按下滑鼠右鍵: 條件敘述 條件敘述 if...else... 條件敘述在各種程式語言當中都是相當基礎而又很常被用到的的語法。主要是用判斷各種不同的條件是否成立,來決定要執行的程式碼區段。if...else 就是條件敘述的一種,語法如下:
語法一: 條件敘述 switch..case.. switch..case..是javascript條件敘述的一種,可以用來比對多個條件。語法簡單,唯一要注意的是break的使用,若省略break敘述,則程式不再比對case後的條件,卻會繼續執行case內的程式碼,直到有break敘述後才會跳出switch敘述。語法:switch (Express) {case Comparison1:
..case Comparison2:..default:..} 汽車 酒駕 強制險 3月1日起酒駕被逮一次 強制險加收2100元 3月1日起酒駕被逮一次 強制險加收2100元金管會宣布,從今年(103年)3月1日開始,酒駕被逮一次,強制險就要加收2100。而且不限次數,不限車輛。要注意的事項是:1. 借車給人,駕駛酒駕,算車主的---所以借人家車一定要注意,不要衰到自己。2... 漏洞 激活遊戲物件 Unity腳本:激活遊戲物件 Unity腳本:激活遊戲物件在Unity腳本中,要激活遊戲物件的方法就是使用遊戲物件的SetActive方法:gameObject.SetActive(true);短短一行程式碼,但依然有要注意的地方。首先遊戲物件在未激活的狀態下,本身的腳本是不會執行的,所以如果你在一個激活的遊戲物件的start()函式中使用下面程式碼: 瀏覽器物件模型 瀏覽器物件模型(BOM) 瀏覽器物件模型,一般都簡稱為BOM,是Javascript與瀏覽器溝通的橋樑,讓Javascript可以透過BOM對瀏覽器進行各種操作,包含開啟/關閉視窗,改變視窗大小,計時器與取得位址之類的。瀏覽器物件模型在Javascript中十分常用,也算是基礎的一部分,但奇怪的是他其實並沒有正式的標準。 物件 物件的繼承 繼承的目的在於重用程式碼,以及結構化的資料。在程式中,物件通用的屬性與方法,都應該用繼承的方式來進行,這是一種比較有效率的做法。Javascript的物件繼承原理其實並不難,只是相當異於一般(基於類別)的物件導向程式。Javascript是一個基於原型的物件導向程式,他的繼承主要就是依據原型來實作。 物件的繼承(二)--複製屬性的第一種方法 上次我們在物件的繼承中提到使用原型(prototype)來進行繼承,而使用原型繼承的特點就是屬性的共享,這很好,但是也有不對時的時候,總是有些時候我們希望繼承一些屬性,但卻不願意和人共享。譬如說我有個creature物件,我想要繼承他的name屬性,但我總不能跟別人共享這name屬性吧。 prototype-based 基於原型的 (初心者適用 ) Javascript常常都會聽到基於原型的繼承(prototype-based inheritance )這句話,到底什麼是基於原型??乍看之下很難理解。其實我們可以把基於原型放一邊,然後看看另外一種繼承方式,基於類別的繼承(class-based inheritance)。基於類別的繼承就是用類別來做繼承,這比較容易理解。所以用這角度來看基於原型的繼承,自然能知道基於原型的繼承就是用原型來繼承。 物件的繼承 物件的繼承(二)--複製屬性的第一種方法 上次我們在物件的繼承中提到使用原型(prototype)來進行繼承,而使用原型繼承的特點就是屬性的共享,這很好,但是也有不對時的時候,總是有些時候我們希望繼承一些屬性,但卻不願意和人共享。譬如說我有個creature物件,我想要繼承他的name屬性,但我總不能跟別人共享這name屬性吧。 狂犬病 關於狂犬病 狂犬病是第一類法定傳染病,是由狂犬病病毒引起的一種急性病毒性腦脊髓炎,致死率高達100%。臺灣自1959年起不再有人的病例,2002年及2012年各發生一例自中國大陸境外移入病例,2013年發生一例自菲律賓境外移入病例。 生活與心情罰款 開車打手機罰款 汽車駕駛人於行駛道路時,以手持方式使用行動電話、電腦或其他相類功 能裝置進行撥接、通話、數據通訊或其他有礙駕駛安全之行為者,處新臺 幣三千元罰鍰。 登入 開發基礎:登入階段 在前一個章節,中我們已經見過如何連線到SmartFoxServer,也提到過客戶端在開始與伺服器API與其他使用者互動前,需要先登入到區域中。
為了看到在服務器中可得的區域,以及建立一個新的區域。你可以使用SFS2X 的Admin Tool。在工具欄的左側中選擇Zone Configurator ,然後會出現區域(Zones)的列表。 發票未領 發票未領!!~ 103年3、4月份
特別獎獎金新臺幣1,000萬元中獎號碼為54544448:
排除空白、作廢、金額不符或買受人記載為營業人等不符給獎規定之發票後,中特別獎發票共有11張
台北市木柵區農會供銷部農產品展售中心(臺北市文山區)、
政大加油站股份有限公司(臺北市文山區)、
燦坤實業股份有限公司金山分公司(新北市金山區)、
福鼎軒有限公司(新北市蘆洲區)、
統一超商股份有限公司桃園縣第276分公司(桃園縣大園鄉)、
全聯實業股份有限公司環中分公司(桃園縣中壢市)、
統一超商股份有限公司雲林縣第83分公司(雲林縣斗南鎮)、
全家便利商店股份有限公司台中新文山門市部(臺中市南屯區)、
上尚五金百貨商行(臺南市東區)、
台灣中油股份有限公司覺民路站(高雄市三民區)、
統一超商股份有限公司高雄市第448分公司(高雄市旗山區)。 皮尺 皮尺在哪裡買??? 皮尺又稱布尺..可以用來量腰圍....等等..皮尺其實算是裁縫用具..所以一般都跟針線放一起..不過體積小 很難發現 =="我在10店逛好久...老闆都跟我講位置了我還一直找不道 >" 禪詩 禪詩~ 春有百花秋有月,
夏有涼風冬有雪;
若無閒事掛心頭,
便是人間好時節。 移動與旋轉 Unity腳本:移動與旋轉 Unity腳本:移動與旋轉在Unity中要移動與旋轉場景中的物件是相當簡單的。首先要瞭解的是Transform元件。在Unity場景中的每個物件都會具有Transform元件。Transform元件的主要功能就是用來儲存以及操作物件的位置、旋轉、及大小。 程式碼的美化(高亮度),美觀的程式碼是怎麼做到的 網頁程式碼的美化(高亮度) 在網路上看別人寫的程式碼都有各式各樣的顏色,看起來美美的。這種美觀的程式碼是怎麼做到的?其實這種美化程式碼一般都稱之為code highlight,中文都翻譯成程式碼高亮度。在google中搜尋code highlight或是syntax highlight就很容易找到這方面的資訊。除此之外,各大CMC(Content Management System)其實也都有自己內建或是外掛的code highlight程式。 程式碼轉成HTML顯示格式 程式碼轉成HTML顯示格式 程式碼轉換成HTML的顯示格式:
這程式是為了方便我貼程式碼寫的,主要也只是把程式碼中的轉成,
這樣就可以方便我直接貼在HTML文件中了。
不然每次在CMC編輯器中直接貼上複製過來的HTML程式碼,不同的瀏覽器都會有不同的結果。 笑笑咩 簡易多功能計時器 TimerApp 簡易多功能計時器 簡易多功能計時器 TimerApp:
第一個APP發布了..
Google play 下載網址:
https://play.google.com/store/apps/details?id=com.VicTsao.TimmerApp 維克的煩惱 關係運算子 javasript 關係運算子(relational operators)也有人會把它稱為比較運算子(Comparison operators)。javasript 關係運算子有下面幾種:>,=,instanceof,in ODP收錄我的網站了 ODP是每個做SEO都會提到的目錄網站。
不過收錄一般都比較嚴格,而且有時候處理時間頗長。
網站被收錄著實令人高興! 網頁優化 網頁優化之TinyPNG:免費的線上 PNG 圖片壓縮工具 網頁優化之TinyPNG:免費的線上 PNG 圖片壓縮工具google一直告訴我,有些PNG檔太大,應該要進行壓縮,為了要提高網頁下載速度。所以就上網google了一下。很快就發現這款免費的線上 PNG 圖片壓縮工具。還滿不錯用的。官網上還有隻可愛的熊貓。 網頁沒法開啟 網頁沒法開啟之 忘記付錢.. 網頁沒法開啟之 忘記付錢:回來發現自己的網頁時好時壞,後來開mail才知道我的信用卡自動付款沒成功想想我好像換過卡XD忘記更新了趕快去更新 結果還是沒回復 網頁速度 CloudFlare--一些你不知道的事 CloudFlare:CloudFlare是個CDN服務商,他提供免費的CDN服務,當然也有付費部分,只是相當不便宜。最便宜的也是20美金一個月。著實負擔不起。這篇文章其實不是個介紹文章,只是我在用CloudFlare時的一些問題與找到的答案,分享給大家: 線性插值 Unity腳本:使用Lerp 線性插值製作滑順效果 Unity腳本:Lerp 線性插值在Unity中,Lerp一種是用來計算線性插值的函式Lerp可以使用在很多個地方,像是:Color.Lerp 、Mathf.Lerp 、Vector3.Lerp 、Material.Lerp 。Lerp可以用來製作許多滑順的效果。譬如說Color.Lerp就可以讓兩種不同的顏色平滑的轉換。 繼承 物件的繼承 繼承的目的在於重用程式碼,以及結構化的資料。在程式中,物件通用的屬性與方法,都應該用繼承的方式來進行,這是一種比較有效率的做法。Javascript的物件繼承原理其實並不難,只是相當異於一般(基於類別)的物件導向程式。Javascript是一個基於原型的物件導向程式,他的繼承主要就是依據原型來實作。 物件的繼承(二)--複製屬性的第一種方法 上次我們在物件的繼承中提到使用原型(prototype)來進行繼承,而使用原型繼承的特點就是屬性的共享,這很好,但是也有不對時的時候,總是有些時候我們希望繼承一些屬性,但卻不願意和人共享。譬如說我有個creature物件,我想要繼承他的name屬性,但我總不能跟別人共享這name屬性吧。 prototype-based 基於原型的 (初心者適用 ) Javascript常常都會聽到基於原型的繼承(prototype-based inheritance )這句話,到底什麼是基於原型??乍看之下很難理解。其實我們可以把基於原型放一邊,然後看看另外一種繼承方式,基於類別的繼承(class-based inheritance)。基於類別的繼承就是用類別來做繼承,這比較容易理解。所以用這角度來看基於原型的繼承,自然能知道基於原型的繼承就是用原型來繼承。 物件的繼承(三)--複製屬性的第二種方法 物件的繼承(三)--複製屬性的第二種方法:
上回說到物件的繼承(二)--複製屬性的第一種方法,這次繼續說說另外一種複製屬性的方式。這方式其實很簡單,其實就是直接用迴圈將物件的屬性複製一份而已。感覺這方法笨笨的,但其實這種繼承方式還蠻廣為使用的。 老皮是誰 自動捲到最下方 自製簡易訊息視窗 Unity自製簡易訊息視窗 使用unity自製簡易訊息視窗:
直接貼過來的,有點亂。
我把遊戲視窗縮小了,所以只訊息視窗就佔滿了一大部分。 花粉 花粉--世界上唯一個完全食品 花粉含有豐富的營養,維生素、礦物質、人體必需胺基酸及天然酵素。號稱「世界上唯一的完全食品」。
超過200多種活性營養素,易於人體吸收。推銷員還說,花粉含有B群可以增強體力去除疲勞... 萬年曆 簡易手工萬年曆 javascript 手工製作萬年曆---不使用Date物件,不論是在學哪種程式語言,好像都會有人問這個問題。這大概是某種形式的作業吧!~(算芭樂作業嗎@@??)..或許是因為他有點小複雜的邏輯性,讓他變成了經典作業了!(好吧 是經典 不是芭樂!!~)寫這篇是因為在奇摩知識+看到了這問題勾起了以前學C的回憶~既然現在在學javascript~那就用javascript也來寫一個吧!~要寫手工萬年曆,要先知道幾件事情。 計時器 註冊輔助 註冊輔助-基礎概念 註冊輔助-基礎概念
註冊輔助系統的運作方式是,將其插入至伺服器擴展中,並且增加新的指令,讓客戶端能夠呼叫並且存取該服務。簡單來說,使用這個元件需要三個步驟:
1.在應用程式區域(application's Zone)中配置DBManager,這樣才能夠與你的本地資料庫(local DB)進行溝通。
2.在擴展的init()方法中實例化該元件。
3.根據你的需要來設置元件。 變數 變數與常數 javascript的變數是一個用來儲存值的識別子,譬如說:var x=5;其中x就是一個儲存值5的識別子,也可以說是有一個名字叫做x的變數,他現在放的值是5。變數有其有效範圍,如果忽略了這一點可能會造成難以預料的結果,因此需要有一定程度的了解。 軟件天才與技術民工 轉貼:軟件天才與技術民工 在閒逛網頁的時候發現了這篇文章,探討中國大陸軟體業的現況,以及該如何成就軟體"人才",可以參考看看。下面是轉貼至軟件天才與技術民工的摘要:來源:金旭亮 發佈時間:2012-11-24 長期以來,“軟件業”一直被視為“智力密集”型的“朝陽”產業,大多數從業者都受過高等教育,其平均素質居於社會各行業的前列,這個產業的頂尖 輔助函式 輔助函式:jQuery.param() 輔助函式:.jQuery.param()建立一個陣列或是物件的序列化表示,適合使用在URL查詢字串(URL query string )或是Ajax要求。語法一:jQuery.param( obj ) //version added: 1.2 語法二:jQuery.param( obj, traditional )這個函式是在內部使用來將表單元素值轉化成為序列化字串表示。(參考.serialize() 以取得更多資訊) 輔助函式:.serialize() 輔助函式:.serialize()將一組表單元素編碼成字串以利於提交。.serialize()方法以標準的URL編碼表示法建立一個文字字串。他可以對選定的個別的表單控制元素的jQuery物件進行操作。像是, , and :$( "input, textarea, select" ).serialize(); 輔助函式:.serializeArray() .serializeArray()方法會建立一個Javascript的物件陣列,此陣列物件是準備用來編碼成JSON字串。.serializeArray()方法可以操作一組代表表單元素的jQuery物件。表單元素可以是幾種類型: 連線階段 開發基礎:連線階段 連線到SFS2X分成兩個步驟來執行:
一個物理TCP連線被打開以連接到伺服器。
客戶端與伺服端完成"握手(handshake)"的動作,並且交換了一些參數。
在握手期間,伺服端會驗證客戶端API版本是否支援,並且傳回一些客戶端會儲存在本地的設定。 遊戲 使用Javascrip寫出3D遊戲 要單純的使用Javascript寫出遊戲是一件不容易的事,若是要寫出一款3D遊戲更是難上加難了,但是有了Unity就不一樣了,unity是一款功能強的大3D遊戲引擎,可以用來製作各類型的遊戲,像是RPG(角色扮演)、RTS(即時戰略)、ACT(動作)、RCG(賽車)、SLG(模擬)。而unity使用的腳本語言,就是使用Javascript、C#與BOO。其中又以Javascript的支援度最高。 道路交通管理處罰條例 酒駕 小心!!~腳踏車也不能酒駕(2014年1月) 道路交通管理處罰條例有新改版了:民國 103 年 01 月 08 日修正的,實行日期由行政院以命令定之:這裡我想說的是,喝酒也不能騎腳踏車啦!!~講手機也要罰!!沒開燈也要罰!!不過沒開燈是之前就有規定的。 邏輯運算 邏輯運算子 javascript 的邏輯運算子與關係運算子,很常被合用在條件敘述的判斷式中。可以用來判斷多個條件是否在成立狀態。主要有三個:&& ==> AND邏輯運算子 ,運算子兩邊的運算元(或者是說運算式)都為true時傳回true,其他傳回false
邏輯運算子 邏輯運算子 || (OR) 跟 &&(AND) 的傳回值 javascript邏輯運算子 || (OR) 跟 && (AND): 在傳回運算結果時,有個特別的地方.就是如果是傳回值是true那會傳回決定這結果的運算元的那個值(或物件),而不是單純傳回布林值的true 邏輯運算子 javascript 的邏輯運算子與關係運算子,很常被合用在條件敘述的判斷式中。可以用來判斷多個條件是否在成立狀態。主要有三個:&& ==> AND邏輯運算子 ,運算子兩邊的運算元(或者是說運算式)都為true時傳回true,其他傳回false
邏輯運算符 邏輯運算子 javascript 的邏輯運算子與關係運算子,很常被合用在條件敘述的判斷式中。可以用來判斷多個條件是否在成立狀態。主要有三個:&& ==> AND邏輯運算子 ,運算子兩邊的運算元(或者是說運算式)都為true時傳回true,其他傳回false
配對 開啟與關閉元件 Unity腳本:開啟與關閉元件 Unity腳本:開啟與關閉元件要在Unity腳本中開啟與關閉遊戲物件的元件,只要使用"enabled"屬性就可以了。舉個例子來說,我們要在Unity js腳本中關閉場景中的燈光:首先取得元件:myLight = GetComponent(Light); 開發基礎 開發基礎:介紹 在這章節中我們將使用SmartFoxServer 2X來引導你了解多人遊戲開發基本的概念。從一般的角度來看,所有的多人遊戲和應用程序的運作都非常的相似,不論其不同的風格( (多人動作遊戲, MMORPG, MMORTS, 虛擬世界, 等等)。從本質上來講,它們都包含著客戶端與伺服端,客戶端透過持續的連線(使用TCP 協定)連接到伺服器,由伺服器負責維護遊戲狀態與玩家之間的同步。 開發基礎:連線階段 連線到SFS2X分成兩個步驟來執行:
一個物理TCP連線被打開以連接到伺服器。
客戶端與伺服端完成"握手(handshake)"的動作,並且交換了一些參數。
在握手期間,伺服端會驗證客戶端API版本是否支援,並且傳回一些客戶端會儲存在本地的設定。 開發基礎:登入階段 在前一個章節,中我們已經見過如何連線到SmartFoxServer,也提到過客戶端在開始與伺服器API與其他使用者互動前,需要先登入到區域中。
為了看到在服務器中可得的區域,以及建立一個新的區域。你可以使用SFS2X 的Admin Tool。在工具欄的左側中選擇Zone Configurator ,然後會出現區域(Zones)的列表。 註冊輔助-基礎概念 註冊輔助-基礎概念
註冊輔助系統的運作方式是,將其插入至伺服器擴展中,並且增加新的指令,讓客戶端能夠呼叫並且存取該服務。簡單來說,使用這個元件需要三個步驟:
1.在應用程式區域(application's Zone)中配置DBManager,這樣才能夠與你的本地資料庫(local DB)進行溝通。
2.在擴展的init()方法中實例化該元件。
3.根據你的需要來設置元件。 開發基礎 smartfoxserver SFSObject SFSArray 開發基礎:SFSObject 與 SFSArray SmartFoxServer 2X 採用了兩個基本的類別,SFSObject 與SFSArray,這兩個類別是伺服端與客戶端之間操作與傳送資料的中心。它們是跨所有語言的API(包含伺服端API)。這讓移植代碼到任何平台和應用程序的每個面變得很容易。
SFSObject 與SFSArray 代表著平台中立的高階物件將客戶端與伺服端間的資料傳輸抽象化。 關掉joomla系統SEF的結果 關掉joomla系統SEF的結果 今天試著吧joomla系統SEF關掉,
結果就是,除了首頁外,其他文章的圖片都不見了,
認真看了一下,原來相對位址都不對了 =="
原本 /images/__colorpcikerpic.png 變成了 /81-javascript/images/__colorpcikerpic.png
還好我用圖的地方不多 ==" 一個一個給他改......
電匯篇 電費 1KWH等於幾度?? 1KWH等於幾度??電器上面都會有標籤寫耗電量,通常是以KWH表示。不過KWH是啥??其實KWH是每小時千瓦的意思。 青草湖 新竹青草湖運動筆記 新竹青草湖運動筆記:
減肥運動,聽說走路可以減肥。
所以用心跳表做了一下紀錄, 非同步 同步與非同步的差異 在看文章時常常都會看到一推像是什麼 "同步載入","非同步技術"之類的字眼,可能有些人其實不太了解同步跟非同步的差別,甚至會有些誤解,話說,"同步"這字眼真的很容易讓人以為他是在"同時處理"什麼之類的東西。同步與非同步在很多領域都有這字眼,其實我也沒有追究他到底原始代表著什麼意義。我這裡大概說說這兩個字眼在程式語言的籌範內代表的意義是什麼。 1 Date.UTC()傳回由1970,1,1,0,0,0,0到指定UTC時間的毫秒數。 UTC()方法會傳回由1970年1月1日0時0分0秒0毫秒開始,到參數所指定的UTC時間的毫秒數。UTC()方法參數與Date()建構子相同,但不同的是UTC()方法使用的是UTC時間而不是當地時間。
注意,此方法是一個靜態方法,不能在物件實例上使用,因此只能藉由Date.UTC()來呼叫此方法。 Date.UTC()傳回由1970,1,1,0,0,0,0到指定UTC時間的毫秒數。 UTC()方法會傳回由1970年1月1日0時0分0秒0毫秒開始,到參數所指定的UTC時間的毫秒數。UTC()方法參數與Date()建構子相同,但不同的是UTC()方法使用的是UTC時間而不是當地時間。
注意,此方法是一個靜態方法,不能在物件實例上使用,因此只能藉由Date.UTC()來呼叫此方法。