トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     SWFからベクタデータを書き出す
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
knagai
Åê¹ÆNo.48902
投稿日時: 2012-3-15 16:54
職人
居住地: 白馬村
投稿: 796
使用環境:
Re: SWFからベクタデータを書き出す
アドビページのSVGの基礎には次のSVGの例が書かれています。


<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN"
"http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd">
<svg xml:space="preserve" width="5.5in" height="2in">
<path d="M 50 10 L 350 10 L 200 120 z"/>
</svg>


"M"は、"moveto," "L"は"lineto"、"z"は"closepath"を表すそうです。
つまりまず(50, 10)に移動し、そこから(350, 10)まで線を引いて、さらに(200, 120)まで線を引いて閉じる、というコードです。

これをパスの描画ページを参考に、ActionScriptに対応させて考えると、


var commands:Vector.<int >  = new Vector.<int > (3,true);
commands[0] = GraphicsPathCommand.MOVE_TO;
commands[1] = GraphicsPathCommand.LINE_TO;
commands[2] = GraphicsPathCommand.LINE_TO;

var coord:Vector.<Number> = new Vector.<Number>(6,true); 

coord[0] = 50; 	//
coord[1] = 10; 	//( 50, 10 ) 

coord[2] = 350; // 
coord[3] = 10; 	//( 350, 10 )

coord[4] = 200; //
coord[5] = 120; //( 200, 120 )

graphics.beginFill(0x000000);
graphics.drawPath(commands, coord); 


というようなコードになります。

ここで使用しているMOVE_TOやLINE_TO、( x, y )座標の値をSVGのXMLファイルに組み込み、それをSVGの仕様にのっとって保存すると、SVGファイルができあがる、という理屈になります。

GraphicsクラスのdrawGraphicsData()も利用できると思います。


----------------
永井勝則:
himco.jp :

フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   SWFからベクタデータを書き出す miyaj 2012-3-15 12:26
   » Re: SWFからベクタデータを書き出す knagai 2012-3-15 16:54
       Re: SWFからベクタデータを書き出す miyaj 2012-3-15 17:56
         Re: SWFからベクタデータを書き出す knagai 2012-3-16 12:55

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops