hitTestPoint(x,y,true)は グローバル座標
3時間くらい悩んでしまった。。orz
3時間くらい悩んでしまった。。orz
addChildしたら治りました
swfが読み込まれているのにgetDefinitionByNameできないない
と思っていたら、単にファイルをサーバーに読みにいっていた。。
getDefinitionByNameができないと思ったら設定ファイルを見直そう!!!
ファイルをいっぱい読み込みまくっていて
ときどき
Error #2044: ハンドルされていない error : text=error
というのがでて、すすまなくなった。
ぜんぜん意味が分からなくて、1日かけて色々ごにょごにょやって疲弊した。
エラーが出た理由はloaderをローカル変数で定義していたため
それがガベージコレクトされてしまったことだった(推測)
ここは自分が実装したわけじゃなかったんだけど、
探すのに時間がかかっちゃった。
エラーがでるときと、でないときがあるような場合は
ガベージコレクトを疑ったほうが良いかもしれない。
・弱い参照
・ローカル変数のaddEventListener
に気をつけよう。
as3になれてしまって忘れてた。
as2とas3だと
Function型の変数を使うとき スコープがちがうので注意が必要。
数字の不具合があるときは、NaNになって
Errorがでないので注意が必要
function hoge(){
var func=function(){}
addEventListener(Event, func);
}
ってしていたら、イベントが起きるべきときになっても起きない。
必ずおきるわけでなく、ときどき起こる。
おそらくvar funcはガベージコレクシションされてしまったんだろう。
、きわめて時間のロスをしてしまった。
var func:Function=function(){
this
}
as3において、ここでいうthisは、funcをさす。
変数を参照するときにthisつけるな
getBoundsは
scaleを変えても、同じ値になる。
staticなメソッドからは
staticなプロパティしか参照できない。
でよかったっけ?
ほんで、そのときのエラーが
未定義のプロパティへのアクセスです
だった。未定義じゃないのに、紛らわしい!
複数のswf読み込んで
各loaderのapplicationDomainから
アタッチムービーみたいなことをしていた
以前は 同じクラスが混在している場合
先の読み込まれたものが優先されていたが
appDomを使うとだと古くても上書きされないようだ。
それで時間がかかっちゃった。
TypeError: Error #1010: 条件は未定義であり、プロパティがありません。
at MethodInfo-935()
------
というエラーガでまくった。
原因はムービークリップの中で
var f=function(){
trace(this);
}
addEventLister(Event.ENTER_FRAME,f);
と書いていたのだが、thisの参照先はそのムービークリップだと思い込んでいた。
でも ちがうっぽい。なんだろうfunctionを参照しているのかもしれない。
ライブラリの中では jp.hoge.Hoge クラスを定義してたけれど
コードの中ではMovieClipで宣言していて失敗。
うまく動かなかった。。
原因:addChildしてなかったorz。