跳到主要內容

發表文章

目前顯示的是 四月, 2009的文章

虛擬髮廊網站

日本某一髮廊的虛擬網站,目前還在測試當中,虛擬預覽髮型設計用的......
按右邊橫條按鈕進入,然後按右側圈圈將自己照片上傳,
馬上就會看到自己的頭動起來,還可以放虛擬的髮型看效果。
https://virtual-preview.com/LE/

技術公司是來至
http://motionportrait.com/

小弟很榮幸曾在專案上使用過這個技術, 來分享一下心得
該技術是可以跟該公司承租, 是算時間的。
他們會給你一個OS(linux),所以需要有一台獨立的電腦來安裝該作業系統
伺服器端程式當然就是使用php啦
再會附上一個硬體鎖, 大小就跟USB一樣, 要使用該功能, 就一定要插上該硬體鎖
然後時間過後就會失效, 就需要再花錢跟他們租。

使用時也很簡單, Flash Call PHP,傳照片過去,然後機器就會分析照片
回傳.swf , flv , 或是圖片, 這些都可以在機器裡設定
裡面的code都幫你寫好了
所以只要載入回來就可以。

結論,只要有錢有預算, 有想法,要使用這個技術就不會太難。

09年米蘭實習夏令營 嗶嗶開跑!

一起ENJOY吧 ? 米蘭實習夏令營!
我們是為了彌補大學生活學不到的樂趣,
每天不斷做各種不可能挑戰的全新類型實習課程!
我們還會跟其他網路行銷公司交流,
所以,不小心就會交到很多朋友喲 (茶)

想知道米蘭有哪些傲人成績:http://medialand.com.tw/
想知道米蘭文化:http://medialand.com.tw/blog/default.asp

1.招募職務與工作內容:

網站企劃實習 x 2名
平常專出點子、總是參與班級或社團的活動規劃、熱血十足、笑功一流、而且喜歡寫些有的沒的,甚至可能常被說是怪咖的你…對於網站企劃有興趣嗎?來試試看吧!

聯絡與收件窗口:Jenny 電話:27390000轉158
jenny@mail.medialand.com.tw 請標註:[應徵網站企劃實習]

媒體企劃實習 x 1名
對網路媒體、社群、網路生態一向敏銳的你,只要看到新網站就會忍不住想用用看,而且也不吝分享親朋好友使用最新的網路服務,想來挑戰這個對數字敏感、對創意總是有想法、而且超愛分享的媒體企劃嗎?也許你可以來試試看唷!

聯絡與收件窗口:Eric楊 電話:27390000轉156
eric-yang@mail.medialand.com.tw 請標註:[應徵媒體企劃實習]

互動程式設計實習 x 1名
對互動技術及RIA具有莫名的熱情與執著的你,可直接深入業界瞭解整個互動網站的開發流程,與互動團隊一起接觸日新月異的新技術討論及開發,保證一夜白髮!

Asp程式設計實習 x 1名
你是否邏輯超強、變通快,而且寫程式時還熱愛追求最精簡的行數?你是否想開開眼界,嘗試步調超快、體驗傳說中的現實環境?快來加入我們,增加自己的實作經驗,還能與前輩們一起精進實力喔!

聯絡與收件窗口:Kevin 電話:27390000轉168
Kevin@mail.medialand.com.tw 來信請標註:[應徵asp程式實習] or [應徵互動程式實習]

視覺設計實習 x 2名
一到誠品就先去設計書區,有著人人稱羨的美感,主動積極、大家都說和善有禮貌的好學生,可以瞭解業界網站設計流程、設計發想,還可以實際協助設計網站喲!

聯絡與收件窗口:Melody 電話:27390000轉167
melody@mail.medialand.com.tw  請標註:[應徵視覺設計實習]

2.報名期間:4/14(二)~5/4(一) …

station's golf

好玩的Flash又來了喔
這次是在車站打高爾夫球,對準人物,打擊
可以有combo連發,分數會更高,
http://www.skt-products.com/contents/ekigolf/
使用httpfox去查看他所下載的格式,
發現是使用m3d,搭配Flash10製作。
不知道是不是用自已開發的3D Engine

PV3D_PaperFlip

使用as3mod來製作Flip效果
還有zupko的ShadowCaster類別製作Shadow效果

可以參考這個作者分享的原始碼
http://lab25.com/Blog/?p=74

Fluorine新手上路篇

