ExternalInterfaceを使えば、JavaScriptのイベントからas3の関数を呼べる。
ブラウザ終了時に通信しようと、as3のブラウザ終了時に呼ばれる関数に
URLLoaderを設定したが、loadを読んでも一向にCOMPLETEもErrorもハンドラが呼ばれず
try{}catchに引っかかることもない…。そのまま関数が終了してしまう。
ブラウザ終了じゃない時に呼ぶと普通に処理される事がわかったので、
ブラウザ終了時のURLLoaderは使えないようだ。
で、無理やりやる方法としては、ExternalInterfaceで設定した関数から
通信させたい情報をJavascriptにreturnし、JavaScriptで通信してしまう。
ただし、情報内容が駄々漏れになるので用途は相当限られるかと思う。
埋め込みスプライトがBitmapDataにdrawできない
埋め込みスプライトの生成タイミングの都合上
2フレーム待てばdrawに反映されるようになるみたい。
2フレーム経っていないとdrawしても何も描画されないのでハマった。
2フレーム待てばdrawに反映されるようになるみたい。
2フレーム経っていないとdrawしても何も描画されないのでハマった。
as3 埋め込みフォントが表示されない
例えば、Verdanaというフォントを埋め込もうとした時、
[Embed(source = '(フォントまでの相対パス)/Verdana.ttf', fontName = 'Verdana', mimeType='application/x-font')] private static var FONT_VERDANA:Class;
みたいな定義をした後、TextFormatのfontに"Verdana"
そのフォーマットを適応するTextFieldのembedFontをtrueにする。
で、defaultFormatに上記フォーマットを指定。(※textを設定する前にする事)
でいいはずがまっさらで何も表示されない状態になった。
そんな時は、[Embed(略)のパラメータに「embedAsCFF="false"」を付け足して解決した。
例:
[Embed(source = '(フォントまでの相対パス)/Verdana.ttf', fontName = 'Verdana', mimeType='application/x-font'), embedAsCFF="false"] private static var FONT_VERDANA:Class;
[Embed(source = '(フォントまでの相対パス)/Verdana.ttf', fontName = 'Verdana', mimeType='application/x-font')] private static var FONT_VERDANA:Class;
みたいな定義をした後、TextFormatのfontに"Verdana"
そのフォーマットを適応するTextFieldのembedFontをtrueにする。
で、defaultFormatに上記フォーマットを指定。(※textを設定する前にする事)
でいいはずがまっさらで何も表示されない状態になった。
そんな時は、[Embed(略)のパラメータに「embedAsCFF="false"」を付け足して解決した。
例:
[Embed(source = '(フォントまでの相対パス)/Verdana.ttf', fontName = 'Verdana', mimeType='application/x-font'), embedAsCFF="false"] private static var FONT_VERDANA:Class;