- - PR -
Flashとscriptの動作
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-09-25 23:23
こんにちは。
現在、FlashとJavascriptのインターフェース部分を見ているのですが、 挙動を捕まえる事ができていません。 ユーザが画面からFlash上で色々な画像や文字を付け加えているような 操作なのですが、文字をFlash上に追加する時入力フォームで文字のフォントや サイズを指定してOKを配置してます。 これが、そのOKボタンです。(paramには入力フォームのデータを配列で格納していますが、省略します) control = window; function ok_click() { ... control.test(param); ←@ } function test(param) { var options = { param: param }; if (!this._flashObj.executeOperation("id", options)) { ←A alert("配置失敗。"); } } ※IEでは動いているのですが、FireFoxでは動きません。 @のcontrolでFlash上に配置できるようにポインタがwindow上を自由に 動くようになり、ユーザがクリックで配置した始点が決まると@以下の 処理が続行し、Flashにパラメータと共に配置するようなURLが発行されます。 しかしこのcontrolの位置付けがはっきり分かっておらず、どのようにデバッグを していいかも分かりません。そもそもFireFoxではこのcontrolが認識されずにundefineを 返してきます。 A以下はFlashに受け渡されるものと考えて、このcontrolの挙動だけ教えていただけないでしょうか?漠然とした質問で分かりにくいかと思いますが、よろしくお願いします。 | ||||||||||||
|
投稿日時: 2008-09-26 00:03
「controlの位置付け」と言われましても、そのコードを見ただけでは、
controlというグローバル変数にwindowオブジェクトを、 単に代入しているようにしか思えません。
漠然であるとわかっていらっしゃるなら、もうちょっと整理してみてください。 客観的に見て第三者がcontrolとは何を指しているのか理解できると思いますか? | ||||||||||||
|
投稿日時: 2008-09-26 00:16
ありがとうございます。
このcontrolですが、編集や追加するパーツによって、windowが代入されたり、 parentが代入されたりしています、ソースを見た限りはこの2通りだけです。 最終的にはFlashに反映させる為のURLを発行しているのですが、そもそも このcontrolがどのような役割をしているのかが、分かりません。 これが、Flashとのインタフェースのためなのか、このようにしないと 配置の始点が取得できないのか。この点は恐らく他でFlashで同じような 作りを経験をされている方がいらっしゃるのではないかと、質問させていただきました。 JavascriptとFlashのやり取りについて。 scriptは苦手です・・。 | ||||||||||||
|
投稿日時: 2008-09-26 10:44
要はwindowオブジェクトが代入されているということですね。 それでもundefined云々という話がでるのは、単にバグなんでしょうね。 まずは、作成された方にどういう意図で作成したかを、 確認されてみてはいかがでしょうか。 未記入さんの開発チームで作られたソースに対して、 オープンな場で質問されても答えられる方は居ないと思います。
最初の書き込みを読んでも、どのような技術、実装方式をしているのかについて、 第三者がぱっと読んでわかるように書かれていると思いますか?
画面とはHTMLですか?Flashですか? 文字を追加するのはFlashにですか? HTML上に追加して、Flashに表示上重ね合わせるのですか? 入力フォームはFlashですか?HTMLですか? と、これだけ不明な点がありますよ。 | ||||||||||||
|
投稿日時: 2008-09-26 16:44
ありがとうございます。
おっしゃる通りです。私はFlashが初めてでどのように書くのが一般的か も分かりませんでした。 現行のこのFlashについてですが、対応ブラウザはIE6以上のものです。 それを今回他ブラウザにも対応させたいと言う事でした。 そこで、唯一動いているIEで検証しておりまして、このcontrol(window,parent)が どのように動いているのかが知りたくて質問いたしました。 >画面とはHTMLですか?Flashですか? 画面ですが、HTML上にFlashを呼んでおります。 >文字を追加するのはFlashにですか? はい。文字だけに限りませんが、色々なパーツがありそれをFlash上に 乗せようとしております。 >HTML上に追加して、Flashに表示上重ね合わせるのですか? ここの部分は良く分かっておりませんが、上記の一つ一つのパーツには Flashに乗せるための情報(座標等)があり、重ねています。 >入力フォームはFlashですか?HTMLですか? 入力フォーム自体はHTMLです。formの情報をpostして、Flashに渡しております。 想像でしか無いのですが、IEではこのwindow,parent指定によって、一旦scriptを 停止し、画面上のポインタが自由に動くようになり、そのパーツを配置する始点 が分かった時にAのFlashObjectに処理が移るのでは無いかと想定してます。 (自信が全く無いですが・・) 何かご助言いただけると幸いです。 よろしくお願いします。 | ||||||||||||
|
投稿日時: 2008-09-29 21:25
追記です。
こちらのサイト内でも紹介されておりました、SVGのXMLを使っております。 http://www.atmarkit.co.jp/fxml/askxmlexpert/026svg/26svg.html 作りとしては、JavascriptでパラメータでAに受け渡している訳ですが、 A内でSVGのXML書式で直され、Java内では、そのXMLをレンダリングし、 HTML上に表示・配置させております。 Java内のActionでブレークポイントを当てるとこのように取得してました。 <svg ...> <g ...> <svg overflow="hidden" x="0" y="0" width="0" height="0"/> <desc ...></desc> ←ここに@のパラメータがセットされてます。 </g> </svg> 恐らく、JavascriptのA内での上記SVGのXML書式に直す所でエラーになっていると思うのですが、A以降のscriptが見当たりません。 A自体がFlashのプラグイン内の処理なのか判断できておりません。 HTML部とのFlashのインタフェースは「AC_OETags.js」と言うライブラリは使われているようなのですが・・。 |
1