2011年4月21日 星期四

米蘭數位 2011 暑期實習生種子團, OPEN



熱血澎湃的你,肯定不甘心暑假就這樣浪費掉了吧!
2011米蘭種子團即將展開!
各種Mission Impossible的全新類型實習課程,
只為了瘋狂擒住想在業界偷跑的你!(真的沒有要你賣身的意思,喂~)
事實上,除了替大學生活加點商場的辛辣調味外,
主要是透過學習,能幫助你更快速的瞭解數位行銷,早一步下手職涯規劃喔!


想瞭解米蘭:http://medialand.com.tw/
快加入米蘭文化:http://medialand.com.tw/blog/default.asp

1.報名期間:4/22 (五)~5/22(日) 00:00止
2.面試期間:5/23(一)~6/1(三) 19:30止,錄取通知:6/6(五)
3.實習時間:7/4(一)-8/26(五)
4.面試工具:除了以下必備的應徵文件外,吃飯的傢俬-筆電兄也要一起跟來嘿
5.應徵文件:參與應徵者請務必提供以下內容
A.個人基本資料
姓名、生日、聯絡方式、學經歷、待修學分list、並附上近期清晰照片乙張
B.我的網路履歷表
i.使用網路的年資
ii.使用或造訪過哪些網站,其中最喜歡哪個網站?為什麼?
iii.你的個人平台連結與介紹 (例如:Blog、Plurk、twitter、FunP、facebook、flickr、delicious、黑米…)
iv.你在虛擬的網路中,有哪些傲人的身份或成績?
(例如:線上遊戲團長或幹部、巴哈姆特Lv3等級以上、噗浪的Karma超高、擔任過批踢踢小天使或版主、在youtube或blog上的作品曾經被廣為傳閱…)
C.個人作品集(或作品網站、部落格)
D.我的熱情宣言
i. 你所認知的米蘭,以及想來米蘭實習的原因
ii. 你最喜歡米蘭的作品及原因


網站企劃實習 x 2名
媒體企劃實習 x 1名
設計實習 x 2名
互動技術實習 x 1
.net程式設計實習 x1

報名網址:http://medialand.com.tw/blog/article.asp?id=1325

2011年4月9日 星期六

關於 Flash Preloader

大家好,我是奶綠茶
今天來講解一下關於 Flash Preloader 的概念
在製作 Flash WebSite 時, 為了避免一開始讓使用者等太久
所以都會製作一個 Loading 的畫面, 讓使用者知道目前的載入進度
有許多人問我,為何當畫面出現時, 己經載到百分之30以上
因為 Flash 至少要載入完畢第一個影格的資料, 才會出現畫面
曾看過設計師為了要讓 Loading 美美的, 放了一個 1mb 的影片動畫
結果當然是一片白, 什麼都看不到。
所以應該要避免
1.第一個影格上有太多的元件、圖片
2.Library 裡的元件,如果有選“匯出到第一個影格時“,也會增加第一影格的大小。
要決解這問題最好的方法就是
方法一:
把 Loading 製作成一個獨立的 swf 檔
用該檔去載入你的主 swf 檔

方法二:
或是可以使用 FlexSDK 裡的 [Frame(fractoryClass="預載用的類別名稱")] 表籤
今天就來解說這樣的製作方法
主程式 Main.as 和一般的寫法都一樣,只要在上方加入該 Tag
package {
 import flash.display.Bitmap;
 import flash.display.Sprite;
 import flash.events.Event;
 [Frame(factoryClass="Preloader")] // 指定預載用的類別為 Preloader
 public class Main extends Sprite {

  [Embed(source='buttle2007.jpg')] //放一張照片測試用
  public static const JPG:Class;

  public function Main():void {
   if (stage)
    init();
   else
    addEventListener(Event.ADDED_TO_STAGE, init);
  }
  private function init(e:Event = null):void {
   removeEventListener(Event.ADDED_TO_STAGE, init);
   // entry point
   addChild(new JPG() as Bitmap);
  }
 }
}

Preloader.as
用 EnterFrame 去偵測影格是否載入完畢
完成後,使用 getDefinitionByName("Main") 把 Main 類別找出並建構他。
package {
 import 略
 public class Preloader extends MovieClip { // 一定要 extends MovieClip
  private var m_tf:TextField; // 顯示用的文字
  public function Preloader(){
   if (stage){
    stage.scaleMode = StageScaleMode.NO_SCALE;
    stage.align = StageAlign.TOP_LEFT;
   }
   addEventListener(Event.ENTER_FRAME, checkFrame);
   loaderInfo.addEventListener(ProgressEvent.PROGRESS, progress);
   loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);
   // show loader
   addChild(m_tf = new TextField);
   m_tf.x = stage.stageWidth >> 1;
   m_tf.y = stage.stageHeight >> 1;
  }
  private function ioError(e:IOErrorEvent):void {
   trace(e.text);
  }
  private function progress(e:ProgressEvent):void {
   // update loader
   m_tf.text = int(e.bytesLoaded / e.bytesTotal * 100) + "%";
  }
  private function checkFrame(e:Event):void {
   if (currentFrame == totalFrames) {    
    stop();
    loadingFinished();
    startup();
   }
  }
  private function loadingFinished():void {
   removeEventListener(Event.ENTER_FRAME, checkFrame);
   loaderInfo.removeEventListener(ProgressEvent.PROGRESS, progress);
   loaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, ioError);
   
   // hide loader
   removeChild(m_tf);
   m_tf = null;  
  }

  private function startup():void {
   var mainClass:Class = getDefinitionByName("Main") as Class;
   if (parent == stage)
    stage.addChildAt(new mainClass() as DisplayObject, 0);
   else
    addChildAt(new mainClass() as DisplayObject, 0);
  }
 }
}
Compile時,要選的是 Main.as 檔喔
當這樣發怖後, 使用 decompile 軟體來看一下
會發現影格自動變成了二個影格, Preloader.as在第一影格

SourceCodeDownload
轉載請註明出處

2011年4月8日 星期五

Progression4 Framework 四月班,開課啦

想感受 Progression 帶來的便利性嗎
本班的重點是在介紹如何從網站架構規畫開始,製作出一個全 Flash 的網站,與以往不同的,本課程從 ActionScript 3.0 程式碼的角度重新解析網站架構與組成,創造出具有較佳的效能、以及擁有優良的程式擴展性的全 Flash 的網站,方便日後程式碼的更新與維謢需求。
再結合 swfAddress 功能,讓每一個 flash 片段單元都有自己的獨立網址,可以達到重點增強 Flash SEO 的效果。
本班的另一個重點是在於開發 Flash 組件,教您如何把常用的功能包裝成方便使用的組件,日後只需在參數面版上設定即可使用。同時再結合 Progression 技術, 將組件功能整合在一起,使其發揮更大的作用
課程報名:
http://www.flycan.com.tw/course/actionscript_framework.php