網站要『用動畫讓網站整個動起來』漂亮、有趣、讓訪客忍不住要點閱! 最新推出:網站動畫製作秘技傳授 +(技術諮詢) 讓你快速學成! 進入HTML5的時代Flash動畫技術已經走入歷史! 如何在自適應網頁網站(RWD)架構下『用動畫讓網站整個動起來』是必學的秘技! 傳授 jQuery 廣告看板(3D 轉場.多版面輪播) 『自己製作 wordpress 動畫看板外掛程式』的獨家秘技! 網站登入頁面藉助『動畫助手』與『吸睛看板』收集潛在客戶名單的秘訣 讓您網站能擁有流量與訂單! 傳授如何將動畫短片轉成GIF動畫,讓整個網站更有有趣! (無師不一定會自通!有拜師當然就一定會通) 提供 JavaScript 廣告模版,讓你快速套用自己的廣告,並快速發佈於網站上! 教導藉助『網頁編輯器』強大模組功能,不需記住一大堆語法(快速動態展示圖片輪播特效) 傳授『網頁廣告看板設計軟體』套用模版,不是美工出身也能輕鬆搞定! 傳授秘技、直接有效!(精準、快速、無學不會的擔憂....)

FLASH與XML運用

 什麼是XML?
什麼是XML?製作Flash為何要結合XML文件?

XML(Extensible Markup Language)是一套資料儲存工具,可以用來建立包含結 構化格式資料的文件。除了資料之外,還可以包含一組定義資料架構的詳細規則。這些規則是由 XML 文件的作者負責定義。 例如,可以建立一組規則,用來驗證Microsoft Exchang e-mail文件、Microsoft SQL Server資料庫、Microsoft Word文件, 或者是任何存在於企業之中的資料形式。

XML 所擁有的功用不只是傳遞資料,還可以將資料包含在XML文件中,然後利用 延伸樣式表語言(Extensible Stylesheet Language,XSL)所寫成的網頁來將 XML 文件中的資料 展現於 Microsoft Internet Explorer 5 中,(希望未來其他瀏覽器也能擁有相同的功能)。利用 XML 文件與 XSL 網頁, 網站的開發人員可以將資料與呈現方式分開。

XML的特徵:
◎XML可按照需求,以某種形式儲存和組織任何類型的資訊。
◎XML是開放標準,不是某家公司的財產,也沒有和特定軟體掛勾。
◎XML的標準字元集是Unicode。它可支援為數龐大書寫系統和符號,從斯堪地那維亞的盧恩文到台灣的表意文字都支援。
◎XML提供多種方式來檢驗文件品質,舉凡語法規則、內部連結檢核、文件模型比對和資料定型等等。
◎XML有簡明的語法和明確的結構,無論是對人或程式,讀取和解析都很簡單。
◎XML可以輕易和樣規(stylesheet)結合,建立任何想要的文件格式。純粹的資料結構並不參與格式的轉換。

製作Flash專案時,如果能善用XML文件(使用外部連結)
那以後修改連結點、圖片、影片、音樂
、文字內容就不用動到Flash的SWF檔案
直接用外部修改XML即可!您說這樣是不是很方便呢?
有鑑於此,總教頭在Fash教學中就有別於一般教學的綁死所有資源在
Flash的SWF檔案
而特別示範用Flash+XML+(資源)的密技教學,讓學員走在時代的前面!
詳細教學課程請看這裡:

http://por.tw/flash/new-E_learning/index.php

本文是一篇基於XML的FLASH網站製作教學,利用XML最基本的語系描述模式,加上FLASH製作的動態介面,能快速、簡便的開發FLASH網站,最重要是以後再更新FLASH網站時就非常方便,只許修改一下XML檔案即可。
如果想開發一個不支援資料庫空間上的的FLASH網站,或是說資料量太小,使用資料庫顯得太笨拙的話,使用XML將是最方便的方法。

