ActionScript

クラスメンバの記述順序に依存してしまう書き方と、依存させない方法

まぁちょぃとこのコードを見てください。クラスメンバで定数を定義して、クラスメンバでそれを代入するコードです。 package { import flash.display.*; public class Main extends Sprite { private const constant:Object = {}; private var variable:Obje…

mxmlを使わずにAS3だけでFlexアプリケーションを書く

全国のActionScripterの皆様こんにちは!id:holidays-lです!今回訳あって、AS3だけでFlexアプリケーションを作れるのかを試してみました。 こんなミニマムコードをMyApp.as package { import mx.core.Application; public class MyApp extends Application …

FlashでFLVの最後を検出するonLastSecondが、日本語で全く言及されてないのは役立たずだから?

flash.net.NetStreamでflvファイルを再生している時、再生秒数が残り1秒を切るとNetStream.client.onLastSecondが呼ばれたり呼ばれなかったりするんですが、呼ばれる条件って何なんでしょうか? onMetaData(info:Object)の info.lasttimestamp info.lastkeyf…

80番ポート以外にあるポリシーファイルの挙動が良く分からん

http://irc.example.com/crossdomain.xml <cross-domain-policy> <allow-access-from domain="*" to-ports="6667"/> </cross-domain-policy>というポリシーファイルのとき、 Security.loadPolicyFile("http://…

ExternalInterface使用時の例外をActionScript←→JavaScriptでやりとりする

Flash Player 9 Update 3から、ExternalInterfaceにmarshallExceptionsっていうプロパティが増えてたよ。ワーイヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノワーイActionScript で JavaScript 例外をキャッチし、JavaScript で ActionScript 例外をキャッチするには、このプロパティを…

ExternalInterface.objectIDがnullになってる

Linux版Flash Player 9 Update 3だと、ExternalInterface.objectID が nullになってるよ〜。(つд⊂)エーン

メタポリシーが指定されていません。

FlashPlayer 9.0.115.0を入れてから、 警告 : ドメイン www.example.com にはメタポリシーが指定されていません。デフォルトのメタポリシー 'all' を適用しますが、この設定は推奨されていません。この問題の解決方法については、http://www.adobe.com/go/st…

Re: ActionScript3 における deep copy

ActionScript3 における deep copy - 2nd life (知ってて言ってるんだと思いますが)これはmx.utils::ObjectUtil#copyと同じなので、 import mx.utils.ObjectUtil; var hashClone:Object = ObjectUtil.copy(hash); でOKです。コード貼り付けて良いかどうか…

LocalConnectionの複数ウィンドウ対策

コードに説明を付けました。 ブクマとかスターが付いてから説明を書くことがよくあります。 説明が必要な場合は『解説キボンヌ』とコメントすると自動的に解説が付き ません。 ググルと何件か出てきますが、逆の方法としてこういうやり方もあります。 接続名…

IE6でobject要素を突っ込む場所によってはExternalInterfaceが使えない(っぽい)

var so = new SWFObject('foo.swf', 'externalInterfaceSWF', '100%', '100%', '9', '#FF0000'); so.addParam('allowScriptAccess', 'always'); so.write('flashcontent'); こういうことをするとき、 <form><div id="flashcontent"></div></form> こんな風にobject要素がform要素の子孫要素になってしま…

AIRとFlash PlayerでURLLoaderの挙動が違う(気がする)

var request:URLRequest = new URLRequest("http://example.com/"); request.method = URLRequestMethod.GET; request.data = "q=1"; var loader:URLLoader = new URLLoader(); loader.load(request); これ、Flash Player(9,0,47,0 for Windows)だとGETメソ…

同名メソッドで混乱

package { public class Main extends MyClass implements MyInterface { public function foo(param:Object) { } } } class MyClass { public function foo() {} } interface MyInterface { function foo(param:Object):void; } Error: オーバーライドに対…

ExternalInterfaceをいじるには

__flash__argumentsToXML(obj, index) __flash__arrayToXML(obj) __flash__escapeXML(s) __flash__objectToXML(obj) __flash__request(name) __flash__toXML(value) この辺をいじればいいのかな。 うーん。

ExternalInterface.addCallback()したメソッドをFlashの中からその名前で呼び出すには

ExternalInterface.addCallback()したメソッドを - トミールの技術系日記 ExternalInterface.addCallback("foo", function():void{}); ExternalInterface.call("function(id){document.getElementById(id).foo()}", ExternalInterface.objectID); ?

IE6で特定の名前のメソッドをExternalInterface.addCallbackできない

久しぶりにはまったぜ! "play"っていうメソッドを package { import flash.display.Sprite; import flash.external.ExternalInterface; public class test extends Sprite { public function test() { ExternalInterface.addCallback("play", function():vo…

rascutとFlex3 SDK beta

rascut + Flex 3 SDKベータ2を試すの巻。 | 太郎日記’79J 新rascut登場も、やっぱり必要英語版。 | 太郎日記’79Jrascutを修正しなくても % _JAVA_OPTIONS="-Duser.language=en" rascut HelloWorld.asでfcshが英語版になるので上手く動きます。 fcsh の時は L…

FlashからJavaScript定義する

FlashとJavaScriptを連携させてごにょごにょするとき、普通はfoo.swfとfoo.jsなど複数個のファイルが必要です。 ここでFlashからJavaScriptを定義すると、.swfファイル1個で済ませることができます。 ファイル数が減ったところでそれがどうしたって感じもあ…

Flashを使ってJavaScriptで半クロスドメイン通信

Flashを使った半クロスドメインのXMLHttpRequestのようなもの - ヒルズで働く@robarioの技ログ を見てね! crossdomain.xmlが置かれているサーバと通信できるXMLHttpRequestのようなものを作りました。 → crossdomain.swf 特長とか crossdomain.swfをロード…

ExternalInterface#addCallbackを呼ぶ時、DOMツリーに存在していないとダメな気がする

ExternalInterface#addCallbackを呼ぶとき、そのswfを読み込むobject要素(embed要素)が予めDOMツリーに含まれてないとコールバックを追加できない。気がする。 swfobject.write(div); // using SWFObject document.body.appendChild(div); だと、swf自体は…

URLStreamでEvent.COMPLETEが飛んで来ない→と思ったら飛んできてた

URLLoaderだとEvent.COMPLETEが飛んでくるのに、URLStreamだと飛んでこない。 Event.OPEN, ProgressEvent.PROGRESS, HTTPStatusEvent.HTTP_STATUSはどちらも飛んでくる。 何でじゃ〜(ノToT)ノ┫:・'.::・┻┻:・'.::・ 飛んできてた。勘違い。穴があったら入●たい。