SlideShare a Scribd company logo
1 of 32
Download to read offline
Canvas Only
Creative Coding in HTML5
“Software for Makers”
Make Magazine #30
processing.js paper.js
know processing want interactivity
artists --using code
[Casey Reas](reas.com)
[Aaron Koblin](aaronkoblin.com)
[Camille Utterback](camilleutterback.com)
java
PApplet
preprocessor
core.jar
awesome p5 books
p5 live coding video
• hello world
• show java file, how it builds the scaffolding
• show simple graphics demo
• more complex example
• arudino ide is based on the processing ide
“game loop” event based
KineticJS
EasleJS
paper.js
<!DOCTYPE html>
<html>
<head>
<title>Prototype : Paper : Test</title>
<script type="text/javascript" src="../../../lib/paper.js">
</script>
<script type="text/paperscript" src="js/app.js" canvas="testCanvas">
</script>
</head>
<body>
<canvas id="testCanvas" resize></canvas>
</body>
</html>
html»
«paper.js basics
var path = new Path.Circle(view.center, 30);
path.strokeColor = 'black';
!
function onResize(event) {
path.position = view.center;
}
js»
«paper.js basics
Paper.js live coding
video
• setting up a basic paper.js project
• creating some objects
• creating some interactivity with the mouse
processing.js
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Prototype : Processing + CoffeeScript : Test</title>
<link rel="stylesheet" href="stylesheets/app.css" />
</head>
<body>
<canvas id="p5canvas"></canvas>
<script type="text/javascript" src="../../../lib/jquery-1.9.1.min.js">
</script>
<script type="text/javascript" src="../../../lib/processing-1.4.1.js">
</script>
<script type="text/javascript" src="../../../lib/coffee-script-1.6.2.js">
</script>
<script type="text/coffeescript" src="js/app.coffee">
</script>
</body>
</html>
html»
«p5js basics
html { overflow: hidden; }
body { margin: 0px; }
css»
«p5js basics
$(window).resize ->
processing.size $(window).width(), $(window).height()
$(document).ready ->
canvas = document.getElementById "p5canvas"
window.processing = new Processing canvas, coffee_draw
coffee/jquery»
«p5js basics
coffee_draw = (p5) ->
p5.setup = () ->
p5.size $(window).width(), $(window).height()
p5.draw = () ->
p5.noStroke()
circle_size = p5.random(10, 40)
if circle_size < 30 then p5.fill 255, 0, 0
else p5.fill 0, 0, 255
p5.ellipse
p5.random(0, p5.width),
p5.random(0, p5.height),
circle_size,
circle_size
coffee/jquery»
«p5js basics
Processing.js live
coding video
• Setting up a basic processing.js sketch
• Creating some objects
• Creating some interactivity
css vs. canvas
Simple UI Creation live
coding video
• creating a simple object
• trapping for interactivity / bounds
• skinning objects
• circular menu example
Canvas UI Libraries
• Zebra UI
• github.com/barmalei/zebra
• FiveGUI
• github.com/elhsmart/FiveGUI
Going Canvas Only
• If we have our UI in Canvas what else do we
need
• Allowing for window resizing
• Different devices, media queries, etc.
• Whats next? Phonegap, AppCloud?
Cool Crossover Tech
• Toxiclibs -> Toxiclibs.js (2d/3d graphics, color,
math, physics)
• Box2d -> jBox2d -> box2djs (2d physics,
angrybirds)
Toxic Libs live coding
video
• Complex Color Interpolation and Modification
• geometry calculations in 2d and 3d
• complex 3d mesh generation
Box2d live coding
video
• Integrating box2d with processing.js
• Angry Birds Style Physics
• Physics Based UI Buttons and other elements
Additional Resources
Box2D vs Chipmunk: which physics engine for HTML5 games?
http://nine-software.com/2012/12/box2d-vs-chipmunk-html5-games/
!
AeroTwist Tutorials (three.js)
http://www.aerotwist.com/tutorials/
!
Coffeescript's `for` loops
http://www.jezng.com/2012/05/iteration-in-coffeescript/
!
ToxicLibs JavaDocs (documentation)
http://toxiclibs.org/javadocs/
!
Additional Resources
Box2D vs Chipmunk: which physics engine for HTML5 games?
http://nine-software.com/2012/12/box2d-vs-chipmunk-html5-games/
!
AeroTwist Tutorials (three.js)
http://www.aerotwist.com/tutorials/
!
Coffeescript's `for` loops
http://www.jezng.com/2012/05/iteration-in-coffeescript/
!
ToxicLibs JavaDocs (documentation)
http://toxiclibs.org/javadocs/
!
Thank you!
Questions Comments?
@manofstone
everything posted to:
github.com/manofstone/canvas-only/
Canvas Only: Creative Coding in HTML5

More Related Content

What's hot

Automated perf optimization - jQuery Conference
Automated perf optimization - jQuery ConferenceAutomated perf optimization - jQuery Conference
Automated perf optimization - jQuery ConferenceMatthew Lancaster
 
GSS Frontend Project Management
GSS Frontend Project ManagementGSS Frontend Project Management
GSS Frontend Project ManagementLaura Lee
 
Treeshaking your CSS
Treeshaking your CSSTreeshaking your CSS
Treeshaking your CSSJames Stone
 
Client Side Performance for Back End Developers - Camb Expert Talks, Nov 2016
Client Side Performance for Back End Developers - Camb Expert Talks, Nov 2016Client Side Performance for Back End Developers - Camb Expert Talks, Nov 2016
Client Side Performance for Back End Developers - Camb Expert Talks, Nov 2016Bart Read
 
About node-canvas
About node-canvasAbout node-canvas
About node-canvasSeiya Konno
 
To build a WordPress Theme: Wordcamp Denmark 2014
To build a WordPress Theme: Wordcamp Denmark 2014To build a WordPress Theme: Wordcamp Denmark 2014
To build a WordPress Theme: Wordcamp Denmark 2014James Bonham
 
Bundling your front-end with Webpack
Bundling your front-end with WebpackBundling your front-end with Webpack
Bundling your front-end with WebpackDanillo Corvalan
 
Static Websites - The Final Frontier
Static Websites - The Final FrontierStatic Websites - The Final Frontier
Static Websites - The Final FrontierJuho Vepsäläinen
 
JavaScript: Creative Coding for Browsers
JavaScript: Creative Coding for BrowsersJavaScript: Creative Coding for Browsers
JavaScript: Creative Coding for Browsersnoweverywhere
 
Mobile applications in a new way with React Native
Mobile applications in a new way with React NativeMobile applications in a new way with React Native
Mobile applications in a new way with React NativeEugene Zharkov
 
Angularjs vs Dojo toolkit | SuperSpeaker@CodeCamp Iasi 2014
Angularjs vs Dojo toolkit | SuperSpeaker@CodeCamp Iasi 2014Angularjs vs Dojo toolkit | SuperSpeaker@CodeCamp Iasi 2014
Angularjs vs Dojo toolkit | SuperSpeaker@CodeCamp Iasi 2014Endava
 
The New Design Workflow
The New Design WorkflowThe New Design Workflow
The New Design WorkflowPhase2
 
Javascript fatigue, 자바스크립트 피로
Javascript fatigue, 자바스크립트 피로Javascript fatigue, 자바스크립트 피로
Javascript fatigue, 자바스크립트 피로Rhio Kim
 
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...tdc-globalcode
 
Front-end Project Development -- from install, development to production
Front-end Project Development -- from install, development to productionFront-end Project Development -- from install, development to production
Front-end Project Development -- from install, development to productionLaura Lee
 
(2018) Webpack Encore - Asset Management for the rest of us
(2018) Webpack Encore - Asset Management for the rest of us(2018) Webpack Encore - Asset Management for the rest of us
(2018) Webpack Encore - Asset Management for the rest of usStefan Adolf
 

What's hot (19)

Automated perf optimization - jQuery Conference
Automated perf optimization - jQuery ConferenceAutomated perf optimization - jQuery Conference
Automated perf optimization - jQuery Conference
 
GCC 11-13-15
GCC 11-13-15GCC 11-13-15
GCC 11-13-15
 
GSS Frontend Project Management
GSS Frontend Project ManagementGSS Frontend Project Management
GSS Frontend Project Management
 
Treeshaking your CSS
Treeshaking your CSSTreeshaking your CSS
Treeshaking your CSS
 
Client Side Performance for Back End Developers - Camb Expert Talks, Nov 2016
Client Side Performance for Back End Developers - Camb Expert Talks, Nov 2016Client Side Performance for Back End Developers - Camb Expert Talks, Nov 2016
Client Side Performance for Back End Developers - Camb Expert Talks, Nov 2016
 
About node-canvas
About node-canvasAbout node-canvas
About node-canvas
 
