Slide 1

Slide 1 text

甦れFlasher! 「swf2js」でswfをリアルタイムでcanvasに出力 2015/11/19 github.com/ienaga

Slide 2

Slide 2 text

自己紹介 • 家永 稔之 Ienaga Toshiyuki • GitHub: ienaga • 所属: 株式会社ソニックムーブ システムエンジニア

Slide 3

Slide 3 text

swf2jsって? •swfを直接バイナリ分解し てcanvasに出力するJS 対応バージョン Flash Lite 1.x, 2.x ActionScript 1.0, 2.0

Slide 4

Slide 4 text

Github ienaga/swf2js Demo Download

Slide 5

Slide 5 text

利点

Slide 6

Slide 6 text

swfが使える

Slide 7

Slide 7 text

Flashのノウハウが生かせる

Slide 8

Slide 8 text

iPhone Android

Slide 9

Slide 9 text

OK

Slide 10

Slide 10 text

Chrome FireFox IE

Slide 11

Slide 11 text

OK

Slide 12

Slide 12 text

利用方法の紹介 • swfをそのままcanvasに出力 • flaファイルがなくなったswfをコント ロールしたい • swfを合成してJavaScriptでコンテンツ 作成

Slide 13

Slide 13 text

swfをそのまま canvasに出力

Slide 14

Slide 14 text

htmlにscriptタグを追加 ~中略~ swf2js.load("SWF PATH");

Slide 15

Slide 15 text

~中略~ swf2js.load("./swf/demo.swf"); swfのURLを入れる ここにswfのURLをいれる

Slide 16

Slide 16 text

これだけでOK

Slide 17

Slide 17 text

DEMO①

Slide 18

Slide 18 text

~中略~ swf2js.load("./swf/demo1.swf", { tagId: "player1" }); swf2js.load("./swf/demo2.swf", { tagId: "player2" });
複数のswfを同時に表示したい 第二引数に{tagId: ID}を追加 指定したいタグにidをセット

Slide 19

Slide 19 text

DEMO②

Slide 20

Slide 20 text

flaファイルがなくなった swfをコントロールしたい

Slide 21

Slide 21 text

第二引数に{}をセット swf2js.load("lost. swf", { callback: function(_root) { var mc = _root.getMovieClip("MC_NAME"); mc.gotoAndStop(2); }});

Slide 22

Slide 22 text

callbackを設置 swf2js.load("lost. swf", { callback: function(_root) { var mc = _root.getMovieClip("MC_NAME"); mc.gotoAndStop(2); }}); 第二引数にObjectをセット propertyにcallbackを設置してfunctionを追加

Slide 23

Slide 23 text

_rootから指定のMovieClipを取得 swf2js.load("lost. swf", { callback: function(_root) { var mc = _root.getMovieClip("MC_NAME"); mc.gotoAndStop(2); }}); _rootから指定のMovieClipを取得 第一引数はインスタンス名(String) String 例1) _root.mc1.target String 例2) /mc1/target String 例3) ../../target

Slide 24

Slide 24 text

取得したMovieClipをコントロール swf2js.load("lost. swf", { callback: function(_root) { var mc = _root.getMovieClip("MC_NAME"); mc.gotoAndStop(2); }}); 取得したMovieClipをコントロール ※APIリファレンス参照

Slide 25

Slide 25 text

API リファレンス swf2js.wordpress.com/api

Slide 26

Slide 26 text

DEMO③

Slide 27

Slide 27 text

swfを合成して JavaScriptでコンテンツ作成

Slide 28

Slide 28 text

var _root = swf2js.createRootMovieClip(240, 240, 12); var mc1 = _root.createEmptyMovieClip(“MC1”, 1); mc1.loadMovie("monster.swf"); 基本的にはFlashのmethodと同名

Slide 29

Slide 29 text

var _root = swf2js.createRootMovieClip(240, 240, 12); var mc1 = _root.createEmptyMovieClip(“MC1”, 1); mc1.loadMovie("monster.swf"); _rootを生成 _rootを生成 第一引数はwidth 第二引数はheight 第三引数はフレームレート 第四引数はloadの第二引数と同じくObjectが使えます。

Slide 30

Slide 30 text

var _root = swf2js.createRootMovieClip(240, 240, 12); var mc1 = _root.createEmptyMovieClip("MC1", 1); mc1.loadMovie("monster.swf"); _rootの中に空のMovieClipを生成 _rootの中に空のMovieClipを生成 第一引数はインスタンス名 第二引数は深度

Slide 31

Slide 31 text

var _root = swf2js.createRootMovieClip(240, 240, 12); var mc1 = _root.createEmptyMovieClip("MC1", 1); mc1.loadMovie("monster.swf"); 外部swfを読み込む mc1に外部swfを読み込む 第一引数はswfのURL

Slide 32

Slide 32 text

DEMO④

Slide 33

Slide 33 text

ご質問などあれば

Slide 34

Slide 34 text

ご清聴ありがとうございました