Fluorine之好用一定要來寫篇教學的啦。
1.安裝Microsoft Visual 2008
可以到這兒下載免費的開發版
http://www.microsoft.com/express/download/
選擇紫色的 Visual Web Developer2008 語言當然選繁中版的喔
下載完成就開始安裝, 然後一直下一步下一步到不能下一步。
2.安裝FluorineFx
可以到這兒免費下載
http://www.fluorinefx.com/download.html
下載完成後, 開始安裝, 也是一直下一步到不能下一步。
3.開啟VS2008
選擇上方工具列:檔案/新增/網站

會出現一個設定面版
選擇FluorineFx ASP.NET Web Site
下方的路徑存在本機路徑
語言選擇C#(VB也可以, 只是我很不熟VB)


設定好後,即可在VS2008看到這樣的檔案結構

5.新增類別檔。
在專案面版上,按下右鍵, 選擇加入新項目。

填上類別名稱:FxRemoting.cs ,選用C#語言。

按下確定後會出現一個訊息, 問你是不是要把.cs的檔放在App_code資料夾下,選擇是

5.C Sharp程式碼:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using FluorineFx; using FluorineFx.AMF3; // C#的 namespace,相當於Flash的 package namespace milkmidi { [RemotingService("milkmidi Fluorine sample service")] //這行一定要加, 否則會無法使用RemotingService。 public class FxRemoting { public FxRemoting() { } public string helloWorld() { return "FxRemoting return HelloWorld"; } } } 6.完成後,在VS2008的方案總管面版上,找到Console.aspx,按下右鍵,
選擇在瀏覽器中檢視。

直接就可…

FluorineFx

http://www.fluorinefx.com/
FluorineFx是什麼呢
其實就是ASP.net的remoting技術
php版可以使用amfphp。
用remoting跟傳統的get,post傳值有什麼差別。
1.get和post很容易就被一般的軟體攔到, 傳輸過程不安全
remoting走的是amf格式, 傳輸過程有加密過(雖然還是有軟體攔的到, 但至少安全些)
2.get和post只要知道呼叫的檔案路徑, 即可自已寫程式去呼叫傳值
remoting在呼叫時, 會受到flash跨網域安全性限制。只要是不同網域的呼叫通通檔掉。
3.get和post只能用字串來傳送
remoting可以傳送物件, 傳Array,Object給.net,或是.net回傳Array,Object型別給Flash
連ByteArray都可以互傳。
最酷的是,自定的ValueObject也可以傳送, 省去轉型的工。
4.FluorineFx有一個Console介面, 能方便在線上直接測試
這樣後端工程師就不需要等我們開XML格式, 他們可以先寫先測。
5.FluorineFx支援Rtmp的通訊協定, 不需要用到FlashMediaServer
即可達到線上錄音錄影, 並產生實體的.flv格式
6.FluorineFx支援ShareObject, 可以完成同時間多人線上互動(奶小茶我測試過, 可以使用, 但效能的部份我還沒有測過。)
7.FluorineFx是OpenSource, 開發或是使用不需要任何的費用。
最近的幾個專案都是和後端工程師使用FluorineFx技術
在開發時程上真的快很多, 以後就會是採用這樣的方法來運作。
很值得研究。
有空再來補上教學好了
可以先到這裡學習
該作者寫了很多的文章和教學檔。
http://www.riafan.com/default.asp

安裝FlashDebugPlayer

再發開Flash的時候, 經常會需要查看trace的資訊
但總是只有在fla編譯時才看的到, 如果想要線上debug或是FlashDevelop要使用呢
1.安裝flashDebugPlayer
http://www.adobe.com/support/flashplayer/downloads.html
IE請安裝
Download the Windows Flash Player 10 ActiveX control content debugger (for IE) (EXE, 2.03 MB)
FF請安裝
Download the Windows Flash Player 10 Plugin content debugger (for Netscape-compatible browsers) (EXE, 1.99 MB)

安裝FireFox Flash tracer元件
http://www.sephiroth.it/weblog/archives/2006/10/post_1.php
下載完成後, 即可開啟tracer面版, 這樣只要Flash的trace資訊通通都會輸出在該面版

如果是本機的FlashPlayer要使用Debug版呢
預設的FP位置在
C:\Program Files\Adobe\Adobe Flash CS3\Players\FlashPlayer.exe
找到
C:\Program Files\Adobe\Adobe Flash CS3\Players\Debug\FlashPlayer.exe
把本來的蓋掉即可
這樣FlashDevelop的輸出面版也可以補抓的到trace資訊

