0

We have a flash application that we are planning on converting to javascript. It's a pretty simple map application with an image as the background and a bunch of simple polygon movie clips that represent destinations on the map.

I would like to iterate through each movie clip and extract the shape into an array of x,y points to redraw the polygon using an external javascript function.

Is this possible with actionscript?

4

3 に答える 3

2

作成時に形状座標をエクスポートする場合は、@strille が推奨する JSFL スクリプトまたはこのスクリプトを試すか、透明な画像をエクスポートすることができます (アプリケーションが制限されすぎない場合)。

実行時に形状をエクスポートする必要がある場合は、すばらしいas3swfライブラリを使用して、swf を逆コンパイルし、形状をエクスポートできます。JSCanvasShapeExporterやより一般的な JSONShapeExporter などのjs用の便利なエクスポーターがいくつかあるため、ShapeExport wikiを参照してください。

于 2012-08-15T19:43:56.497 に答える
0

Flash Player 11.6 ではreadGraphicsData()が導入されました。これはまさにユーザーが求めていることを実行します。

以前のバージョンをターゲットにする必要がある場合、残念ながら実行時に ActionScript を使用して表示オブジェクトからシェイプ座標を読み取る簡単な方法はありません。

誰かがFlash CS3 用の jsfl スクリプトを作成したら、形状座標を抽出したいだけの場合は、それが役立つようです。

于 2012-08-15T17:00:59.670 に答える
0

SWF から座標を読み取る方法はいくつかあります。たとえば、PHP でパーサーを作成しました (リンク)。結局のところ、データを取得しても役に立ちません。Flash ペインティング モデルは HTML5 とは大きく異なるため、転送が困難になります。私が発見した主な障害は、Flash ではパスが 2 つの塗りつぶしスタイルで塗りつぶされる可能性があることです。1 つはパスで囲まれた領域用で、もう 1 つは偶奇規則によって「外側」と見なされる閉じられた領域用です (例: の五角形)。星の真ん中)。HTML5 キャンバスでは塗りつぶしスタイルを 1 つしか指定できないため、Flash から形状を正確に再描画することはできません。形状を SVG として抽出するツールを作成しようとしていたところ、結果に多くのギャップと穴ができていました。

于 2012-08-15T17:50:46.743 に答える