To build a WordPress Theme: Wordcamp Denmark 2014
To build a WordPress Theme: Wordcamp Denmark 2014To build a WordPress Theme: Wordcamp Denmark 2014
To build a WordPress Theme: Wordcamp Denmark 2014
 
Bundling your front-end with Webpack
Bundling your front-end with WebpackBundling your front-end with Webpack
Bundling your front-end with Webpack
 
Static Websites - The Final Frontier
Static Websites - The Final FrontierStatic Websites - The Final Frontier
Static Websites - The Final Frontier
 
JavaScript: Creative Coding for Browsers
JavaScript: Creative Coding for BrowsersJavaScript: Creative Coding for Browsers
JavaScript: Creative Coding for Browsers
 
Mobile applications in a new way with React Native
Mobile applications in a new way with React NativeMobile applications in a new way with React Native
Mobile applications in a new way with React Native
 
Angularjs vs Dojo toolkit | SuperSpeaker@CodeCamp Iasi 2014
Angularjs vs Dojo toolkit | SuperSpeaker@CodeCamp Iasi 2014Angularjs vs Dojo toolkit | SuperSpeaker@CodeCamp Iasi 2014
Angularjs vs Dojo toolkit | SuperSpeaker@CodeCamp Iasi 2014
 
The New Design Workflow
The New Design WorkflowThe New Design Workflow
The New Design Workflow
 
Bootstrap vs. Skeleton
Bootstrap vs. SkeletonBootstrap vs. Skeleton
Bootstrap vs. Skeleton
 
Web Optimisation
Web OptimisationWeb Optimisation
Web Optimisation
 
Javascript fatigue, 자바스크립트 피로
Javascript fatigue, 자바스크립트 피로Javascript fatigue, 자바스크립트 피로
Javascript fatigue, 자바스크립트 피로
 
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...
TDC2017 | São Paulo - Trilha Cloud Computing How we figured out we had a SRE ...
 
Front-end Project Development -- from install, development to production
Front-end Project Development -- from install, development to productionFront-end Project Development -- from install, development to production
Front-end Project Development -- from install, development to production
 
(2018) Webpack Encore - Asset Management for the rest of us
(2018) Webpack Encore - Asset Management for the rest of us(2018) Webpack Encore - Asset Management for the rest of us
(2018) Webpack Encore - Asset Management for the rest of us
 

Viewers also liked

Creative coding academy
Creative coding academyCreative coding academy
Creative coding academyVivek Bhagwat
 
Arte Computacional
Arte ComputacionalArte Computacional
Arte ComputacionalLucas Cabral
 
Creative Coding Workshop - Introduction
Creative Coding Workshop - IntroductionCreative Coding Workshop - Introduction
Creative Coding Workshop - IntroductionYoussef Faltas
 
Creative Coding with Processing
Creative Coding with Processing Creative Coding with Processing
Creative Coding with Processing Christian Gwiozda
 
Intro to Creative Coding
Intro to Creative Coding  Intro to Creative Coding
Intro to Creative Coding Youssef Faltas
 
Introduction to Processing and creative coding
Introduction to Processing and creative codingIntroduction to Processing and creative coding
Introduction to Processing and creative codingJerome Herr
 
Creative Coding 1 - 1 Introduction
Creative Coding 1 - 1 IntroductionCreative Coding 1 - 1 Introduction
Creative Coding 1 - 1 IntroductionTill Nagel
 
StoryCode DIY Days Presentation - Creative Coding
StoryCode DIY Days Presentation - Creative CodingStoryCode DIY Days Presentation - Creative Coding
StoryCode DIY Days Presentation - Creative Codingstorycode
 

Viewers also liked (8)

Creative coding academy
Creative coding academyCreative coding academy
Creative coding academy
 
Arte Computacional
Arte ComputacionalArte Computacional
Arte Computacional
 
Creative Coding Workshop - Introduction
Creative Coding Workshop - IntroductionCreative Coding Workshop - Introduction
Creative Coding Workshop - Introduction
 
Creative Coding with Processing
Creative Coding with Processing Creative Coding with Processing
Creative Coding with Processing
 
Intro to Creative Coding
Intro to Creative Coding  Intro to Creative Coding
Intro to Creative Coding
 
Introduction to Processing and creative coding
Introduction to Processing and creative codingIntroduction to Processing and creative coding
Introduction to Processing and creative coding
 