AS3 Gif Player

Flash預設只能載入的圖檔格式jpg,png,gif
但gif載入後只會只有一格
想要載入後能有本來的動畫呢?
AS3開始支援ByteArray, 只要知道該格式編碼
就有辦法載入到Flash裡。
該作者包裝成類別
GifPlayer是繼承Sprite的可視物件
http://www.bytearray.org/?p=95
使用方法用簡單:

<br />var myGIFPlayer:GIFPlayer = new GIFPlayer();<br />//建構GIFPlayer類別。<br />addChild ( myGIFPlayer );<br />//加入至可視物件容器裡。<br />myGIFPlayer.load ( new URLRequest ("http://somedomain.com/a.gif") );<br />//載入。<br />myGIFPlayer.play();<br />myGIFPlayer.stop();<br />myGIFPlayer.gotoAndStop ( frame);<br />就把他當成MovieClip來使用就可以了<br />

AS3.0網站架構程式碼設計新手篇。

AS3.0網站架構程式碼設計新手篇。
來講解一下一般網站在程式碼設計時, 應該要怎麼製作
第一篇奶老師我所寫的方法
是採用所謂的"直覺式"寫法。
按下A按鈕,叫b和C做事情。
按下B, 叫D做事情, 很直覺

接來來會有進階篇和物件導向篇。
寫時間軸的方法我就不多加介紹。
Step1:建立類別包資料夾
好比客戶公司是:milkmidi
這次專案名稱是:demo
那資料夾結構就會是
milkmidi--demo
然後再依不同的fla開啟對映的資料夾
首頁是index.fla, 就會搭配一個IndexMain.as檔
路徑如下:
milkmii--demo--index--IndexMain.as
所以類別包的寫就也就是
package milkmidi.demo.index{
public class IndexMain extends MovieClip(){}
}

Step2:因為一個專案, 除了專案的類別檔, 還會再額外的使用其他類別。
這樣資料夾會有一大堆, 不好管理。
所以會再加開一個名為src的資料夾
把所有的類別通通放被去。
這時候的資料夾結構為:
src--milkmidi--demo--
那是不是類別包路徑也要跟著改, 在這兒是不需要的
新增一個index.fla檔, 並放在跟src資料夾下
在下方的工頁面版, 發怖設定
點選ActionScript version選單右方的 Settings按鈕
新增一組Classpatch路徑:./src

這樣當發怖的時候就會去抓src資料夾裡的類別。
同時把 Automatically declare stage instances的選項取消。

Step3:確認網站單元架構
因為for教學, 所以我們單純一點
點選選單, 會載入其他的swf。
同時會切換網站左上角display_mc裡的文字。
而外部的swf也只要製作二個, 分別為about.swf和link.swf。

Step4:撰寫IndexMain.as
因為我們把自動宣告場景上的實體選項取消了
所以場景上的實體名稱需要在類別裡宣告一次, 並設成public
但不需要建構。
public var display_mc :MovieClip; //影格二,左上角的物件。 public var navigationContainer_m…

jiglib改版新功能

jiglib又推出新的功能啦
使用上覺得更好用更直覺
只要使用createCube這樣的函式
同時會建立PV3D物件和jiglib物件
相當方便, 效能也比前一版好一些些

用串連貼紙來玩串連貼紙

用串連貼紙來玩串連貼紙
以往的串連貼紙, 就是在blog給你一個框框, 然後有該網站的logo
按下去就連結過去,
再進化一點
串連貼可以怖滿整個blog, 但可惜的是台灣許多知名blog都會檔這個程式
法樂的blog發現一個有趣的串連貼
一樣點擊後會佈滿整個blog, 播完動畫後, 就會自動幫你連接到下一個有該串連貼的blog
你可以這樣一個一樣的連下去,好玩,有創意

PV3D_Box2D

最近在認真的研究Box2D
還真是有趣, 但也真的還滿難懂的
試寫了一下,結合PV3D一起使用的物理效果。



類似的效果其實還滿多人寫過的
http://www.lamberta.org/blog/paperbox2d/
http://pv3d.org/2008/12/22/papervision3d-with-box2dflash-part-4-distance-joint/

ActionScript3.0 記憶體釋放問題_part2

