跳到主要內容

發表文章

目前顯示的是 2014的文章

CreateJS系列教學-第一篇 AdobeCC2014 Export

大家好,我是奶綠茶
Adobe今年推出了 CC2014 系列工具,
身為 "阿豆比米" 是一定要來研究一下有什麼新功能。
就從最熟悉的 FlashCC2014 來介紹起
很多學生問我該不該再學 Flash
因為行動裝置上不能執行 Flash , 且 HTML5 的普及,Flash 的黃金時代已過去,
但這不表示 Flash 工具就從此退役喔。
對設計師來說,Flash還是世上最好用的動畫工具,
今天就來介紹如何使用 Adobe FlashCC2014,
將 Flash 裡的時間軸動畫輸出成 HTML5 的格式,這樣就能同時支援桌機與行動裝置平台。

軟體啟動可以看到新的啟動畫面,這也是每次有新版本推出時
筆者最期待的功能之一。


延續 Adobe Flash CC, 使用介面可以調整成暗色系


接著我們新增檔案,選擇 HTML5 Canvas 格式
AdobeCC20014 支援了 WebGL 的輸出,這個等下一篇再來介紹。


在屬性面版可以看到是 HTML5 Canvas 文件


如果想把舊有的 AS fla 轉成 HTML5 Canvas fla文件的話
只要執行上方工具列 / 命令 / 從 AS3 文件格式轉換為 HTML5 Canvas 即可


將舞台大小設定為 640 x 400
寬度 640 是因為當 Mobile Web viewport 設定成 width=device-width 時
大多數的裝置的寬度會得到 320, 因應 Retina 顯示, 所以要 320 乘 2 = 640。
接著我們拉個簡單的動畫, 讓圖示由左到右,再到下,再到左,再回來本來的位置
做一個口字型的移動。
時間軸長這樣


在第一格影格寫上程式碼
要注意喔,因為是 HTML5 Canvas 文件
所以是寫 JavaScript, 而不是 ActioinScript
完整的 CreateJS JavaScript 提示,這對初學者有很大的幫助


分邊在指定的影格下 this.stop();
讓動畫播到此處時暫停,然後點擊後再播放
為了能讓任意處點擊都有效,所以在下方放置一個白色(或透明)的色塊


在第一個影格寫上點擊事件
要注意一下,因為是 JavaScript,所以會有 scope 的問題
如果只寫 stop(); JS 不會知道是要執行誰的 stop();
所以要加上…

Android View y,translationY 比較

大家好,我是奶綠茶
Android View 物件有 setY 和 setTranslationY 二個屬性
都是可以更改 y軸座標,兩個屬性原理有些不一樣
setY(10) :以父容器為基準,設置 y 軸座標為 10
View.setY Source 如下
public void setY(float y) {
        setTranslationY(y - mTop);
}

setTranslationY(10):自己為基準,設置 y 軸座標為 10
測試結果如下圖
紅底圖為測試的 ImageView,layout_below 綠底文字
上層有個淡紅色的 RelativeLayout 父容器
呼叫 getY() 時,因為經過 RelativeLayout 排版
以父容器為基準值,得到  109
getTranslationY() 以自己為準基,所以值為 0




轉載請註明出處

android Drawselectorontop

大家好,我是奶綠茶
在使用 ListView 時有個 drawselectonTop 的屬性能夠使用
原文:
Controls whether the selection highlight drawable should be drawn on top of the item or behind it.
意思是說選取時是否要繪制在物件上


左圖是一般樣式,右圖是指定 drawselectonTop ,這樣選取時就會有 highlight的效果

一般的 ViewGroup 並沒有這樣的功能
謙裡有現成的Library可以使用,祝大家學習愉快。
轉載請註明出處
https://gist.github.com/chrisbanes/9091754

Flash Timeline to TweenMaxJS

大家好,我是奶綠茶
因為專案的需求
現在客戶都要製作 html 的網頁
但在製作動態效果上就有些麻煩
都只能用 js 寫出來
使用 createJS 轉出來是 HTML5 Canvas 版本
快樂  IE8 不支援
所以筆者寫了一個 Flash 的小外掛
能將 Flash 裡的時間軸動畫輸出成 html 的程式碼
動態的部份是使用 TweenMax 來製作
這樣就可以用熟悉的工具拉時間軸動畫
且支援舊的 Browser
不是所有的 Flash 裡的效果都有支援轉換
一定要本來 html 做的到的功能才行
感謝老婆大大 Betty 提供的idea(聽老婆的話就對了,羞)
Adobe Flash CS6 Timeline to TweenMaxJS  將目前的時間軸轉成 TweenMax JS 版程式碼 使用方法:
1. 下載 flashTimelineToTweenMaxJS.zxp 2. 開啟 FlashCS6(FlashCC).
3. 在 PC 上,中文 OS 安裝英文版 Flash 軟體時, 安裝 extensions 會有語系問題
解決方法是從 Flash / Help / Manage Extensions 啟動並安裝

4. 製作你的時間軸動畫或點我下載 Demo.fla .
5. 第一個影格不能是空.

6. 點擊上方工具列 / 命令 / flashTimelineToTweenMaxJS 

