ラベル as3 の投稿を表示しています。 すべての投稿を表示
ラベル as3 の投稿を表示しています。 すべての投稿を表示

JavaScript & Flash連携でブラウザ終了時通信できない

ExternalInterfaceを使えば、JavaScriptのイベントからas3の関数を呼べる。

ブラウザ終了時に通信しようと、as3のブラウザ終了時に呼ばれる関数に

URLLoaderを設定したが、loadを読んでも一向にCOMPLETEもErrorもハンドラが呼ばれず

try{}catchに引っかかることもない…。そのまま関数が終了してしまう。

ブラウザ終了じゃない時に呼ぶと普通に処理される事がわかったので、

ブラウザ終了時のURLLoaderは使えないようだ。

で、無理やりやる方法としては、ExternalInterfaceで設定した関数から

通信させたい情報をJavascriptにreturnし、JavaScriptで通信してしまう。

ただし、情報内容が駄々漏れになるので用途は相当限られるかと思う。

埋め込みスプライトがBitmapDataにdrawできない

埋め込みスプライトの生成タイミングの都合上

2フレーム待てばdrawに反映されるようになるみたい。

2フレーム経っていないとdrawしても何も描画されないのでハマった。

addChildしたのに表示されない

同じ参照物をどこかで2回以上addChildすると起こる

一度addChild済みのDisplayObjectは

複製するなりしてからaddChildする事

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;