ActionScript3.0 記憶體釋放問題part1
繼第一篇的教學後,再補上第二篇
在AS3和AS2最大的不同點是
AS2的物件從場景上消失後, 大部份的功能都會被自動移除
這點在AS3則是完全不會被移除
一般同學可能會認為把他removeChild就可以, 但會發現載入越多越lag。
除了要手動把全有的事件都取消, 聲音, 影片等也都要關掉
如果是Flash10的話
Loader物件有個該的方法可以直接使用:
unloadAndStop();
* 聲音已停止。
* 舞台事件偵聽程式已移除。
* enterFrame、frameConstructed、exitFrame、activate 和 deactivate 的事件偵聽程式已移除。
* 計時器已停止。
* Camera 和 Microphone 實體已拆離。
* 影片片段已停止。
這些都會幫你自動的停掉, 相當的方便

Keyboard控製選單

這個標題還真的不知該怎麼下
學生提到的問題, 是要製作在channel上
必需要使用上、下、左、右、Entry鍵來控製
就讓我想起我的第一份工作也是製作一樣的東西
Windows MCE,三年前有聽過
三年後的今天, 嗯嗯, 看起來還是"有聽過"。
寫了一個類別專門在控管Keyboard事件。
沒有做優化, 沒有寫防呆程式
所以一直按右、右、右或是左、左、左
就會出現錯誤。




SourceCodeDownload

FlashMacStyleNavigation

其實也不是什麼新的效果
使用FlashAS3來設計Mac的選單





SourceCodeDownload

milkmidi MyTween1.5

改了n次, 總算是比較寫到完整
奶老師稱這個類別為:MyTween
效果很單純, 只是要用來正播、倒播影格
同時還可以加上加速、delay、onComplete等的設定
需要使用時, 需要先import類別
import milkmidi.utils.MyTween;
假設需要正播目前的影格到最後一格時就自動停止
就寫
MyTween.play2(this);
倒播就寫:
MyTween.playBack(this);
其他的說明
<br />MyTween<br /> static medthod:<br /> play2(目標物件:Object , parameters:Object = null)<br /> 正播到指定的影格, 預設是目標物件的最後一個影格。<br /> <br /> playBack(目標物件:Object , parameters:Object = null)<br /> 倒播到指定的影格, 預設是第一個影格。<br /> <br /> go(目標物件:Object, 目標影格數:uint , parameters:Object = null)<br /> 自動判斷正播或是倒播到指定影格數。<br /> <br /> parameters可使用的選擇性參數:<br /> frame:uint, 直定的影格數。<br /> delay:Number, 延遲幾秒後才開始執行。<br /> speed:uint, 播放的速度, 預設為1。<br /> onComplete:Function, 當該MyTween跑到指定的影格數時, 可以被呼叫的函式。<br /> <br /> ex:<br /> MyTween.play2(this , <br /> {<br /> frame:10,<br /> speed:1<br /> });<br /> 播放目前的時軸間到第10個影格, 速度為2倍。<br />
SourceCodeDownload

ADDED_TO_STAGE

AS3
Event.ADDED_TO_STAGE事件。
原文的說明:
加入至舞台上顯示清單的 DisplayObject 實體,方式為直接加入或透過加入包含 DisplayObject 實體的子樹狀結構來加入。 如果直接加入 DisplayObject 實體,便會在此事件之前發生 added 事件。
簡單來說,就是該可視物件被加入至場景上會發生的事件

stage屬性, 可視物件DisplayObject擁有的屬性
就像parent和root屬性一樣,都是唯讀
stage屬性一開始為null ,當可視物件被加入至場景上後 stage屬性會有值
所以在建構函式時就偵聽stage的話,就會發生"無法取存null的屬性或方法"
所以我們改寫一下

<br />package { <br /> import flash.display.MovieClip;<br /> import flash.events.Event;<br /> <br /> public class ChildMC extends MovieClip{ <br /> <br /> public function ChildMC() { <br /> trace(stage);<br /> //如果該檔是直被被執行, 沒有被載入的情況下, stage屬性會有值,<br /> //如果是被載入, 一開始的stage會是null<br /> //所以一開始對stage.addEventListener事件, 就會發生錯誤。<br /> <br /> this.addEventListener(Event.ADDED_TO_STAGE , addToStageHandler);<br /> //偵聽Event.ADDED_TO_STAGE事件,<br /> //該事件指的是,當自已被加入場景上時,會觸法該事件<br /> //因為被加入到場景上, 所以之後的stage屬性就不會是null<br /> <br /> this.addEvent…