Creative Coding 1 - 1 Introduction
Creative Coding 1 - 1 IntroductionCreative Coding 1 - 1 Introduction
Creative Coding 1 - 1 Introduction
 
StoryCode DIY Days Presentation - Creative Coding
StoryCode DIY Days Presentation - Creative CodingStoryCode DIY Days Presentation - Creative Coding
StoryCode DIY Days Presentation - Creative Coding
 

Similar to Canvas Only: Creative Coding in HTML5

EuRuKo JRuby Talk 2008
EuRuKo JRuby Talk 2008EuRuKo JRuby Talk 2008
EuRuKo JRuby Talk 2008geraldbauer
 
How to make Ajax Libraries work for you
How to make Ajax Libraries work for youHow to make Ajax Libraries work for you
How to make Ajax Libraries work for youSimon Willison
 
JavaScript Libraries: The Big Picture
JavaScript Libraries: The Big PictureJavaScript Libraries: The Big Picture
JavaScript Libraries: The Big PictureSimon Willison
 
React basic by Yoav Amit, Wix
React basic by Yoav Amit, Wix React basic by Yoav Amit, Wix
React basic by Yoav Amit, Wix Chen Lerner
 
About Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSAbout Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSNaga Harish M
 
Why you should build your own JS Frontend Framework
Why you should build your own JS Frontend FrameworkWhy you should build your own JS Frontend Framework
Why you should build your own JS Frontend Frameworkbaccigalupi
 
Creating 3D Worlds with WebGL and Babylon.js - Codemotion.es
Creating 3D Worlds with WebGL and Babylon.js - Codemotion.esCreating 3D Worlds with WebGL and Babylon.js - Codemotion.es
Creating 3D Worlds with WebGL and Babylon.js - Codemotion.esdavrous
 
Advanced Web Graphics with Canvas
Advanced Web Graphics with CanvasAdvanced Web Graphics with Canvas
Advanced Web Graphics with CanvasJason Harwig
 
Android
AndroidAndroid
Androidscottw
 
How dojo works
How dojo worksHow dojo works
How dojo worksAmit Tyagi
 
React Native - DILo Surabaya
React Native -  DILo SurabayaReact Native -  DILo Surabaya
React Native - DILo SurabayaDILo Surabaya
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizationsChris Love
 
Node.js for .NET Developers
Node.js for .NET DevelopersNode.js for .NET Developers
Node.js for .NET DevelopersDavid Neal
 
JavaScript Libraries (@Media)
JavaScript Libraries (@Media)JavaScript Libraries (@Media)
JavaScript Libraries (@Media)jeresig
 
Building a game engine with jQuery
Building a game engine with jQueryBuilding a game engine with jQuery
Building a game engine with jQueryPaul Bakaus
 
W3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 gamesW3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 gamesChanghwan Yi
 
The Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey VasilievThe Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey VasilievPivorak MeetUp
 

Similar to Canvas Only: Creative Coding in HTML5 (20)

EuRuKo JRuby Talk 2008
EuRuKo JRuby Talk 2008EuRuKo JRuby Talk 2008
EuRuKo JRuby Talk 2008
 
How to make Ajax Libraries work for you
How to make Ajax Libraries work for youHow to make Ajax Libraries work for you
How to make Ajax Libraries work for you
 
JavaScript Libraries: The Big Picture
JavaScript Libraries: The Big PictureJavaScript Libraries: The Big Picture
JavaScript Libraries: The Big Picture
 
Node azure
Node azureNode azure
Node azure
 
React basic by Yoav Amit, Wix
React basic by Yoav Amit, Wix React basic by Yoav Amit, Wix
React basic by Yoav Amit, Wix
 
Mobile native-hacks
Mobile native-hacksMobile native-hacks
Mobile native-hacks
 
About Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JSAbout Best friends - HTML, CSS and JS
About Best friends - HTML, CSS and JS
 
Why you should build your own JS Frontend Framework
Why you should build your own JS Frontend FrameworkWhy you should build your own JS Frontend Framework
Why you should build your own JS Frontend Framework
 
Creating 3D Worlds with WebGL and Babylon.js - Codemotion.es
Creating 3D Worlds with WebGL and Babylon.js - Codemotion.esCreating 3D Worlds with WebGL and Babylon.js - Codemotion.es
Creating 3D Worlds with WebGL and Babylon.js - Codemotion.es
 
Advanced Web Graphics with Canvas
Advanced Web Graphics with CanvasAdvanced Web Graphics with Canvas
Advanced Web Graphics with Canvas
 
Android
AndroidAndroid
Android
 
How dojo works
How dojo worksHow dojo works
How dojo works
 
React Native - DILo Surabaya
React Native -  DILo SurabayaReact Native -  DILo Surabaya
React Native - DILo Surabaya
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizations
 
Node.js for .NET Developers
Node.js for .NET DevelopersNode.js for .NET Developers
Node.js for .NET Developers
 
JavaScript Libraries (@Media)
JavaScript Libraries (@Media)JavaScript Libraries (@Media)
JavaScript Libraries (@Media)
 
Building a game engine with jQuery
Building a game engine with jQueryBuilding a game engine with jQuery
Building a game engine with jQuery
 
W3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 gamesW3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 games
 
java swing
java swingjava swing
java swing
 
The Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey VasilievThe Silver Bullet Syndrome by Alexey Vasiliev
The Silver Bullet Syndrome by Alexey Vasiliev
 

More from James Stone

Turku loves-storybook-styleguidist-styled-components
Turku loves-storybook-styleguidist-styled-componentsTurku loves-storybook-styleguidist-styled-components
Turku loves-storybook-styleguidist-styled-componentsJames Stone
 
Easy Bolt-on Docs Using React Styleguidist
Easy Bolt-on Docs Using React StyleguidistEasy Bolt-on Docs Using React Styleguidist
Easy Bolt-on Docs Using React StyleguidistJames Stone
 
Living Styleguides: Build Your Own Bootstrap
Living Styleguides: Build Your Own BootstrapLiving Styleguides: Build Your Own Bootstrap
Living Styleguides: Build Your Own BootstrapJames Stone
 
ZURB Foundation 5: Clean + Organized
ZURB Foundation 5: Clean + OrganizedZURB Foundation 5: Clean + Organized
ZURB Foundation 5: Clean + OrganizedJames Stone
 
Wordpress -> Middleman: Lesson learned in the 2-years since migrating
Wordpress -> Middleman: Lesson learned in the 2-years since migratingWordpress -> Middleman: Lesson learned in the 2-years since migrating
Wordpress -> Middleman: Lesson learned in the 2-years since migratingJames Stone
 
ZURB Foundation 5 -- Understanding the Ecosystem
ZURB Foundation 5 -- Understanding the EcosystemZURB Foundation 5 -- Understanding the Ecosystem
ZURB Foundation 5 -- Understanding the EcosystemJames Stone
 

More from James Stone (6)

Turku loves-storybook-styleguidist-styled-components
Turku loves-storybook-styleguidist-styled-componentsTurku loves-storybook-styleguidist-styled-components
Turku loves-storybook-styleguidist-styled-components
 
Easy Bolt-on Docs Using React Styleguidist
Easy Bolt-on Docs Using React StyleguidistEasy Bolt-on Docs Using React Styleguidist
Easy Bolt-on Docs Using React Styleguidist
 
Living Styleguides: Build Your Own Bootstrap
Living Styleguides: Build Your Own BootstrapLiving Styleguides: Build Your Own Bootstrap
Living Styleguides: Build Your Own Bootstrap
 
ZURB Foundation 5: Clean + Organized
ZURB Foundation 5: Clean + OrganizedZURB Foundation 5: Clean + Organized
ZURB Foundation 5: Clean + Organized
 
Wordpress -> Middleman: Lesson learned in the 2-years since migrating
Wordpress -> Middleman: Lesson learned in the 2-years since migratingWordpress -> Middleman: Lesson learned in the 2-years since migrating
Wordpress -> Middleman: Lesson learned in the 2-years since migrating
 
ZURB Foundation 5 -- Understanding the Ecosystem
ZURB Foundation 5 -- Understanding the EcosystemZURB Foundation 5 -- Understanding the Ecosystem
ZURB Foundation 5 -- Understanding the Ecosystem
 

Recently uploaded

Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一Fs
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
Intellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxIntellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxBipin Adhikari
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
Elevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New OrleansElevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New Orleanscorenetworkseo
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxeditsforyah
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 

Recently uploaded (20)

Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in  Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Jamuna Vihar Delhi reach out to us at 🔝9953056974🔝
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
Intellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxIntellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptx
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
Elevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New OrleansElevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New Orleans
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptxQ4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptx
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 

