トップページ > FLASH > 2011年04月11日 > w4PnyLrc

書き込み順位&時間帯一覧

1 位/76 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000003001010000005



使用した名前一覧書き込んだスレッド一覧
Now_loading...774KB
935
ActionScript 誰かが物凄い勢いで解答するスレ27

書き込みレス一覧

ActionScript 誰かが物凄い勢いで解答するスレ27
935 :Now_loading...774KB[sage]:2011/04/11(月) 12:06:11.98 ID:w4PnyLrc
JavaScript側からFlashのメソッドにアクセスしようとするとエラーが出るんですが
一体何が原因だと考えられるのでしょうか
FlashからJava側のメソッドへのアクセスはできます。
教本通りのコードで書いているのですが、何か間違った部分があるのか、わからない・・・

java側のアクセス設定部分のコードは↓ですが、これはちゃんと機能しています
var params = {allowscriptaccess:"always"};


ASコードは↓です。
function externalDispNickname(nickname) {
var tf:TextField = new TextField();
addChild(tf);
tf.width = 600;
tf.text = nickname;
}
ExternalInterface.addCallback("externalDispNickname", this.externalDispNickname);
Security.allowDomain('*');
ActionScript 誰かが物凄い勢いで解答するスレ27
936 :935[sage]:2011/04/11(月) 12:12:57.73 ID:w4PnyLrc
使用環境はFlashPlayer10、WindowsVistaです。
ブラウザはFireFox、swfはasファイルとしてアップロードしています。
よろしくおねがいします。
ActionScript 誰かが物凄い勢いで解答するスレ27
938 :935[sage]:2011/04/11(月) 12:33:01.17 ID:w4PnyLrc
FireFoxで、FireBugというデバッガーを利用しているのですが、

Error calling method on NPObject!
   $("#externalSwfo").get(0).externalDispNickname();

と出てくるだけで、詳細を教えてくれません、、、。
ActionScript 誰かが物凄い勢いで解答するスレ27
941 :Now_loading...774KB[sage]:2011/04/11(月) 15:21:00.24 ID:w4PnyLrc
>>939
プラグインを最新のにしたところ、直りました。
ただ、もう一つ疑問がありまして、↑で記述したコードで、
引数を一切渡さないメソッドを作って、Java側から命令したところ無事に動きました。

そこで、そのメソッドに引数を追加して、Java側からString型変数を引数として渡したところ、
さきほどと同様のエラーが検出されてしまいました。

どうも引数の渡し方が間違っているようなのですが、こういうJavaとFlashを往来させる場合、
>>935で記述したメソッドのように引数の型を設定しなくても動くものなのでしょうか。

ExternalInterface.addCallback("externalDispNickname", this.externalDispNickname);
↑この部分でも指定しているメソッド名に対して引数などを含めていないのですが、これが原因なのでしょうか、、、
教本に書いてある通りやったのに、引数の指定が間違っているとはどういうことなの・・・
ActionScript 誰かが物凄い勢いで解答するスレ27
949 :Now_loading...774KB[sage]:2011/04/11(月) 17:09:52.80 ID:w4PnyLrc
>>944
はい、エラーになってしまいます。抜粋して書きますと、

[JavaScript側]
nickname = "test";
externalDispNickname(nickname);

↓↓

[swf側]
function externalDispNickname(nickname) {
var tf:TextField = new TextField();
addChild(tf);
tf.width = 600;
tf.text = nickname;
}
ExternalInterface.addCallback("externalDispNickname", this.externalDispNickname);

引数の渡し方はそっくりこの通りです。
Java、swf双方でメソッドの引数(nickname)を消すとエラーは出ず、動いてくれるのですが・・・


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。