Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
CreateJS - from Flash to Javascript
Search
高見龍
May 19, 2013
Programming
4.2k
27
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CreateJS - from Flash to Javascript
高見龍
May 19, 2013
More Decks by 高見龍
See All by 高見龍
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
660
自己的售票系統自己做!
eddie
0
680
AI Agent 時代的開發者生存指南
eddie
4
2.8k
print("Hello, World")
eddie
2
680
為你自己學 Python - 冷知識篇
eddie
1
500
為你自己學 Python
eddie
0
810
Generative AI 年會小聚 - AI 教我寫程式
eddie
0
260
讓數據說話:用 Python、Prometheus 和 Grafana 講故事
eddie
0
800
AI 時代的程式語言學習法
eddie
0
310
Other Decks in Programming
See All in Programming
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
220
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
360
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
330
Verilogで学ぶCPU自作入門.pdf
uyuki234
5
2.6k
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
250
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
260
Are APIs Still Relevant in the AI Era?
soyuka
0
300
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
3
12k
Kiroで創り、AgentCoreで繋ぐ!AWSで実践する「AI-DLC」から「AIエージェント統合」までの最新地図
licux
4
770
The Rails Doctrine Decade
koic
2
360
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
270
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
200
Featured
See All Featured
Code Review Best Practice
trishagee
74
20k
Believing is Seeing
oripsolob
1
220
[SF Ruby Conf 2025] Rails X
palkan
3
1.4k
Code Reviewing Like a Champion
maltzj
528
40k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
The SEO Collaboration Effect
kristinabergwall1
1
570
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
280
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Pragmatic Product Professional
lauravandoore
37
7.5k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
290
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
Transcript
CreateJS 從 Flash 到 JavaScript
None
I’m a Ruby guy ≈ 4 years
but also a Flash guy ≈ 8 years
目前狀狀態 80% iOS app, 20% Ruby / Rails
None
None
CreateJS 從 Flash 到 JavaScript
在開始之前..
武林林㆗㊥中, 曾流流傳著許多的 Flash 殺殺手..
Flash 真的死了了嗎?
可能吧 :)
Flash Play != Flash
None
如果你曾經是個 Flash 程式設計師 或是現在還靠 Flash 討生活...
該㈻㊫學 HTML5 嗎?
聽說說說 HTML5 的 Canvas ㈲㊒有點難?!
Grant Skinner photo by Andy Polaine http://gskinner.com/
http://www.createjs.com
EaselJS .. provides a full, hierarchical display list, a core
interaction model, and helper classes to make working with the HTML5 Canvas element much easier.
TweenJS A simple but powerful tweening / animation library for
Javascript. Part of the CreateJS suite of libraries.
SoundJS A Javascript library for working with Audio. Features a
simple interface as the front end to multiple audio APIs via a plugin model. Currently supports HTML5 Audio & Flash.
PreloadJS .. makes preloading assets & getting aggregate progress events
easier in JavaScript. It uses XHR2 when available, and falls back to tag-based loading when not.
原因?
CreateJS 是 真.大神神㊢寫的!
None
None
Flash-like 的 API
㈲㊒有文件、範例例!
授權?
MIT
Flash == Commercial software
Flash != Not Open
安裝
✴ 就放在你的專案裡裡.. ✴ 或是直接從 CDN 引入.. 安裝 <script src="lib/createjs.js"></script> <script
src="http://code.createjs.com/createjs-2013.05.14.min.js"> </script>
None
哈囉,世界!
哈囉,世界 var canvas = document.getElementById("demo_canvas"); var stage = new createjs.Stage(canvas);
var text = new createjs.Text("Hello, World"); text.color = "white"; text.font = "25px Ariel"; text.x = 50; text.y = 50; stage.addChild(text); stage.update();
等等! 剛剛的程式碼裡裡面是不不是㈲㊒有看到 "Stage" 跟 "addChild"..?!
應該是巧合吧 反正程式都都嘛長得很像.. :)
小圈圈
畫圈圈 var canvas = document.getElementById("demo_canvas"); var stage = new createjs.Stage(canvas);
var graphic = new createjs.Graphics(); graphic.beginStroke("white"); graphic.setStrokeStyle(5); graphic.beginFill("red"); graphic.drawCircle(100, 100, 50); var shape = new createjs.Shape(graphic); stage.addChild(shape); stage.update();
var canvas = document.getElementById("demo_canvas"); var stage = new createjs.Stage(canvas); var
graphic = new createjs.Graphics(); graphic.beginStroke("white") .setStrokeStyle(5) .beginFill("red") .drawCircle(100, 100, 50); var shape = new createjs.Shape(graphic); stage.addChild(shape); stage.update(); 畫圈圈
var canvas = document.getElementById("demo_canvas"); var stage = new createjs.Stage(canvas); var
graphic = new createjs.Graphics(); graphic.s("white") .ss(5) .f("red") .dc(100, 100, 50); var shape = new createjs.Shape(graphic); stage.addChild(shape); stage.update(); 畫圈圈
親愛的, 剛剛是不不是㈲㊒有看到 "Graphics" 跟 "Shape",還㈲㊒有㆒㈠㊀一些熟悉的畫線、 畫圈圈跟著色的方法..?!
旋轉吧,方塊!
旋轉吧,方塊! var stage, shape; function init() { var canvas =
document.getElementById("demo_canvas"); stage = new createjs.Stage(canvas); var g = new createjs.Graphics(); g.s("white").ss(5).f("red").dr(0, 0, 100, 100); shape = new createjs.Shape(g); shape.x = shape.y = 150; shape.regX = shape.regY = 50; stage.addChild(shape); stage.update(); createjs.Ticker.setFPS(30); createjs.Ticker.addEventListener("tick", tickHandler); } function tickHandler (event) { shape.rotation += 4; stage.update(); }
Classes in EaselJS
DisplayObject Abstract base class for all display elements in EaselJS.
Exposes all of the display properties (ex. x, y, rotation, scaleX, scaleY, skewX, skewY, alpha, shadow, etc) that are common to all display objects.
Stage The root level display container for display elements. Each
time tick() is called on Stage, it will update and render the display list to its associated canvas.
親愛的 Flasher 們, ㈲㊒有種回家、熟悉的感動了了嗎..
Container A nestable display container, which lets you aggregate display
objects and manipulate them as a group.
㆒㈠㊀一層包㆒㈠㊀一層
Text Renders a single line of text to the stage.
Bitmap Draws an image, video or canvas to the canvas
according to its display properties.
Shape Renders a Graphics object within the context of the
display list.
Graphics Provides an easy to use API for drawing vector
data. Can be used with Shape, or completely stand alone.
Filter The base filter class that other filters (ex. BoxBlurFilter,
ColorMatrixFilter, etc) extend.
Ticker Provides a pausable centralized tick manager for ticking Stage
instances or other time based code.
Rectangle Represents a rectangle as defined by the points (x,
y) and (x +width, y+height).
SpriteSheet Encapsulates all the data associated with a sprite sheet
to be used with BitmapAnimation.
動畫!
None
But!
好啦, 我知道你們㊢寫程式的都都很厲害..
我是美術設計師, 只會畫圖以及用 Flash 拉拉時間軸 做動畫,㊢寫些簡單的 gotoAndPlay( )
工具包?!
Zoë A stand alone tool for exporting SWF animations as
EaselJS sprite sheets that can be used in Canvas and CSS.
CreateJS toolkits
改得動嗎?!
匯出檔案大小?!
效能?!
我沒㈲㊒有評估過所㈲㊒有的 javascript libs..
我只知道, ㊢寫的出來來的東西, 才㈲㊒有所謂的效能可以調校
瀏覽器相容性?!
其實我不不是很在乎.. XD
工商服務 photo by North Carolina Digital Heritage Center
- Senior art designer - Mobile app developer 尋找..
None
750+ attendees in 2013
750+ attendees in 2013
450 tickets sold out in 4 mins
WebConf Taiwan 2014
Will be held in Jan 2014
850+ in 2014, hopefully.
All about web development
fun with us :)
Q & A
Contact ✓ Website ✓ Blog ✓ Facebook ✓ Twitter ✓
Email ✓ Mobile http://www.eddie.com.tw http://blog.eddie.com.tw https://www.facebook.com/eddiekao https://twitter.com/eddiekao
[email protected]
+886-928-617-687