本案例的目的是想用FLASH製作一個設計作品集(portfilio),就是個人首頁及設計公司中常用的那種工作展示。
由於天天工作,每隔幾天總會有些新作品可以放進作品集中,總不能隔三差五的去修改FLASH源檔案再輸出吧,用資料庫做這麼小的資料存取又顯得太笨拙,這個時候就得用到XML了,不需要資料庫,不需要空間支援,只要有FLASH和XMl檔案即可……。
先看看簡單資料表設計:
欄位     內容
name     設計作品名稱
src     設計作品的連結
intro     簡單描述
cate     作品所屬分類(網站/動畫/遊戲/多媒體..)

這樣一個資料庫,加個主鍵ID,有點像資料庫表 ,不過現在不能使用資料庫,必須以XML的模式來記錄這些資料,那麼我們再建立一個data.xml檔案,並寫入一個類似於此的資料描述結構

<第一段代碼>代碼複製框
//第一段代碼START <?xml version='1.0' encoding='UTF-8'?> <data> <web> <project name="SONYERICSSON T630 PROMOTION" src="sony.swf" intro="這是我今年的項目"/> <project name="MATRIX" src="matrix.swf" intro="密訓基地"/> <project name="PHILIPS TECH STATION" src="philips.swf" intro="科技新知"/> </web> <animation> <project name="MTONE GAME" src="mtone.swf" intro="這是個原作品了"/> </animation> <game> <project name="MIONICA GAMES" src="mionica.swf" intro=""/> <project name="EC ONLINE GAME" src="ec.swf" intro="線上遊戲"/> </game> </data> //第一段代碼END
[Ctrl+A 全部選取 然後複製]

這裡有幾個小問題:
首先,我使用的是 encoding='UTF-8',表示資料編碼模式是UTF-8,採用此模式的主要好處是便於在FLASH中讀取資料,並且在任何語系平台(如日文或其它國家操作系統)上,都能正存的顯示出我的中文字或其它文字。
那當然,也可以採用encoding='big5'的中文編碼模式,不過那樣的話,FLASH中就得加上語法來標示一下了。

由於XML是一種樹狀的資料結構,所以他的語法模式與我們傳統的資料表不一樣,我們的XML檔案中定義了<web>…</web>及<game>..</game>這樣的標示,表示的是我在前面資料表設計中的cate分類,在此標識塊中的部分,即為屬於這一分類的項目。
然後再在<web>…</web>這樣的塊中定義每一條記錄,如

<project name="EC ONLINE GAME" src="ec.swf" intro="線上遊戲"/>

一條資料的內容。

好了,現在看看FLASH介面的準備情況

OK!介面上的內容基本上如此了,如果需要更多功能,就自己再增加各種MC之類的了
我們在FLASH的第一幀寫上關鍵的語法部分

