- PR -

Flashとscriptの動作

1
投稿者投稿内容
未記入
大ベテラン
会議室デビュー日: 2008/07/11
投稿数: 182
投稿日時: 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の挙動だけ教えていただけないでしょうか?漠然とした質問で分かりにくいかと思いますが、よろしくお願いします。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2008-09-26 00:03
「controlの位置付け」と言われましても、そのコードを見ただけでは、
controlというグローバル変数にwindowオブジェクトを、
単に代入しているようにしか思えません。

引用:

漠然とした質問で分かりにくいかと思いますが、


漠然であるとわかっていらっしゃるなら、もうちょっと整理してみてください。
客観的に見て第三者がcontrolとは何を指しているのか理解できると思いますか?
未記入
大ベテラン
会議室デビュー日: 2008/07/11
投稿数: 182
投稿日時: 2008-09-26 00:16
ありがとうございます。

このcontrolですが、編集や追加するパーツによって、windowが代入されたり、
parentが代入されたりしています、ソースを見た限りはこの2通りだけです。
最終的にはFlashに反映させる為のURLを発行しているのですが、そもそも
このcontrolがどのような役割をしているのかが、分かりません。

これが、Flashとのインタフェースのためなのか、このようにしないと
配置の始点が取得できないのか。この点は恐らく他でFlashで同じような
作りを経験をされている方がいらっしゃるのではないかと、質問させていただきました。
JavascriptとFlashのやり取りについて。

scriptは苦手です・・。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2008-09-26 10:44
引用:

このcontrolですが、編集や追加するパーツによって、windowが代入されたり、
parentが代入されたりしています、ソースを見た限りはこの2通りだけです。
最終的にはFlashに反映させる為のURLを発行しているのですが、そもそも
このcontrolがどのような役割をしているのかが、分かりません。


要はwindowオブジェクトが代入されているということですね。
それでもundefined云々という話がでるのは、単にバグなんでしょうね。
まずは、作成された方にどういう意図で作成したかを、
確認されてみてはいかがでしょうか。

未記入さんの開発チームで作られたソースに対して、
オープンな場で質問されても答えられる方は居ないと思います。
引用:

これが、Flashとのインタフェースのためなのか、このようにしないと
配置の始点が取得できないのか。この点は恐らく他でFlashで同じような
作りを経験をされている方がいらっしゃるのではないかと、質問させていただきました。
JavascriptとFlashのやり取りについて。


最初の書き込みを読んでも、どのような技術、実装方式をしているのかについて、
第三者がぱっと読んでわかるように書かれていると思いますか?
引用:

ユーザが画面からFlash上で色々な画像や文字を付け加えているような
操作なのですが、文字をFlash上に追加する時入力フォームで文字のフォントや
サイズを指定してOKを配置してます。


画面とはHTMLですか?Flashですか?
文字を追加するのはFlashにですか?
HTML上に追加して、Flashに表示上重ね合わせるのですか?
入力フォームはFlashですか?HTMLですか?

と、これだけ不明な点がありますよ。
未記入
大ベテラン
会議室デビュー日: 2008/07/11
投稿数: 182
投稿日時: 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/07/11
投稿数: 182
投稿日時: 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

スキルアップ/キャリアアップ(JOB@IT)