跳到主要內容

發表文章

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

PV3D2.0 Snippets Panel for Flash

是否一直記不住PV3D類別的使用方法呢? 來安裝這個 PV3D Snippets Panel 吧 下載後解壓縮檔, 即是.mxp格式 點二下安裝該外掛,重新啟動FlashCS3或是CS4 在windows裡的other Panel即可找到該面版 有一系列的PV3D類別, 點一下你需要的, 再按下copy to clipboard 再到影格貼上就會有程式碼了, 真是方便呀 如果想要該面版的原始碼,可以到 http://gotoandlearn.com 下載 該作者有分享

AdobeCS4繁體中文式用版下載

在adobe的官網, 可以下載一系列的CS4試用版本 但就是找不到繁中版。 經由友站的介紹, 繁中版在英文的adobe站是找不到的 要把語系切到韓語www.adobe.com/kr找有繁中版。 這個還真的是!@#&U%(@#%。 看不懂韓語沒關係, 下載時的語言只要選擇最後一個就是繁中版的。 安裝好後, ya是的, 繁中版的DreamweaverCS4。 有圖有真相。 其他系列的軟體也是一樣的下載方式,就可以繁體中文版了。 2009.02.05更新, 感謝菜鳥梅子同學提供的資訊 在英文的官網, 下載試用版, 選擇韓語版, 不用懷疑。 安裝好了, 就會是繁體中文版了。 這個還真讓我無言。

Queasy Tools Panel v1.5.0

身為Flash的使用者, 這個組件奶小茶我100%推薦呀。 他是安裝在Flash CS3/CS4的組件面版外掛, 透過該面版的功能 可以幫你快速的完成一些煩人的步驟。 1.快速使用Easing的方式建立影格上的Tween動畫,。 2.圖層可視開關。 3.Library裡的JPG smooth功能開啟。 3.對齊場景左上角。 4.自動大小寫。 5.拷貝座標位置。 6.快速翻轉。 下載該.mxp, 使用Adobe Exchange Manager開啟即可 再重新啟動Flash CS3, 在windowls裡,選擇其他面版就可以找到。

Mockups For Desktop

一個很有趣的桌面拉Layout應用程式 http://www.balsamiq.com/products/mockups/desktop#download 使用Adobe AIR所開發的桌面應用程式, 有許多現成的小工具能直接托拉置放。 不知道對企劃大大們還有設計大大們在設計時會不會有幫助。 我覺得還滿有趣的軟體 線上youtube影片檔。 http://tw.youtube.com/watch?v=zLysy3IPfFI

新案上線_資生堂心機專館

美美的資生堂心機美人又來了 今年度換了心機代言人 依然是美麗閃閃呀。 這次的專案為了讓底圖能附合每位使用者的解悉度, 還不能被切到, 也不能變型, 所以寫了一個類別來專門除處這樣的需求。 http://mq.shiseido.com.tw/#/newsproduct200901/ 點選網址後, 進入單元裡的四位Model主圖, 可以試著縮放Browser的大小 圖片都可以自動的縮放。 也分享奶小茶我所寫的程式碼: Stage.scaleMode = "noScale"; Stage.align = "TL"; import milkmidi.utils.ResizeObject; var resizeObj:ResizeObject = new ResizeObject(); /* resizeObj.addResizeTarget(目標物件:Movieclip, x軸的對齊:Number, y軸的對齊:Number, 縮放方式:String); 目標物件:要對什麼可視物件做縮放, as2只有MovieClip可以。 x軸的對齊:0表示對齊畫面左邊,0.5畫面中正間,1畫面的右邊。 縮放方式有三種: RESIZE_FULL:自動滿版。 RESIZE_WIDTH:以寬度為主。 RESIZE_WIDTH:以高度為主。 */ resizeObj.addResizeTarget(this.keyVisual_mc, 1, 0, ResizeObject.RESIZE_WIDTH); /*設定最小寬、高, 當小於該值時就不在縮小*/ resizeObj.setMinSize(800, 800); SourceCodeDownload

