SlideShare una empresa de Scribd logo
1 de 55
HTML5
Javascript
     GAME
        By min tae, Kim
GAME
HTML로가능한가?
GAME
GAME
무엇이필요할까?
richard garriott
john d. carmack
GAME
당신은창조적입니까?
   확실해요?
GAME
MediaResourceControl
PixelControlMechanism
Programmer
Physics
GraphicsAccelerator
HighPerformanceNetworkProtocol
GAME
                                                         HTML4   HTML5
MediaResourceControl
PixelControlMechanism
Programmer
Physics
GraphicsAccelerator
HighPerformanceNetworkProtocol
GAME
MediaResourceControl




IMG   VIDEO
   AUDIO
        DIV
GAME
PixelControlMechanism




     CANVAS
       2D
         3D
GAME
GraphicsAccelerator
GAME
HighPerformanceNetworkProtocol




             WebSocket
GAME
GettingStarted

function start() {
    ......
                 ?????
IsogenicEngine
     Akihabara                                           gameQuery
    three.js          bdge                 JS3D                                   GameJs
      PropulsionJS                                    TheRenderEngine Flax
   Aves Tom'sHalls                                           js-verge CopperLicht
  Cocos2D GLGE                                                                   GammaJS
                ClanFX                                                 jGen RocketEngine
 Canvex
Sarien.netinterpreter                                          Curve3D FlixelJS
                                                                    Unity3D gTile xc.js
  SpiderGL C3DL
                                                                  j5g3 JavascriptGamelib
  TheJavascript2DGameEngine Diggy
 Crafty SpellScript Impact O3D EffectGames Sandy3D
              cssgameengine TheGMPJavascriptGameEngine
                   Rosewood                           vegalib                       jsGameSoup
                                                                      Pre3d
Crafty
Spriteimage
Crafty
Backgroundimage
Crafty
GettingStarted


Crafty.init(50);  Frame rate
Crafty.canvas();
Crafty
GettingStarted


Crafty.init(50);
Crafty.canvas();
Crafty
  Preloadtheresources

Crafty.load([sprite.png, bg.png],
    function() {
        Crafty.sprite(64, sprite.png, {
            ship: [0,0],
            big: [1,0],
            medium: [2,0],
            small: [3,0]
        }
);
Crafty
  Preloadtheresources

Crafty.load([sprite.png, bg.png],
    function() {
        Crafty.sprite(64, sprite.png, {
            ship: [0,0],
            big: [1,0],
            medium: [2,0],
            small: [3,0]
        }
);
Crafty
  Setspritesize

Crafty.load([sprite.png, bg.png],
    function() {
        Crafty.sprite(64, sprite.png, {
            ship: [0,0],
            big: [1,0],
            medium: [2,0],
            small: [3,0]
        }
);
Crafty
  Definespriteobject

Crafty.load([sprite.png, bg.png],
    function() {
        Crafty.sprite(64, sprite.png, {
            ship: [0,0],
            big: [1,0],
            medium: [2,0],
            small: [3,0]
        }
);
Crafty
  Scene

Crafty.scene(main);

Crafty.scene(main, function() {
    Crafty.background(url('bg.png'));

...
Crafty
  Scene

Crafty.scene(main);

Crafty.scene(main, function() {
    Crafty.background(url('bg.png'));

...
Crafty
  Scoredisplay

var score = Crafty.e(2D, DOM, text)
    .text(Score: 0)
    .attr({x: Crafty.viewport.width - 300,
     y: Crafty.viewport.height - 50,
     w: 200, h:50})
    .css({color: #fff}
);
Crafty
  Scoredisplay

var score = Crafty.e(2D, DOM, text)
    .text(Score: 0)
    .attr({x: Crafty.viewport.width - 300,
     y: Crafty.viewport.height - 50,
     w: 200, h:50})
    .css({color: #fff}
);
Crafty
  Scoredisplay

var score = Crafty.e(2D, DOM, text)
    .text(Score: 0)
    .attr({x: Crafty.viewport.width - 300,
     y: Crafty.viewport.height - 50,
     w: 200, h:50})
    .css({color: #fff}
);
Crafty
  Scoredisplay

var score = Crafty.e(2D, DOM, text)
    .text(Score: 0)
    .attr({x: Crafty.viewport.width - 300,
     y: Crafty.viewport.height - 50,
     w: 200, h:50})
    .css({color: #fff})
;
Crafty
   Player

var player = Crafty.e(
    2D, canvas, ship, controls, collision, score)
    .attr({move: {left: false, right: false, up: false,
        down: false}, xspeed: 0, yspeed: 0,
        x: 100, 100})
    .bind(keydown, function(e) {
        if(e.keyCode === Crafty.keys.RA) {
            this.move.right = true;
Crafty
   Player

var player = Crafty.e(
    2D, canvas, ship, controls, collision, score)
    .attr({move: {left: false, right: false, up: false,
        down: false}, xspeed: 0, yspeed: 0,
        x: 100, 100})
    .bind(keydown, function(e) {
        if(e.keyCode === Crafty.keys.RA) {
            this.move.right = true;
Crafty
   Playerattribute

var player = Crafty.e(
    2D, canvas, ship, controls, collision, score)
    .attr({move: {left: false, right: false, up: false,
        down: false}, xspeed: 0, yspeed: 0,
        x: 100, 100})
    .bind(keydown, function(e) {
        if(e.keyCode === Crafty.keys.RA) {
            this.move.right = true;
Crafty
   Bindkeyboardeventhandler

var player = Crafty.e(
    2D, canvas, ship, controls, collision, score)
    .attr({move: {left: false, right: false, up: false,
        down: false}, xspeed: 0, yspeed: 0,
        x: 100, 100})
    .bind(keydown, function(e) {
        if(e.keyCode === Crafty.keys.RA) {
            this.move.right = true;
Crafty
   Bindkeyboardeventhandler

var player = Crafty.e(
    2D, canvas, ship, controls, collision, score)
    .attr({move: {left: false, right: false, up: false,
        down: false}, xspeed: 0, yspeed: 0,
        x: 100, 100})
    .bind(keydown, function(e) {
        if(e.keyCode === Crafty.keys.RA) {
            this.move.right = true;
Crafty
Actioncontrol

.attr({move: {left: false, right: false, up: false,
    down: false}, xspeed: 0, yspeed: 0,
    x: 100, 100})
.bind(keydown, function(e) {
    if(e.keyCode === Crafty.keys.RA) {
        this.move.right = true; }})
.collision(asteroid, function() {
            Crafty.scene(main);
Crafty
   Firebullet

if(e.keyCode === Crafty.keys.SP) {
    Crafty.e(2D, DOM, color, bullet)
    .color(rgb(255, 0, 0))
    .bind(enterframe, function() {!
        if(this._x  Crafty.viewport.width ||
           this._x  0 || this._y 
           Crafty.viewport.height || this._y  0) {
               this.destroy();
         }
Crafty
   Firebullet

if(e.keyCode === Crafty.keys.SP) {
    Crafty.e(2D, DOM, color, bullet)
    .color(rgb(255, 0, 0))
    .bind(enterframe, function() {!
        if(this._x  Crafty.viewport.width ||
           this._x  0 || this._y 
           Crafty.viewport.height || this._y  0) {
               this.destroy();
         }
Crafty
   Firebullet

if(e.keyCode === Crafty.keys.SP) {
    Crafty.e(2D, DOM, color, bullet)
    .color(rgb(255, 0, 0))
    .bind(enterframe, function() {!
        if(this._x  Crafty.viewport.width ||
           this._x  0 || this._y 
           Crafty.viewport.height || this._y  0) {
               this.destroy();
         }
Crafty
   Firebullet

if(e.keyCode === Crafty.keys.SP) {
    Crafty.e(2D, DOM, color, bullet)
    .color(rgb(255, 0, 0))
    .bind(enterframe, function() {!
        if(this._x  Crafty.viewport.width ||
           this._x  0 || this._y 
           Crafty.viewport.height || this._y  0) {
               this.destroy();
         }
Crafty
   Firebullet

if(e.keyCode === Crafty.keys.SP) {
    Crafty.e(2D, DOM, color, bullet)
    .color(rgb(255, 0, 0))
    .bind(enterframe, function() {!
        if(this._x  Crafty.viewport.width ||
           this._x  0 || this._y 
           Crafty.viewport.height || this._y  0) {
               this.destroy();
         }
Crafty
   Asteroid

Crafty.c(asteroid, {
    init: function() {
        this.attr( ... )
        .bind(enterframe, function() { ... })
        .collision(bullet, function(e) {
            player.incrementScore(5);
        });
    }
});
Crafty
   Asteroid

Crafty.c(asteroid, {
    init: function() {
        this.attr( ... )
        .bind(enterframe, function() { ... })
        .collision(bullet, function(e) {
            player.incrementScore(5);
        });
    }
});
Crafty
   Asteroid

Crafty.c(asteroid, {
    init: function() {
        this.attr( ... )
        .bind(enterframe, function() { ... })
        .collision(bullet, function(e) {
            player.incrementScore(5);
        });
    }
});
Crafty
   Asteroid

Crafty.c(asteroid, {
    init: function() {
        this.attr( ... )
        .bind(enterframe, function() { ... })
        .collision(bullet, function(e) {
            player.incrementScore(5);
        });
    }
});
Crafty
   StartFinish

for(var i = 0; i  10; i++) {
    Crafty.e(2D, DOM, big, collision, asteroid);
}
IsogenicEngine
     Akihabara                                           gameQuery
    three.js          bdge                  JS3D                                   GameJs
      PropulsionJS                                   Crafty                            Flax
  Aves Tom'sHalls                                            js-verge CopperLicht
  Cocos2D GLGE                                                                   GammaJS
                ClanFX                                                 jGen RocketEngine
 Canvex
Sarien.netinterpreter                                          Curve3D FlixelJS
                                                                    Unity3D gTile xc.js
  SpiderGL C3DL
                                                                  j5g3 JavascriptGamelib
  TheJavascript2DGameEngine Diggy
     SpellScript                         Impact                  EffectGames Sandy3D
                                                      O3D
  cssgameengine                            TheGMPJavascriptGameEngine
                     TheRenderEngine
           Rosewood                                   vegalib Pre3d jsGameSoup
IsogenicEngine
     Akihabara                                           gameQuery
    three.js          bdge                  JS3D                                   GameJs
      PropulsionJS                                   Crafty                            Flax
  Aves Tom'sHalls                                            js-verge CopperLicht
  Cocos2D GLGE                                                                   GammaJS
                ClanFX                                                 jGen RocketEngine
 Canvex
Sarien.netinterpreter                                          Curve3D FlixelJS
                                                                    Unity3D gTile xc.js
  SpiderGL C3DL
                                                                  j5g3 JavascriptGamelib
  TheJavascript2DGameEngine Diggy
     SpellScript                         Impact                  EffectGames Sandy3D
                                                      O3D
  cssgameengine                            TheGMPJavascriptGameEngine
                     TheRenderEngine
           Rosewood                                   vegalib Pre3d jsGameSoup
HTML5
Javascript
     GAME
        By min tae, Kim




 Thank you!

Más contenido relacionado

La actualidad más candente

TicketBEKA? Ticket booking
TicketBEKA? Ticket bookingTicketBEKA? Ticket booking
TicketBEKA? Ticket bookingLikhith Pujari
 
Writing a Space Shooter with HTML5 Canvas
Writing a Space Shooter with HTML5 CanvasWriting a Space Shooter with HTML5 Canvas
Writing a Space Shooter with HTML5 CanvasSteve Purkis
 
HTML5 Canvas - The Future of Graphics on the Web
HTML5 Canvas - The Future of Graphics on the WebHTML5 Canvas - The Future of Graphics on the Web
HTML5 Canvas - The Future of Graphics on the WebRobin Hawkes
 
Emil Bay "Password Hashing"
Emil Bay "Password Hashing"Emil Bay "Password Hashing"
Emil Bay "Password Hashing"Fwdays
 
MongoDB Live Hacking
MongoDB Live HackingMongoDB Live Hacking
MongoDB Live HackingTobias Trelle
 
Introduction to HTML5 Canvas
Introduction to HTML5 CanvasIntroduction to HTML5 Canvas
Introduction to HTML5 CanvasMindy McAdams
 
The Ring programming language version 1.7 book - Part 57 of 196
The Ring programming language version 1.7 book - Part 57 of 196The Ring programming language version 1.7 book - Part 57 of 196
The Ring programming language version 1.7 book - Part 57 of 196Mahmoud Samir Fayed
 
codebits 2009 HTML5 JS APIs
codebits 2009 HTML5 JS APIscodebits 2009 HTML5 JS APIs
codebits 2009 HTML5 JS APIsRemy Sharp
 
Exploring Canvas
Exploring CanvasExploring Canvas
Exploring CanvasKevin Hoyt
 
Test Driven Cocos2d
Test Driven Cocos2dTest Driven Cocos2d
Test Driven Cocos2dEric Smith
 
Desarrollo de módulos en Drupal e integración con dispositivos móviles
Desarrollo de módulos en Drupal e integración con dispositivos móvilesDesarrollo de módulos en Drupal e integración con dispositivos móviles
Desarrollo de módulos en Drupal e integración con dispositivos móvilesLuis Curo Salvatierra
 
Test driven game development silly, stupid or inspired?
Test driven game development   silly, stupid or inspired?Test driven game development   silly, stupid or inspired?
Test driven game development silly, stupid or inspired?Eric Smith
 
앱스프레소를 이용한 모바일 앱 개발(2)
앱스프레소를 이용한 모바일 앱 개발(2)앱스프레소를 이용한 모바일 앱 개발(2)
앱스프레소를 이용한 모바일 앱 개발(2)mosaicnet
 
Data Mangling with mongoDB the Right Way [PyData London] 2016]
Data Mangling with mongoDB the Right Way [PyData London] 2016]Data Mangling with mongoDB the Right Way [PyData London] 2016]
Data Mangling with mongoDB the Right Way [PyData London] 2016]Alexander Hendorf
 
The Ring programming language version 1.9 book - Part 53 of 210
The Ring programming language version 1.9 book - Part 53 of 210The Ring programming language version 1.9 book - Part 53 of 210
The Ring programming language version 1.9 book - Part 53 of 210Mahmoud Samir Fayed
 
The Ring programming language version 1.5.1 book - Part 46 of 180
The Ring programming language version 1.5.1 book - Part 46 of 180The Ring programming language version 1.5.1 book - Part 46 of 180
The Ring programming language version 1.5.1 book - Part 46 of 180Mahmoud Samir Fayed
 
PyCon2009_AI_Alt
PyCon2009_AI_AltPyCon2009_AI_Alt
PyCon2009_AI_AltHiroshi Ono
 

La actualidad más candente (20)

TicketBEKA? Ticket booking
TicketBEKA? Ticket bookingTicketBEKA? Ticket booking
TicketBEKA? Ticket booking
 
Writing a Space Shooter with HTML5 Canvas
Writing a Space Shooter with HTML5 CanvasWriting a Space Shooter with HTML5 Canvas
Writing a Space Shooter with HTML5 Canvas
 
HTML5 Canvas - The Future of Graphics on the Web
HTML5 Canvas - The Future of Graphics on the WebHTML5 Canvas - The Future of Graphics on the Web
HTML5 Canvas - The Future of Graphics on the Web
 
Game dev 101 part 2
Game dev 101   part 2Game dev 101   part 2
Game dev 101 part 2
 
Emil Bay "Password Hashing"
Emil Bay "Password Hashing"Emil Bay "Password Hashing"
Emil Bay "Password Hashing"
 
MongoDB Live Hacking
MongoDB Live HackingMongoDB Live Hacking
MongoDB Live Hacking
 
Canvas - The Cure
Canvas - The CureCanvas - The Cure
Canvas - The Cure
 
Introduction to HTML5 Canvas
Introduction to HTML5 CanvasIntroduction to HTML5 Canvas
Introduction to HTML5 Canvas
 
Prototype UI Intro
Prototype UI IntroPrototype UI Intro
Prototype UI Intro
 
The Ring programming language version 1.7 book - Part 57 of 196
The Ring programming language version 1.7 book - Part 57 of 196The Ring programming language version 1.7 book - Part 57 of 196
The Ring programming language version 1.7 book - Part 57 of 196
 
codebits 2009 HTML5 JS APIs
codebits 2009 HTML5 JS APIscodebits 2009 HTML5 JS APIs
codebits 2009 HTML5 JS APIs
 
Exploring Canvas
Exploring CanvasExploring Canvas
Exploring Canvas
 
Test Driven Cocos2d
Test Driven Cocos2dTest Driven Cocos2d
Test Driven Cocos2d
 
Desarrollo de módulos en Drupal e integración con dispositivos móviles
Desarrollo de módulos en Drupal e integración con dispositivos móvilesDesarrollo de módulos en Drupal e integración con dispositivos móviles
Desarrollo de módulos en Drupal e integración con dispositivos móviles
 
Test driven game development silly, stupid or inspired?
Test driven game development   silly, stupid or inspired?Test driven game development   silly, stupid or inspired?
Test driven game development silly, stupid or inspired?
 
앱스프레소를 이용한 모바일 앱 개발(2)
앱스프레소를 이용한 모바일 앱 개발(2)앱스프레소를 이용한 모바일 앱 개발(2)
앱스프레소를 이용한 모바일 앱 개발(2)
 
Data Mangling with mongoDB the Right Way [PyData London] 2016]
Data Mangling with mongoDB the Right Way [PyData London] 2016]Data Mangling with mongoDB the Right Way [PyData London] 2016]
Data Mangling with mongoDB the Right Way [PyData London] 2016]
 
The Ring programming language version 1.9 book - Part 53 of 210
The Ring programming language version 1.9 book - Part 53 of 210The Ring programming language version 1.9 book - Part 53 of 210
The Ring programming language version 1.9 book - Part 53 of 210
 
The Ring programming language version 1.5.1 book - Part 46 of 180
The Ring programming language version 1.5.1 book - Part 46 of 180The Ring programming language version 1.5.1 book - Part 46 of 180
The Ring programming language version 1.5.1 book - Part 46 of 180
 
PyCon2009_AI_Alt
PyCon2009_AI_AltPyCon2009_AI_Alt
PyCon2009_AI_Alt
 

Similar a Html5 game programming overview

HTML5 - Daha Flash bir web?
HTML5 - Daha Flash bir web?HTML5 - Daha Flash bir web?
HTML5 - Daha Flash bir web?Ankara JUG
 
jQuery Foot-Gun Features
jQuery Foot-Gun FeaturesjQuery Foot-Gun Features
jQuery Foot-Gun Featuresdmethvin
 
Gems of GameplayKit. UA Mobile 2017.
Gems of GameplayKit. UA Mobile 2017.Gems of GameplayKit. UA Mobile 2017.
Gems of GameplayKit. UA Mobile 2017.UA Mobile
 
HTML5って必要?
HTML5って必要?HTML5って必要?
HTML5って必要?GCS2013
 
Making Games in JavaScript
Making Games in JavaScriptMaking Games in JavaScript
Making Games in JavaScriptSam Cartwright
 
Mobile Game and Application with J2ME - Collision Detection
Mobile Gameand Application withJ2ME  - Collision DetectionMobile Gameand Application withJ2ME  - Collision Detection
Mobile Game and Application with J2ME - Collision DetectionJenchoke Tachagomain
 
Mobile Game and Application with J2ME
Mobile Gameand Application with J2MEMobile Gameand Application with J2ME
Mobile Game and Application with J2MEJenchoke Tachagomain
 
Building Native Apps- A Digital Canvas for Coders and Designers with Walter Luh
Building Native Apps- A Digital Canvas for Coders and Designers with Walter LuhBuilding Native Apps- A Digital Canvas for Coders and Designers with Walter Luh
Building Native Apps- A Digital Canvas for Coders and Designers with Walter LuhFITC
 
You will learn RxJS in 2017
You will learn RxJS in 2017You will learn RxJS in 2017
You will learn RxJS in 2017名辰 洪
 
JavaScript Advanced - Useful methods to power up your code
JavaScript Advanced - Useful methods to power up your codeJavaScript Advanced - Useful methods to power up your code
JavaScript Advanced - Useful methods to power up your codeLaurence Svekis ✔
 
Massimo Artizzu - The tricks of Houdini: a magic wand for the future of CSS -...
Massimo Artizzu - The tricks of Houdini: a magic wand for the future of CSS -...Massimo Artizzu - The tricks of Houdini: a magic wand for the future of CSS -...
Massimo Artizzu - The tricks of Houdini: a magic wand for the future of CSS -...Codemotion
 
Exploring Canvas
Exploring CanvasExploring Canvas
Exploring CanvasKevin Hoyt
 
How to build a html5 websites.v1
How to build a html5 websites.v1How to build a html5 websites.v1
How to build a html5 websites.v1Bitla Software
 
Самые вкусные баги из игрового кода: как ошибаются наши коллеги-программисты ...
Самые вкусные баги из игрового кода: как ошибаются наши коллеги-программисты ...Самые вкусные баги из игрового кода: как ошибаются наши коллеги-программисты ...
Самые вкусные баги из игрового кода: как ошибаются наши коллеги-программисты ...DevGAMM Conference
 
Jeroen Vloothuis Bend Kss To Your Will
Jeroen Vloothuis   Bend Kss To Your WillJeroen Vloothuis   Bend Kss To Your Will
Jeroen Vloothuis Bend Kss To Your WillVincenzo Barone
 
MiamiJS - The Future of JavaScript
MiamiJS - The Future of JavaScriptMiamiJS - The Future of JavaScript
MiamiJS - The Future of JavaScriptCaridy Patino
 

Similar a Html5 game programming overview (20)

HTML5 - Daha Flash bir web?
HTML5 - Daha Flash bir web?HTML5 - Daha Flash bir web?
HTML5 - Daha Flash bir web?
 
Maze VR
Maze VRMaze VR
Maze VR
 
jQuery Foot-Gun Features
jQuery Foot-Gun FeaturesjQuery Foot-Gun Features
jQuery Foot-Gun Features
 
A More Flash Like Web?
A More Flash Like Web?A More Flash Like Web?
A More Flash Like Web?
 
Gems of GameplayKit. UA Mobile 2017.
Gems of GameplayKit. UA Mobile 2017.Gems of GameplayKit. UA Mobile 2017.
Gems of GameplayKit. UA Mobile 2017.
 
HTML5って必要?
HTML5って必要?HTML5って必要?
HTML5って必要?
 
Making Games in JavaScript
Making Games in JavaScriptMaking Games in JavaScript
Making Games in JavaScript
 
CreateJS
CreateJSCreateJS
CreateJS
 
Mobile Game and Application with J2ME - Collision Detection
Mobile Gameand Application withJ2ME  - Collision DetectionMobile Gameand Application withJ2ME  - Collision Detection
Mobile Game and Application with J2ME - Collision Detection
 
Mobile Game and Application with J2ME
Mobile Gameand Application with J2MEMobile Gameand Application with J2ME
Mobile Game and Application with J2ME
 
Building Native Apps- A Digital Canvas for Coders and Designers with Walter Luh
Building Native Apps- A Digital Canvas for Coders and Designers with Walter LuhBuilding Native Apps- A Digital Canvas for Coders and Designers with Walter Luh
Building Native Apps- A Digital Canvas for Coders and Designers with Walter Luh
 
You will learn RxJS in 2017
You will learn RxJS in 2017You will learn RxJS in 2017
You will learn RxJS in 2017
 
JavaScript Advanced - Useful methods to power up your code
JavaScript Advanced - Useful methods to power up your codeJavaScript Advanced - Useful methods to power up your code
JavaScript Advanced - Useful methods to power up your code
 
Massimo Artizzu - The tricks of Houdini: a magic wand for the future of CSS -...
Massimo Artizzu - The tricks of Houdini: a magic wand for the future of CSS -...Massimo Artizzu - The tricks of Houdini: a magic wand for the future of CSS -...
Massimo Artizzu - The tricks of Houdini: a magic wand for the future of CSS -...
 
Exploring Canvas
Exploring CanvasExploring Canvas
Exploring Canvas
 
How to build a html5 websites.v1
How to build a html5 websites.v1How to build a html5 websites.v1
How to build a html5 websites.v1
 
Самые вкусные баги из игрового кода: как ошибаются наши коллеги-программисты ...
Самые вкусные баги из игрового кода: как ошибаются наши коллеги-программисты ...Самые вкусные баги из игрового кода: как ошибаются наши коллеги-программисты ...
Самые вкусные баги из игрового кода: как ошибаются наши коллеги-программисты ...
 
Jeroen Vloothuis Bend Kss To Your Will
Jeroen Vloothuis   Bend Kss To Your WillJeroen Vloothuis   Bend Kss To Your Will
Jeroen Vloothuis Bend Kss To Your Will
 
MiamiJS - The Future of JavaScript
MiamiJS - The Future of JavaScriptMiamiJS - The Future of JavaScript
MiamiJS - The Future of JavaScript
 
WebXR if X = how?
WebXR if X = how?WebXR if X = how?
WebXR if X = how?
 

Más de 민태 김

웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스
웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스
웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스민태 김
 
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)민태 김
 
외계어 스터디 4/5 Event & Library
외계어 스터디 4/5 Event & Library외계어 스터디 4/5 Event & Library
외계어 스터디 4/5 Event & Library민태 김
 
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git민태 김
 
외계어 스터디 3/5 function and object
외계어 스터디 3/5   function and object외계어 스터디 3/5   function and object
외계어 스터디 3/5 function and object민태 김
 
외계어 스터디 2/5 - Expressions & statements
외계어 스터디 2/5 - Expressions & statements외계어 스터디 2/5 - Expressions & statements
외계어 스터디 2/5 - Expressions & statements민태 김
 
외계어 스터디 1/5 - Overview
외계어 스터디 1/5 - Overview외계어 스터디 1/5 - Overview
외계어 스터디 1/5 - Overview민태 김
 
비개발자를 위한 Javascript 알아가기 #7.1
비개발자를 위한 Javascript 알아가기 #7.1비개발자를 위한 Javascript 알아가기 #7.1
비개발자를 위한 Javascript 알아가기 #7.1민태 김
 
비개발자를 위한 Javascript 알아가기 #7
비개발자를 위한 Javascript 알아가기 #7비개발자를 위한 Javascript 알아가기 #7
비개발자를 위한 Javascript 알아가기 #7민태 김
 
비개발자를 위한 Javascript 알아가기 #6.1
비개발자를 위한 Javascript 알아가기 #6.1비개발자를 위한 Javascript 알아가기 #6.1
비개발자를 위한 Javascript 알아가기 #6.1민태 김
 
비개발자를 위한 Javascript 알아가기 #6
비개발자를 위한 Javascript 알아가기 #6비개발자를 위한 Javascript 알아가기 #6
비개발자를 위한 Javascript 알아가기 #6민태 김
 
MEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overviewMEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overview민태 김
 
비개발자를 위한 Javascript 알아가기 #5.1
비개발자를 위한 Javascript 알아가기 #5.1비개발자를 위한 Javascript 알아가기 #5.1
비개발자를 위한 Javascript 알아가기 #5.1민태 김
 
비개발자를 위한 Javascript 알아가기 #5
비개발자를 위한 Javascript 알아가기 #5비개발자를 위한 Javascript 알아가기 #5
비개발자를 위한 Javascript 알아가기 #5민태 김
 
비개발자를 위한 Javascript 알아가기 #4.1
비개발자를 위한 Javascript 알아가기 #4.1비개발자를 위한 Javascript 알아가기 #4.1
비개발자를 위한 Javascript 알아가기 #4.1민태 김
 
비개발자를 위한 Javascript 알아가기 #4
비개발자를 위한 Javascript 알아가기 #4비개발자를 위한 Javascript 알아가기 #4
비개발자를 위한 Javascript 알아가기 #4민태 김
 
비개발자를 위한 Javascript 알아가기 #3
비개발자를 위한 Javascript 알아가기 #3비개발자를 위한 Javascript 알아가기 #3
비개발자를 위한 Javascript 알아가기 #3민태 김
 
비개발자를 위한 Javascript 알아가기 #2
비개발자를 위한 Javascript 알아가기 #2비개발자를 위한 Javascript 알아가기 #2
비개발자를 위한 Javascript 알아가기 #2민태 김
 
비개발자를 위한 Javascript 알아가기 #1
비개발자를 위한 Javascript 알아가기 #1비개발자를 위한 Javascript 알아가기 #1
비개발자를 위한 Javascript 알아가기 #1민태 김
 

Más de 민태 김 (20)

Git - Level 2
Git - Level 2Git - Level 2
Git - Level 2
 
웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스
웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스
웹을 지탱하는 차세대 기술 @한국웹20주년 컨퍼런스
 
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
초보자를 위한 정규 표현식 가이드 (자바스크립트 기준)
 
외계어 스터디 4/5 Event & Library
외계어 스터디 4/5 Event & Library외계어 스터디 4/5 Event & Library
외계어 스터디 4/5 Event & Library
 
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
버전관리를 들어본적 없는 사람들을 위한 DVCS - Git
 
외계어 스터디 3/5 function and object
외계어 스터디 3/5   function and object외계어 스터디 3/5   function and object
외계어 스터디 3/5 function and object
 
외계어 스터디 2/5 - Expressions & statements
외계어 스터디 2/5 - Expressions & statements외계어 스터디 2/5 - Expressions & statements
외계어 스터디 2/5 - Expressions & statements
 
외계어 스터디 1/5 - Overview
외계어 스터디 1/5 - Overview외계어 스터디 1/5 - Overview
외계어 스터디 1/5 - Overview
 
비개발자를 위한 Javascript 알아가기 #7.1
비개발자를 위한 Javascript 알아가기 #7.1비개발자를 위한 Javascript 알아가기 #7.1
비개발자를 위한 Javascript 알아가기 #7.1
 
비개발자를 위한 Javascript 알아가기 #7
비개발자를 위한 Javascript 알아가기 #7비개발자를 위한 Javascript 알아가기 #7
비개발자를 위한 Javascript 알아가기 #7
 
비개발자를 위한 Javascript 알아가기 #6.1
비개발자를 위한 Javascript 알아가기 #6.1비개발자를 위한 Javascript 알아가기 #6.1
비개발자를 위한 Javascript 알아가기 #6.1
 
비개발자를 위한 Javascript 알아가기 #6
비개발자를 위한 Javascript 알아가기 #6비개발자를 위한 Javascript 알아가기 #6
비개발자를 위한 Javascript 알아가기 #6
 
MEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overviewMEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overview
 
비개발자를 위한 Javascript 알아가기 #5.1
비개발자를 위한 Javascript 알아가기 #5.1비개발자를 위한 Javascript 알아가기 #5.1
비개발자를 위한 Javascript 알아가기 #5.1
 
비개발자를 위한 Javascript 알아가기 #5
비개발자를 위한 Javascript 알아가기 #5비개발자를 위한 Javascript 알아가기 #5
비개발자를 위한 Javascript 알아가기 #5
 
비개발자를 위한 Javascript 알아가기 #4.1
비개발자를 위한 Javascript 알아가기 #4.1비개발자를 위한 Javascript 알아가기 #4.1
비개발자를 위한 Javascript 알아가기 #4.1
 
비개발자를 위한 Javascript 알아가기 #4
비개발자를 위한 Javascript 알아가기 #4비개발자를 위한 Javascript 알아가기 #4
비개발자를 위한 Javascript 알아가기 #4
 
비개발자를 위한 Javascript 알아가기 #3
비개발자를 위한 Javascript 알아가기 #3비개발자를 위한 Javascript 알아가기 #3
비개발자를 위한 Javascript 알아가기 #3
 
비개발자를 위한 Javascript 알아가기 #2
비개발자를 위한 Javascript 알아가기 #2비개발자를 위한 Javascript 알아가기 #2
비개발자를 위한 Javascript 알아가기 #2
 
비개발자를 위한 Javascript 알아가기 #1
비개발자를 위한 Javascript 알아가기 #1비개발자를 위한 Javascript 알아가기 #1
비개발자를 위한 Javascript 알아가기 #1
 

Último

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 

Último (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 

Html5 game programming overview

  • 1. HTML5 Javascript GAME By min tae, Kim
  • 8.
  • 10. GAME HTML4 HTML5 MediaResourceControl PixelControlMechanism Programmer Physics GraphicsAccelerator HighPerformanceNetworkProtocol
  • 11. GAME MediaResourceControl IMG VIDEO AUDIO DIV
  • 15.
  • 16.
  • 18.
  • 19. IsogenicEngine Akihabara gameQuery three.js bdge JS3D GameJs PropulsionJS TheRenderEngine Flax Aves Tom'sHalls js-verge CopperLicht Cocos2D GLGE GammaJS ClanFX jGen RocketEngine Canvex Sarien.netinterpreter Curve3D FlixelJS Unity3D gTile xc.js SpiderGL C3DL j5g3 JavascriptGamelib TheJavascript2DGameEngine Diggy Crafty SpellScript Impact O3D EffectGames Sandy3D cssgameengine TheGMPJavascriptGameEngine Rosewood vegalib jsGameSoup Pre3d
  • 20.
  • 21.
  • 23.
  • 27. Crafty Preloadtheresources Crafty.load([sprite.png, bg.png], function() { Crafty.sprite(64, sprite.png, { ship: [0,0], big: [1,0], medium: [2,0], small: [3,0] } );
  • 28. Crafty Preloadtheresources Crafty.load([sprite.png, bg.png], function() { Crafty.sprite(64, sprite.png, { ship: [0,0], big: [1,0], medium: [2,0], small: [3,0] } );
  • 29. Crafty Setspritesize Crafty.load([sprite.png, bg.png], function() { Crafty.sprite(64, sprite.png, { ship: [0,0], big: [1,0], medium: [2,0], small: [3,0] } );
  • 30. Crafty Definespriteobject Crafty.load([sprite.png, bg.png], function() { Crafty.sprite(64, sprite.png, { ship: [0,0], big: [1,0], medium: [2,0], small: [3,0] } );
  • 31. Crafty Scene Crafty.scene(main); Crafty.scene(main, function() { Crafty.background(url('bg.png')); ...
  • 32. Crafty Scene Crafty.scene(main); Crafty.scene(main, function() { Crafty.background(url('bg.png')); ...
  • 33. Crafty Scoredisplay var score = Crafty.e(2D, DOM, text) .text(Score: 0) .attr({x: Crafty.viewport.width - 300, y: Crafty.viewport.height - 50, w: 200, h:50}) .css({color: #fff} );
  • 34. Crafty Scoredisplay var score = Crafty.e(2D, DOM, text) .text(Score: 0) .attr({x: Crafty.viewport.width - 300, y: Crafty.viewport.height - 50, w: 200, h:50}) .css({color: #fff} );
  • 35. Crafty Scoredisplay var score = Crafty.e(2D, DOM, text) .text(Score: 0) .attr({x: Crafty.viewport.width - 300, y: Crafty.viewport.height - 50, w: 200, h:50}) .css({color: #fff} );
  • 36. Crafty Scoredisplay var score = Crafty.e(2D, DOM, text) .text(Score: 0) .attr({x: Crafty.viewport.width - 300, y: Crafty.viewport.height - 50, w: 200, h:50}) .css({color: #fff}) ;
  • 37. Crafty Player var player = Crafty.e( 2D, canvas, ship, controls, collision, score) .attr({move: {left: false, right: false, up: false, down: false}, xspeed: 0, yspeed: 0, x: 100, 100}) .bind(keydown, function(e) { if(e.keyCode === Crafty.keys.RA) { this.move.right = true;
  • 38. Crafty Player var player = Crafty.e( 2D, canvas, ship, controls, collision, score) .attr({move: {left: false, right: false, up: false, down: false}, xspeed: 0, yspeed: 0, x: 100, 100}) .bind(keydown, function(e) { if(e.keyCode === Crafty.keys.RA) { this.move.right = true;
  • 39. Crafty Playerattribute var player = Crafty.e( 2D, canvas, ship, controls, collision, score) .attr({move: {left: false, right: false, up: false, down: false}, xspeed: 0, yspeed: 0, x: 100, 100}) .bind(keydown, function(e) { if(e.keyCode === Crafty.keys.RA) { this.move.right = true;
  • 40. Crafty Bindkeyboardeventhandler var player = Crafty.e( 2D, canvas, ship, controls, collision, score) .attr({move: {left: false, right: false, up: false, down: false}, xspeed: 0, yspeed: 0, x: 100, 100}) .bind(keydown, function(e) { if(e.keyCode === Crafty.keys.RA) { this.move.right = true;
  • 41. Crafty Bindkeyboardeventhandler var player = Crafty.e( 2D, canvas, ship, controls, collision, score) .attr({move: {left: false, right: false, up: false, down: false}, xspeed: 0, yspeed: 0, x: 100, 100}) .bind(keydown, function(e) { if(e.keyCode === Crafty.keys.RA) { this.move.right = true;
  • 42. Crafty Actioncontrol .attr({move: {left: false, right: false, up: false, down: false}, xspeed: 0, yspeed: 0, x: 100, 100}) .bind(keydown, function(e) { if(e.keyCode === Crafty.keys.RA) { this.move.right = true; }}) .collision(asteroid, function() { Crafty.scene(main);
  • 43. Crafty Firebullet if(e.keyCode === Crafty.keys.SP) { Crafty.e(2D, DOM, color, bullet) .color(rgb(255, 0, 0)) .bind(enterframe, function() {! if(this._x Crafty.viewport.width || this._x 0 || this._y Crafty.viewport.height || this._y 0) { this.destroy(); }
  • 44. Crafty Firebullet if(e.keyCode === Crafty.keys.SP) { Crafty.e(2D, DOM, color, bullet) .color(rgb(255, 0, 0)) .bind(enterframe, function() {! if(this._x Crafty.viewport.width || this._x 0 || this._y Crafty.viewport.height || this._y 0) { this.destroy(); }
  • 45. Crafty Firebullet if(e.keyCode === Crafty.keys.SP) { Crafty.e(2D, DOM, color, bullet) .color(rgb(255, 0, 0)) .bind(enterframe, function() {! if(this._x Crafty.viewport.width || this._x 0 || this._y Crafty.viewport.height || this._y 0) { this.destroy(); }
  • 46. Crafty Firebullet if(e.keyCode === Crafty.keys.SP) { Crafty.e(2D, DOM, color, bullet) .color(rgb(255, 0, 0)) .bind(enterframe, function() {! if(this._x Crafty.viewport.width || this._x 0 || this._y Crafty.viewport.height || this._y 0) { this.destroy(); }
  • 47. Crafty Firebullet if(e.keyCode === Crafty.keys.SP) { Crafty.e(2D, DOM, color, bullet) .color(rgb(255, 0, 0)) .bind(enterframe, function() {! if(this._x Crafty.viewport.width || this._x 0 || this._y Crafty.viewport.height || this._y 0) { this.destroy(); }
  • 48. Crafty Asteroid Crafty.c(asteroid, { init: function() { this.attr( ... ) .bind(enterframe, function() { ... }) .collision(bullet, function(e) { player.incrementScore(5); }); } });
  • 49. Crafty Asteroid Crafty.c(asteroid, { init: function() { this.attr( ... ) .bind(enterframe, function() { ... }) .collision(bullet, function(e) { player.incrementScore(5); }); } });
  • 50. Crafty Asteroid Crafty.c(asteroid, { init: function() { this.attr( ... ) .bind(enterframe, function() { ... }) .collision(bullet, function(e) { player.incrementScore(5); }); } });
  • 51. Crafty Asteroid Crafty.c(asteroid, { init: function() { this.attr( ... ) .bind(enterframe, function() { ... }) .collision(bullet, function(e) { player.incrementScore(5); }); } });
  • 52. Crafty StartFinish for(var i = 0; i 10; i++) { Crafty.e(2D, DOM, big, collision, asteroid); }
  • 53. IsogenicEngine Akihabara gameQuery three.js bdge JS3D GameJs PropulsionJS Crafty Flax Aves Tom'sHalls js-verge CopperLicht Cocos2D GLGE GammaJS ClanFX jGen RocketEngine Canvex Sarien.netinterpreter Curve3D FlixelJS Unity3D gTile xc.js SpiderGL C3DL j5g3 JavascriptGamelib TheJavascript2DGameEngine Diggy SpellScript Impact EffectGames Sandy3D O3D cssgameengine TheGMPJavascriptGameEngine TheRenderEngine Rosewood vegalib Pre3d jsGameSoup
  • 54. IsogenicEngine Akihabara gameQuery three.js bdge JS3D GameJs PropulsionJS Crafty Flax Aves Tom'sHalls js-verge CopperLicht Cocos2D GLGE GammaJS ClanFX jGen RocketEngine Canvex Sarien.netinterpreter Curve3D FlixelJS Unity3D gTile xc.js SpiderGL C3DL j5g3 JavascriptGamelib TheJavascript2DGameEngine Diggy SpellScript Impact EffectGames Sandy3D O3D cssgameengine TheGMPJavascriptGameEngine TheRenderEngine Rosewood vegalib Pre3d jsGameSoup
  • 55. HTML5 Javascript GAME By min tae, Kim Thank you!