7. 在同 fla 資料夾下即可看到匯出的 html 檔.
8. html 需要引用 TweenMax 和 jQuery 的 Library.

createJS 轉出來的是 html5 canvas 動畫, 快樂 IE8 不支援
我的小工具只是將動畫轉成 TweenMax 的程式碼,省去前端攻城屍 Coding 時間
zxp_source 資料夾裡是完整的 Source Code 
完整的 SourceCode 我放在 Github 上
https://github.com/milkmidi/flashtimeline_to_tweenmaxjs

轉載請註明出處

壓縮你的js程式碼

大家好,我是奶綠茶
在專案上線前,我都會把 js 的程式碼壓縮成最小化
一來 k 數小,二來也比較安全一點
我是使用 Google 的線上壓縮JS服務
http://closure-compiler.appspot.com/home
但每次都要線上壓有點麻煩
好在他有提供 api 和 jar 可以使用
寫一個簡單的 bat 檔,把你的本來的 js 檔接過去執行
就會自動幫你另存一個壓過後的 js 版本

:: @echo off :: 指定你的 jar 路徑 set COMPILER="F:\[Service]\google-closure\compiler.jar" @echo "%~f1" SET v_filename=%~nx1 SET v_ext=%~x1 SET v_remainder=%~dp1 java -jar %COMPILER% --js "%~f1" --js_output_file %v_filename%.min.js pause
如果你是使用 vs 系列的開發人員
可以加裝這一套外掛
http://visualstudiogallery.msdn.microsoft.com/07d54d12-7133-4e15-becb-6f451ea3bea6
將你寫好的 js 檔,同路徑下另存一個 xxxx.min.js
只要按存檔, 就會自動幫你壓縮好
超方便的
大推

轉載請註明出處

unity Android Back鍵

在 unity 裡,想要得到 Android 接下 Back 鍵事件 可以用以下方法

轉載請註明出處
if (Application.platform == RuntimePlatform.Android) { if ( Input.GetKeyDown( KeyCode.Escape ) ) { Application.Quit();//離開應用程式 } }

unity setTimeout (C#)

在 unity C#沒有 setTimeout 這個函式
但可以用以下方法實作

轉載請註明出處
public IEnumerator doSomethingWaitFor() { yield return new WaitForSeconds( 2.0f ); Debug.Log( "doSomethingWaitFor" ); 我要執行的函式(); } void 我要執行的函式(){ Debug.Log( "我要執行的函式" ); }

Android完全入門篇-01 安裝SDK與裝置USBDriver

大家好,我是奶綠茶
筆者以 Windows 系統來介紹安裝
1. 下載 Android SDK
http://developer.android.com/sdk/index.html
有分 32 位元和 64 位元的版本
為了教學方便,筆者將檔案放置在 D:\ 下
壓開後會有
eclipse資料夾:Eclipse程式碼編譯器
sdk:Android 開發用的 SDK
SDK Manager.exe:sdk管理用的軟體


2. 開啟手機的"開發人員選項"
部份手機該選項被隱藏起來了
要開啟的話,點選"關於手機"
接著連點"版本號碼"七次,就會重新開啟該功能
接著再開啟"USB偵錯"功能
接上你的 USB 線後
這樣你的電腦才能透過 USB 線來偵錯手機的資訊
3. 為裝置安裝 adb usb driver
因為各家廠牌的 Driver 都不同也不通用,所以需要自行 Google 找 Driver
可以用"XXX廠牌 型號 adb usb driver"關鍵字來找
例:HTC Newone adb usb driver
接著找到 我的電腦 / 內容


裝置管理員

會看到一個金嘆號未知的裝置, 按右鍵更新驅動程式軟體

選擇"瀏覽電腦上的驅動程式軟體"

完成後就會看到裝置啟動,並出現 XXX Android ADB Interface

4.測試是否連接成功
進入到第一步下載的 sdk 資料夾裡
D:\adt-bundle-windows-x86_64-20131030\sdk
然後在 platform-tools 資料夾上按住 Shift 鍵,然後再按滑鼠右鍵
選擇"在此處開啟命令視窗"
(此功能只有 Win7 之後的版本才支援, XP使用者就要自行輸入 dos 指令進入到資料夾)
輸入 adb devices
如果看到一串數字,並顯示 device 就表示連線成功
5.新增環境變數(選擇性設定)
為了方便的使用 adb 指令
可以為 windows 設定變數
開啟我的電腦 / 內容 / 左邊的"進階系統設定"
點選下方 環境變數

下方系統變數,找到 Path的選項,按下編輯

在變數值欄位的最後方加入
;D:\adt-b…

Youtube影片增加外部連結功能

大家好,我是奶綠茶
在 Youtube 播放影片時,能夠增加註解
或是點擊後到另一個 Youtube 影片
但如果想要點擊後連到任意的網址呢?
是可以的,但有二個地方要設定一下,
1. 先到你的youtube 功能設定, 開啟外部註解功能
https://www.youtube.com/features

2. 認證你的關聯網站
你必需是網站的擁有者,有幾種驗證方法,選一個用就可以


完成後,在新增註解的地方
就可以下拉選擇關聯網站

看一下成品
https://www.youtube.com/watch?v=fL9to6qbDr8