Skip to main content

Posts

Smooth movement --- JUMP ACTION

這個教學是上一篇 Smooth movement in FL1.1的加強版,並加入了跳躍動作。在FL1.1中是沒有所謂的hitTest(),所以這邊利用了一個方法來達到簡易的碰撞測試,讓火柴人可以跳到移動平台上: 取得跳躍平台的方塊四頂點的座標,與跳躍 MC作座標檢測 call hitTest: (mc = main control movieclip's name) W =hitTestTarget._width/2; xMin = hitTestTarget._x-W; xMax = hitTestTarget._x+W; H =hitTestTarget._height/2; yMin =hitTestTarget._y-H; yMax = hitTestTarget._y+H; if (mc._x>xMin && mc._x if (mc._y>yMin && mc._y hitTarget =hitTestTarget; trace(hitTarget add " be hit"); mc._y = yMin; } } Key controler : on (keyPress "") { hitTarget = ""; if (!jump_co.jump) { trace("跳躍開始"); jump_co.ymov = -21; jump_co.jump = true; jump_co.status = "jump"; tellTarget ("mc") { gotoAndStop("jump"); } } } Jump controler 跳躍控制器(jump_co): if (jump) { ymov += 3; if (status eq "stand") { //在hitTest中,如果確定碰撞到平台,status會設定為stand jump = false; tellTarget (__target) { gotoAndStop("stand"); } } else { //drop eval(__target)._y...

Smooth movement in FL1.1

曾經玩過某家公司針對FL1.1所推出的動作冒險遊戲,但是對那個死板的左右鍵移動與Jump動作頗有微詞。 手機的反應不如電腦那樣即時,所以在動作順暢度調整上,需要作一點點的手腳。 也許接下來所提供的方法並不是最好的,但是希望可以給有心學習FL1.1的網友們一點啟發 =) hint: 使用時間來控制移動判定 原理:當使用者點選nevi-key(四方鍵)時,只宣告狀態與點選時間(getTimer()),利用一個不停迴圈的MovieClip來控制整個移動系統 key cacher action: on (keyPress "") { keyPressTime = getTimer(); move_co.left = true; } movement controler( a movieClip has two frames) action: if (left) { right = false; tellTarget (__target) { _x -= 3; gotoAndStop("left"); } num = getTimer()-/:keyPressTime; if (num>300) { left = false; tellTarget (__target) { gotoAndStop("stand"); } } } [下載原始檔] 本教學僅針對FL1.1語法版本,FL2.0不需要使用這種方法撰寫...=)

快快樂樂使用Shared Object

序上篇, 之前一直沒有很認真的看完Flash lite2.0中SharedObject的正確用法,又看到官方release出來的 Macromedia Flash Lite 2 Content Development Kit (CDK) 中MobileSharedObject class寫的落落長,腦袋瓜裡就想像可能使用起來很麻煩... 其實它的用法還是一樣簡單,只需要加入Listener來觸發載入事件: SharedObject.addListener("erin", loadCompleteSO); var mySO = SharedObject.getLocal("erin"); function loadCompleteSO(so:SharedObject) { if (so.getSize() == 0) { //初始化SO資料 so.data.count = 2; txt.text = "Shared Object 初始化!"; } else if (so.data.count != undefined) { txt.text = "這是你第"+so.data.count+"次播放本檔案喔!"; so.data.count += 1; } so.flush(); //更新參觀次數 } 測試環境:Nokia 7610

免費下載的Flash Lite1.1 player

Mobizines 剛剛在 Marco Casario 的blog看到了一個好消息,如果你沒有Flash Lite1.1 player的話,可以利用下載 Refresh Mobile 的 線上雜誌平台軟體 Mobizines 來取得免費的Flash Lite1.1player。安裝時需要透過網路取得player的授權碼,被授權的player會由 Refresh Mobile 付費,所以是合法的喲! 但是....由於Erin並未開通GPRS or 3G所以沒辦法肯定是不是真的可以安裝...請安裝成功的朋友回一下訊息吧! XD Edit 0330/2006 : 非透過其網站中所列出之電信下載,應該是無法正確安裝的

SharedObject的最大使用容量

Flash Lite2.0可以使用SharedObject,對手機遊戲或互動程式開發者是一個好消息,但是樂歸樂,它還是有一些限制條件: 單一swf只有4kb可以使用 總容量的最大值是由裝置決定。在S60的裝置上有256kb可以使用,在超過裝置容許最大值時會出現系統訊息(並非單一使用的4kb喔!),如果使用者選擇同意,系統將會清除"其他"舊的SharedObject data空出位子給正在播放的swf使用。 資料出處 由於手機的效能有限,SharedObject的使用需要特別注意讀取時差問題,Erin尚未特別研究,有興趣的可以參考 Ticore 的 FlashLite 2.0 SharedObject 測試 ,或者是由官方release出來的 Macromedia Flash Lite 2 Content Development Kit (CDK) ,裡面有一個完整的MobileSharedObject class可以使用..)

BlackJack...FlashLite1.1

176x208 Flash lite1.1 此作品完成的時間比「幸運猜拳」還早, 是用來熟悉Flash lite1.1語法的試作品, 有興趣的可以 按此下載 =P

幸運猜拳

> Flash lite1.1版本 176x208 要不是看到訊息,Erin還真的快忘了自己有這個作品...XD 操作方法:僅使用左右鍵與Entry鍵 有興趣的可以 按此下載