Canvas Only: Creative Coding in HTML5

  • 2. “Software for Makers” Make Magazine #30 processing.js paper.js know processing want interactivity
  • 3.
  • 4.
  • 5. artists --using code [Casey Reas](reas.com) [Aaron Koblin](aaronkoblin.com) [Camille Utterback](camilleutterback.com)
  • 6.
  • 9. p5 live coding video • hello world • show java file, how it builds the scaffolding • show simple graphics demo • more complex example • arudino ide is based on the processing ide
  • 10.
  • 11. “game loop” event based KineticJS EasleJS
  • 13. <!DOCTYPE html> <html> <head> <title>Prototype : Paper : Test</title> <script type="text/javascript" src="../../../lib/paper.js"> </script> <script type="text/paperscript" src="js/app.js" canvas="testCanvas"> </script> </head> <body> <canvas id="testCanvas" resize></canvas> </body> </html> html» «paper.js basics
  • 14. var path = new Path.Circle(view.center, 30); path.strokeColor = 'black'; ! function onResize(event) { path.position = view.center; } js» «paper.js basics
  • 15. Paper.js live coding video • setting up a basic paper.js project • creating some objects • creating some interactivity with the mouse
  • 17. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Prototype : Processing + CoffeeScript : Test</title> <link rel="stylesheet" href="stylesheets/app.css" /> </head> <body> <canvas id="p5canvas"></canvas> <script type="text/javascript" src="../../../lib/jquery-1.9.1.min.js"> </script> <script type="text/javascript" src="../../../lib/processing-1.4.1.js"> </script> <script type="text/javascript" src="../../../lib/coffee-script-1.6.2.js"> </script> <script type="text/coffeescript" src="js/app.coffee"> </script> </body> </html> html» «p5js basics
  • 18. html { overflow: hidden; } body { margin: 0px; } css» «p5js basics
  • 19. $(window).resize -> processing.size $(window).width(), $(window).height() $(document).ready -> canvas = document.getElementById "p5canvas" window.processing = new Processing canvas, coffee_draw coffee/jquery» «p5js basics
  • 20. coffee_draw = (p5) -> p5.setup = () -> p5.size $(window).width(), $(window).height() p5.draw = () -> p5.noStroke() circle_size = p5.random(10, 40) if circle_size < 30 then p5.fill 255, 0, 0 else p5.fill 0, 0, 255 p5.ellipse p5.random(0, p5.width), p5.random(0, p5.height), circle_size, circle_size coffee/jquery» «p5js basics
  • 21. Processing.js live coding video • Setting up a basic processing.js sketch • Creating some objects • Creating some interactivity
  • 23. Simple UI Creation live coding video • creating a simple object • trapping for interactivity / bounds • skinning objects • circular menu example
  • 24. Canvas UI Libraries • Zebra UI • github.com/barmalei/zebra • FiveGUI • github.com/elhsmart/FiveGUI
  • 25. Going Canvas Only • If we have our UI in Canvas what else do we need • Allowing for window resizing • Different devices, media queries, etc. • Whats next? Phonegap, AppCloud?
  • 26. Cool Crossover Tech • Toxiclibs -> Toxiclibs.js (2d/3d graphics, color, math, physics) • Box2d -> jBox2d -> box2djs (2d physics, angrybirds)
  • 27. Toxic Libs live coding video • Complex Color Interpolation and Modification • geometry calculations in 2d and 3d • complex 3d mesh generation
  • 28. Box2d live coding video • Integrating box2d with processing.js • Angry Birds Style Physics • Physics Based UI Buttons and other elements
  • 29. Additional Resources Box2D vs Chipmunk: which physics engine for HTML5 games? http://nine-software.com/2012/12/box2d-vs-chipmunk-html5-games/ ! AeroTwist Tutorials (three.js) http://www.aerotwist.com/tutorials/ ! Coffeescript's `for` loops http://www.jezng.com/2012/05/iteration-in-coffeescript/ ! ToxicLibs JavaDocs (documentation) http://toxiclibs.org/javadocs/ !
  • 30. Additional Resources Box2D vs Chipmunk: which physics engine for HTML5 games? http://nine-software.com/2012/12/box2d-vs-chipmunk-html5-games/ ! AeroTwist Tutorials (three.js) http://www.aerotwist.com/tutorials/ ! Coffeescript's `for` loops http://www.jezng.com/2012/05/iteration-in-coffeescript/ ! ToxicLibs JavaDocs (documentation) http://toxiclibs.org/javadocs/ !
  • 31. Thank you! Questions Comments? @manofstone everything posted to: github.com/manofstone/canvas-only/