BannerSlide效果

學生提到的問題 Demo效果: http://www.uniqlo.com/jp/ 上方的Banner輪播怎麼製作的呢? 1先製作數字的MovieClip元件, 做好RollOver動畫和RollOut動畫。 2使用Timer來當作自動播放器。 var numberContainer:Sprite = new Sprite(); //下方數字的容器。 numberContainer.y = 375; this.addChild(numberContainer); var itemOfNumber:int = 4; //圖片數量。 var currentIndex:int = 0; //目前播放的索引值。 var timer:Timer = new Timer(3000,0); //Timer,用來自動播放下一張圖片。 timer.addEventListener(TimerEvent.TIMER,onTimer); //偵聽事件。 timer.start(); //啟動Timer。 var ldr:Loader = new Loader(); this.addChildAt(ldr,0); for (var i:int = 0; i itemOfNumber-1){ currentIndex = 0; //因為有自動播放的功能, 避免圖片索引值一直越上加。 } var _currentMC:MovieClip = numberContainer.getChildByName("item" + currentIndex) as MovieClip; _currentMC.gotoAndPlay("over"); ldr.load(new URLRequest("images/" + currentIndex+".png")); //讓現在的數字。 } 補充:2009_2_15, 增加XML版和圖片連結功能, 請重新下載 SourceCodeDownload

Flash 3D physics engine

等候已久的Flash 3D physics Engine出現啦 名稱為:jiglibflash http://code.google.com/p/jiglibflash/ 結合PV3D直接使用, 開心, 不需要再重學。 使用方法也很簡單 在建立PV3D物件後, 再建立對映的Physics物件 如: new Cube之後 再建立一個JBox來對映 目前支援的碰撞物件有,球體、方塊、Plane。 也支援鏈結的效果。 奶小茶將官方的Demo改寫成自已的Demo。 原始碼: /* Example Flash 3D Physics version 0.25 with timestep Control by : arrow keys and space bar 3D physics used : jiglibflash (http://code.google.com/p/jiglibflash/) 3D renderer used : Papervision 3D (http://code.google.com/p/papervision3d/) Credits : Muzer Demo by : milkmidi */ package { import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageQuality; import flash.display.StageScaleMode; import flash.events.Event; import flash.events.MouseEvent; import flash.utils.getTimer; import jiglib.geometry.JBox; import jiglib.geometry.JSphere; import jiglib.math.JMatrix3D; import jiglib.math.JNumber3D; import jiglib.physics.PhysicsSystem; import jiglib.physics.constraint.JConstraintPoint; import org...

2009_Portfolio

感謝1/11當天所有到場的朋友 一起來參於分享會, 因為時間的關係, 所以並沒有把全部的作品Demo完。 完整的Demo可以點擊這兒欣賞。 http://portfolio.milkmidi.com/ 待有空時, 我再把相關的原始碼整理好讓大家下載學習。 Copwer和D.CAT的分享也是很精彩。 期待下次的分享會。

Flash_加入我的最愛

在製作網站, 想要讓使用者快速的加入我的最愛 在Flash裡要怎麼製作呢? 加入我的最愛的作法, 一定需要使用JavaScript來製作 Flash本身沒辦法, 也不需要有此功能。 透過Flash去呼叫JavaScript來執行加入我的最愛函式即可。 程式碼: 方法1:將整個呼叫JavaScript的函式直接寫在Flash裡 這樣Html裡就不需要加寫JS的函式。 add_mc.addEventListener(MouseEvent.CLICK,onClick); add_mc.buttonMode = true; function onClick(e:MouseEvent):void { if (Capabilities.playerType == "ActiveX") { ExternalInterface.call("window.external.AddFavorite", "http://milkmidi.blopspot.com", "milkmidi.com"); } else { ExternalInterface.call("window.sidebar.addPanel", "milkmidi.com", "http://milkmidi.blopspot.com", ""); } } 方法二: 在html裡寫上JS的函式: Flash端使用 ExternalInterface.call("addFavorite") 呼叫該JS的函式即可。