<第二段代碼>代碼複製框
//第二段代碼START stop(); //將data.xml檔案加載 infoDefault = ""; showSrc = ""; nowBtnName = "no"; nowNum = 0; xmlObj = new XML(); xmlObj.ignoreWhite = true; xmlObj.load("data.xml"); //XML檔案所在位址 xmlObj.onLoad = function(success) { if (success) { trace("XML加載完成!"); parseXML(); //分析XML檔案的函數 } else { trace("XML加載失敗!"); } }; //建立三個陣列以便載入XML中的資料 arr_web = new Array(); arr_animation = new Array(); arr_game = new Array(); //分析XML檔案 function parseXML() { //分別將web,animation,game的資料,裝入arr_web,arr_animation,arr_game三個陣列 web = xmlObj.firstChild.childNodes[0].childNodes; for (var i = 0; i<web.length; i++) { arr_web = new Object(); arr_web.info = web.attributes.name; arr_web.src = web.attributes.src; } animation = xmlObj.firstChild.childNodes[1].childNodes; for (var i = 0; ianimation.length; i++) { arr_animation = new Object(); arr_animation.info = animation.attributes.name; arr_animation.src = animation.attributes.src; } game = xmlObj.firstChild.childNodes[2].childNodes; for (var i = 0; igame.length; i++) { arr_game = new Object(); arr_game.info = game.attributes.name; arr_game.src = game.attributes.src; } //處理完畢,跳入顯示頁 gotoAndPlay(2); } //顯示圖示函數,點擊介面上的一個分類,通過此函數將分類下的內容作為圖示繪製在畫面中 function showIcon(cate) { nowNum = eval("arr_"+_root.currCate).length; if (nowNum != 0) { //清除上一組圖示 clearIco(nowNum); } fileIconX = 435; fileIconY = 150; //—此部分放進MC中 for (var i = 0; ieval("arr_"+cate).length; i++) { fileIcon.duplicateMovieClip("ico"+i, i); temp = eval("ico"+i); temp._x = fileIconX; temp._y = fileIconY; temp_name = eval("arr_"+cate); temp.vari = temp_name.info; temp.src = temp_name.src; //設定每個圖 標的RollOver,RollOut,及Release事件 temp.onRollOver = function() { //RollOver時,將此圖示表示的項目名稱顯示在文字方塊中 proinfo.text = this.vari; }; temp.onRollOut = function() { proinfo.text = infoDefault; }; temp.onPress = function() { //按下按鈕,在左邊將此項目的swf檔案loadmovie進來 infoDefault = this.vari; showSrc = this.src; loadContent.loadMovie(showSrc); }; fileIconX += 27; //設定每個圖示的位置,超過8個,換一行畫圖示 if (i%9==8) { fileIconX = 435; fileIconY += 28; } } } //清除上一組圖示的函數 function clearIco(nowNum) { for (var i = 0; i=nowNum; i++) { eval("ico"+i).removeMovieClip(); } } //第二段代碼END
[Ctrl+A 全部選取 然後複製]

OK,功能的代碼都編寫完成了,現在將他應用到我們的三個分類按鈕web,animation,game上面
在web按鈕的action中寫上:

<第三段代碼>代碼複製框
//第三段代碼START on (release) { showIcon("web"); _root.currCate="WEB"; } //第三段代碼END
[Ctrl+A 全部選取 然後複製]

以此類推寫出其它2個按鈕的release事件。

到此為止我們就設定完整個FLASH了,可以測試一下看是否能把XML檔案加載,並轉換成相同數量的圖示按鈕顯示出來,使用者點擊相應的圖示,就能將此作品的關聯swf檔案loadmovie進場景中瀏覽了。

——————————————————————————–
【文章標題】: (使用FLASH+XML構建)簡單易更新網站
【文章作者】: Flash 動畫製作教學密訓基地
【作者信箱】: ster168ster@gmail.com
【作者首頁】: http://por.tw/flash/
【Flash 動畫製作教學課程】: http://por.tw/flash/new-E_learning/index.php
【基地主機】: http://goto1688.com/flash/
【版權聲明】: (原創)Flash 動畫製作教學密訓基地,轉載必須保留完整標頭。刪除者依法追究!
——————————————————————————–
以後如果要增加web分類下的新作品,就可以直接在xml中加一條資料就行,flash檔案本身就可以不做任何修改了,應該說相當方便了。
XML的資料描述功能在此發揮了最大的作業,他自訂標示,樹狀的資料組織形式直接能被flash作為XMl物件進行讀取,相當方便易用。
不過flash目前還不支援直接修改xml檔案(如果要實現通過flash修改xml檔案,必須通過別的asp或php類似腳本),否則的就可以直接用flash做基於xml的小型資料庫網站或應用程式了。

本例的源檔案中並沒有完成全部的功能,只做到XML讀入並根據XML的內容排序圖示及文字
其它XML中的欄位及讀詳細作品的功能大家可以根據此例內容自行開發,相信一定能做出更好的FLASH+XML動態網站。

——————————————————————————–
【Flash 動畫製作】你在摸索如何製作 Flash 動畫及發佈到網站嗎?有【技術顧問服務】可諮詢嗎?
當問題無法解決你要發很多時間處理(或許永遠找出答案)那就是自己摸索 Flash 動畫製作痛苦的開始!
購買【Flash動畫製作教學】DVD課程,就可獲得【Flash 動畫製作】技術【顧問諮詢服務】!

 Flash Design

