Upload
ken39arg
View
3.267
Download
0
Embed Size (px)
Citation preview
flower.AS:switch (random(5)) {case 1: gotoAndPlay(‘window’); break;case 2: gotoAndPlay(‘double’); break;default: gotoAndPlay(‘nomal’); break;}
前提条件 mova,FOMA,cdmaOne,win,c 型 ,p 型 ,W 型 ,3gc ガラケー制作で 1action に大量に HTML を作るなんて普通 クロスプラットフォームにあこがれ 1action,1html になったよね web 屋である
ブラウザでよくね ?
提案プラットフォーム
HTML Movie Image
ガラケー XHTML Mobile FlashLite1.1 JPEG,GIF
Android HTML5 FlashLite1.1 JPEG,GIF,PNG
iPhone HTML5 HTML5 JPEG,GIF,PNG
• HTML = 2 パターンなんて楽な方• Flash をなんとかする
wallaby Adobe 純正の CS5 プラグイン SVG,JPEG,PNG,HTML,js,css のセットを書き出す いろいろと不完全 css アニメーションを多用しているため、アニメーションが同期していない サイズがでかい CS5 Flash が必要というのが痛い = ( 動的生成はできない )
smokescreen 基本 gordon と同じもうちょっと進んでいる 2010/10 に oss comming soon! となってから音沙汰無し 2011/02 にひっそりと github 上に登場したリポジトリは別物 (svg -> canvas へ ) github で公開されているものはネストもアニメーションも出来ない
SWFと SVG のマッピングSWF SVGDefineShape* <g> <path> <use>DefineSprite <g> <use>DefineBits* <image>Text <text>Font m(_ _)m
DefineBits* Lossless はピクセルを PNG に戻す Bits,BitsJPEG* は data をそのまま取り出す
<image xlink:href=“…”> 画像データを保存して URL を” xlink:href” にセットしても良い base64 した文字列を” xlink:href” にセットしても良い
DefineShape SWF の持つベクターデータ SWF のデータ種類は非常にシンプル
直線 (LineTo) 曲線 (CurveTo) 塗り (fill) 線 (stroke)
3次ベジェやら circle とか rectangle とかない。何でも直線と曲線だけで表す男らしさがウリ
DefineShape 全体を <g> でまとめる ClipedBitmap は <use> Gradient は <linearGradient|radialGradient> style毎に <path d=“…” fill=“…” stroke=“…”> に変換→ LineTo|CurveTo が最大で fillStyle0,fillStyle1,lineStyle の 3 つの path に作用
DefineShape DeltaX,DeltaY
絶対値に計算し直す LineTo(ShapeRecord@Type=2)
L toX toY
CurveTo(ShapeRecord@Type=3) Q controlX controlY toX toY to の絶対値は” start+control+to”
DefineShape StyleChange (ShapeRecord@type=1)
StateNewStyles path の書き出し Style レジストリの更新
StateFillStyle0, StateFillStyle1, StateLineStyle 次にの LineTo | CurveTo の対象のスタイルを変更 全てが (>0) なら次のエッジは <path>3 ノード分に作用
StateMoveTo moveTo は絶対値
DefineSprite ベクターやラスター等のイメージデータやテキスト、また
Sprite など表示オブジェクトを配置したり、アニメーションさせたりする FlashLite ではタイムラインを持つ MovieClip のみ ActionScript も内包 Stage 全体も仲間
DefineSprite PlaceObject 毎に ,<use> に変換 全体を <g> でグループ化 アニメーションはまずは考えないので、その他のタグは無視します SVG に変えるだけなら PlaceObject2,3 の情報は要らない
DefineSprite CharacterId
xlink:href=“#< ここ >”;
Depth 表示順
Matrix transform=“matrix(< ここ >)”
ColorTransform opacity=“< ここに AlphaMultTerm>” feColorMatrix フィルタが理想だが実際はブラウザが対応してない
Stage Define 定義は <defs> で登録する Stage の PlaceObject(<use>) を <g> の中に記述 SWF Format では 1px=20 で表現しているので
root 直下の g には transform=“scale(0.05)”
Stage<svg> <defs> <image id=“c1” xlink:href=“foo.jpg” width=“100” height=“10” /> <g id=“c2”> <path d=“…”> </g> </defs> <g transform=“scale(0.05)”> <use> <use> </g></svg>
SWF を SVG にすると iPhone/Android で見るサムネイルはクリア ガラケーのサムネイルも SVG > Image すれば
SWF > Image よりも楽に動的に生成できる(変換用に Flash を起動するサーバーとか要らない) アニメーションさせると嬉しい