PV3D2.0 Camera類型切換

PV3D2.0之後的版本 把TargetCamera和FreeCamera整合在一起了 也就是只有一個Camera3D類別 那怎麼切換呢? var camera:Camera3D = new Camera3D(); camera物件有個target屬性, 指的就是camera的鏡頭要看著誰。 當設定成camera.target = new DisplayObject(); 鏡頭就會看著新建立的3D物件座標,就會一直看著0,0,0座標。 就是TargetCamera。 要切換成FreeCamera的話, 就把target屬性設成null即加。 程式碼: package{ import flash.display.MovieClip; import flash.display.Sprite; import flash.events.MouseEvent; import flash.utils.getTimer; import milkmidi.papervision3d.Trident3D; import org.papervision3d.materials.ColorMaterial; import org.papervision3d.objects.DisplayObject3D; import org.papervision3d.objects.primitives.Plane; //匯入MovieClip類別。 import flash.events.Event; //匯入事件類別。 import org.papervision3d.view.BasicView; //匯入BasicView類別。 public class ToggleCameraType extends Sprite { //A01_BasicDocument類別, 繼承MovieClip。 private var view:BasicView; //宣告view變數為BasicView物件。 private var isTargetCamera:Boolean = true; private var btn:TestButton; public function ToggleCameraType():void{ //建構函式, 該類別被實體化時, ...

Flash10 Pendant

之前是使用PV3D來製作, 這次就直接用Flash10內建的3D來使用即可。 原理是一模一樣的, 其實我偷偷包了二層。 一層管rotationX,一層管rotationZ, 就可以有這樣的效果了。 原始碼 package { import flash.display.Bitmap; import flash.display.Sprite; import flash.events.*; import flash.filters.ColorMatrixFilter; import flash.geom.ColorTransform; [SWF(width="950", height="500", frameRate="47", backgroundColor="#eeeeee", pageTitle="PV3D milkmidi")] public class PendantDemo extends Sprite { [Embed(source="assets/milkmidiDemo.jpg")] private var Texture:Class; private var offsetX :Number = 0.1; private var clickForce :Number = 1.6; private var bounceForce :Number; private var bounceSpeedAcc :Number = 0; private var rotationYSpeed :Number; private var bounceSpeed :Number; private var bounceX :Number = 0; private var bounceAcc :Number = 0; private var rotationYAcc :Number = 0; private var friction :Numb...

PV3D 控製DAE

這個是之前PV3D官網所提供的Focus DAE模型, 我將其原始碼改成PV3D2.0的程式。 由Flash來控製模型的移動和轉旋。 使用鍵盤的上、下、左、右可以移動車子。 DAE是繼承DisplayObject3D, 所以也有x,y,z等屬性。 DAE裡面可以包含了許多的子系3D物件, 名稱的話, 就是在3D建模時取的名稱, 到了PV3D時會一樣。 所以可以使用getChildByName來取得子系物件 但較麻煩的是DAE包了很多層 以這個Focus.DAE來看 他的架構是: DAE ---- COLLADA_Scene ------Focus ------ Steer_FR 也就是車身是在第三層 而輪子是在第四層 SourceCodeDown 請用FlashCS4 , 或是Flex, FlashDevelop發怖 FlashCS3不支援Embed Tag 不然就自已改寫一下吧

PV3D2.0基本教學三_材質與物件

PV3D裡的可視物件建置, 都是一個物件, 貼上一個材質, 再被加入至Scene3D物件裡, 然後運算出來。 接下來我們試著建立一個Plane物件, 並貼上色彩材質ColorMaterial。 Plane類別是繼承DisplayObject3D, 所以擁有x,y,z等屬性。 new Plane(材質:MaterialObject3D, 寬:Number, 高:Number, 水平切面數:Number, 垂直切面數:Number); 參數1:材質,只要是任何繼承MaterialObject3D的物件,都可以被當作材質來使用。 參數2:Plane物件的寬度。 參數3:Plane物件的高度。 參數4:水平切面數。 參數5:垂直切面數。 切面數會影響到圖片的品質,切面越高,圖片能呈現的效果越好, 但相對的就需要更多的運算。 ColorMaterial類別。 色材材質, 只能是單一的顏色。 new ColorMaterial(色碼:uint,透明度:Number); 參數1:色碼。 參數2:透明度, 由0完成透明到1不透明。 package { import flash.display.MovieClip; import flash.events.Event; import org.papervision3d.view.BasicView; import org.papervision3d.materials.ColorMaterial; //匯入材質包裡的色彩材質。 import org.papervision3d.objects.primitives.Plane //匯入基本物件包裡的Plane物件。 public class A02_primitives_Plane extends MovieClip { private var view :BasicView; private var plane :Plane; //宣告plane變數, 型別為Plane。 public function A02_primitives_Plane():void { init3DEngine(); initPV3DObject(); } private function init3DEngine():void{ vi...

PV3D2.0基本教學二

設定PV3D類別檔, 可以參考奶老師的第一篇教學 PV3D2.0基本教學一 PV3D世界是由幾個基本的物件組合而成, 如果你有3D動畫的製作經驗, 應該很好理解, 如果沒有也沒關係, 後面的許多範例會一一介紹到。 Viewport3D: 視圖窗口, 簡單來說可以想像是Flash裡畫布的大小, 也可以理解成算圖的尺寸。 Scene3D:整個3D的場景, 之後建立的3D物件都是被加入至其中。 Camera3D:PV3D的鏡頭, Camera3D是用來拍攝Scene3D的畫面。 BasicRenderEngine:算圖類別, 把所有的數據值結果運算成圖像。 像想一下你座在一台電視機前, 電視機的螢幕尺吋就是Viewport3D的大小 電視台的攝影棚就是Scene3D, 攝影機就是Camera3D, 當電視機收到訊號, 透過訊號轉換將數據運算成圖像, 這個工作就像是BasicRenderEngine類別。 流程即是BasicRenderEngine 運算Camera3D所看到的Scene3D世界, 並將畫面呈現在Viewport3D。 一次要記住四個類別對第一次使用PV3D的使用者可能會有些害怕。 新版本的PV3D 提供了一個整合的視圖類別BasicView。 該類別是繼承Sprite, 所以可以被加入至可視物件容器裡。 BasicView類別已包含了Scene3D,Camera3D,Renderer,Viewport四種物件, 不需要再另外建構。 因為PV3D畫面需要不斷的被更新, 透過Event.ENTER_FRAME事件不斷運算,即可一直更新畫面。 建立PV3D世界的步驟。 1.建立一個類別檔當作文件檔當別使用, 該類別必需是繼承MovieClip或是Sprite。 public class 類別名稱 extends MovieClip 2.匯入PV3D所需的類別。 import org.papervision3d.view.BasicView; 要一次匯入該類別包下的所有類別, 可以使用星號來代示。 import org.papervision3d.view.*; 3.宣告PV3D所需的相關變數 private var view:BasicView; view變數, 型別為BasicView。 4.建立i...

[創意講堂3] 札根 專業 迎向2009

專業人才會不斷磨練本身技能,致死方休,他們追求知識的好奇心永遠不會滿足~ 大前研一 年輕,是札根的時刻,現在的你準備好了嗎~ 張忠謀 2009/1/11 週日 下午, 將有五位精彩的構師分享工作上的專業經驗。 活動網址: http://funwish.net/?p=104 本次創意講堂內容規劃如下(實際內容將依講師群作調整): 2009/1/11 週日 下午 時間 主題 講師 13:30 開放進場 14:00 ~ 14:50 Papervision 3D & Flash CS4 奶綠 泡茶吃點心 15:00 ~ 15:50 Creation & Creative Web Design Cowper Wang 聊天哈拉 16:00 ~ 16:50 Adobe Flash Catalyst (Thermo) Jeremy 聊天哈拉 17:00 ~ 17:50 Coltrane (Wordpress 2.7) & Applications of the Social Network 陳嵩文 / 劉凱新 討論交流