您發生Flash+xml不能正常顯示中文嗎?產生中文亂碼嗎?
總教頭教您解決的方法如下:
有些網友遇到XML中文顯示的問題,之前從未開啟過XML檔案,但是這種菜鳥問題,在網上搜尋了N多結果,面對這麼多人的求助,解答都不夠全面
試了多種方法還是不能標準顯示,我們來研究一下吧!

1.先確定你的網站編碼(是utf-8?還是Big5)
例如 網站編碼是utf-8:
首先說的最多的就是 utf-8 編碼問題,用記事本開啟,然後第一行修改成:encoding="utf-8",再另存新檔UTF-8,記得編碼選取UTF-8格式!
不管是開啟別人檔案,還是自己儲存的,這點要保證。

如果還是不能標準顯示,繼續下一步:

2.開啟flash源檔案,找到要處理的動態文字:
只改字型是不起作用的,測試用中文、英文字型 都是可以的,

動態文字屬性
但需求配合修改

1、加入濾鏡一種濾鏡效果,可以顯示出中文,但是仍然有鋸齒
隨便加個濾鏡,可以把數值改為0,所謂的0濾鏡
但是有鋸齒

2、點擊「內嵌…」,選取「全部」,確定。查別人分享的資料時,有的寫選取中文或繁體中文,但是那樣,會使一些符號變成亂碼
有人說選取繁體中文 或是 中文 或是 選取不內嵌,但都會出問題,我是選取全部

——————————————————————————–
【文章標題】: Flash+xml不能正常顯示中文嗎?產生中文亂碼嗎?(解決方法)
【文章作者】: Flash 動畫製作教學密訓基地
【作者信箱】: ster168ster@gmail.com
【作者首頁】: http://por.tw/flash/
【Flash 動畫製作教學課程】: http://por.tw/flash/new-E_learning/index.php
【基地主機】: http://goto1688.com/flash/
【版權聲明】: (原創)Flash 動畫製作教學密訓基地,轉載必須保留完整標頭。刪除者依法追究!
——————————————————————————–
※、還有一種情況就是,在flash中加入system.usecodepage = true;或是是false;
useCodePage 屬性:
一個布林值,它告訴 Flash Player 使用哪個內碼表來解釋外部文字檔案。
當該屬性設定為 false 時,Flash Player 使用 Unicode 解釋外部文字檔案。
(儲存這些檔案時,必須使用 Unicode 對其進行編碼。)
當該屬性設定為 true 時,Flash Player 使用運行播放器的操作系統的傳統內碼表來解釋外部文字檔案。
useCodePage 的預設值是 false。

作為外部檔案加載(使用 flash.display.Loader.load()、flash.net.URLLoader、flash.net.URLStream 或 XML 類)的文字必須已使用 Unicode 編碼格式儲存,這樣 Flash Player 才能將它識別為 Unicode。
若要使用 Unicode 對外部檔案進行編碼,請在支援 Unicode 的應用程式(例如,Windows 2000 上的「記事本」)中儲存這些檔案。

如果加載的外部文字檔案不是 Unicode 編碼格式,則應將 useCodePage 設定為 true。
在將加載資料的 SWF 檔案的第一幀中,在最前面加入以下代碼,使之成為第一行代碼:

System.useCodePage = true;

總之現在是標準了,和更多菜鳥分享一下解決方法,希望對你有幫助!

——————————————————————————–
【Flash 動畫製作】你在摸索如何製作 Flash 動畫及發佈到網站嗎?有【技術顧問服務】可諮詢嗎?
當問題無法解決你要發很多時間處理(或許永遠找出答案)那就是自己摸索 Flash 動畫製作痛苦的開始!
購買【Flash動畫製作教學】DVD課程,就可獲得【Flash 動畫製作】技術【顧問諮詢服務】!