跳到主要內容

發表文章

目前顯示的是 八月, 2012的文章

決解在Chrome裡無法使用 Flash PrintJob 的問題

大家好,我是奶綠茶
最近在使用 Flash PrintJob 時,突然遇到了這樣的問題
Chrome 使用Flash PrintJob 時,會啟動自身的列印功能
然後就一片白

後來想法一個解法, 大至如下
1.在 html 先放一個空白的 img
2.Flash 先將畫面 Draw 成 BitmapData ,再轉成 JPGEncoder 的 ByteArray
再轉成 Base64 字串
3 把 Base64 字串透過 JavaScript 丟進去剛剛產生的 img 標籤
4 呼叫 Html 裡的列印

這個 Bug 只會發生在 Chrome 內建的 Flash Player
如果你有裝自行安裝的 Flash Player 的話
可以在網址列輸入 chrome://plugins
然後重新啟用預設的 Player


線上 Demo:
https://dl.dropbox.com/u/2069696/blog/2012_08_29_ChromePrintBug/index.html

SourceCodeDownload 後來找到更快的解法了, 把要印的 Clip 物件 先加到 stage 上 印剛後, 移掉他 這樣就可以單用 AS Code 決解

2012 08 24 AS讀書會影片文章分享

分享一下小弟在 2012 08 24 AS讀習會的影片
主題是:原生大戰 Adobe AIR
PPT:
http://www.slideshare.net/milkmidi/2012-08-24nativevsadobeair

影片:
http://www.youtube.com/watch?v=Gz27YtVazso&feature=youtu.be

因為時間的關系, 有些地方快速帶過
如有不懂或不清楚的,歡迎留言指教
謝謝大家

Unity3D 呼叫 Android 端 Java 程式

大家好,我是奶綠茶
最近開始研究 Unity3D,
今天來分享如何使用 Unity3D 呼叫 Android 端的 Java 程式
或是 Android 呼叫 Unity3D

因為 Unity 編譯成 Android 平台時, 會發怖成 apk 檔, 並沒有原始碼
所以製作上有一點點的麻煩

1.新增一個新的 Android 專案
2.從 Unity 安裝路徑下 Unity\Editor\Data\PlaybackEngines\androidplayer\bin\
複製 classes.jar 至 Android 裡的 libs 資料夾下


3.寫一個 public 的函式給 Unity 呼叫
這邊要注意一下, 當 Unity3D 呼叫 Android 的函式時, 會因為 UI Thread 安全性關系, 所以不能彈出 AlertDialog, 需要透過一個 Handler 來決解這個問題
package milkmidi.unity3d.android; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.Menu; import com.unity3d.player.UnityPlayer; import com.unity3d.player.UnityPlayerActivity; public class MainActivity extends UnityPlayerActivity { public static final int SHOW_ALERT_DIALOG = 0; private Handler mHandler = new Handler(){ @Override public void handleMessage( Message msg ) { super.handleMessage( msg ); switch ( msg.what ) { case SHOW_ALERT_DIALOG: …