Introductory Videos Martin Tourneboeuf Libgdx 11 Avril 2017 1
Total Page:16
File Type:pdf, Size:1020Kb
Introductory Videos Martin Tourneboeuf libGdx 11 Avril 2017 1 / 31 Introductory Videos Martin Tourneboeuf libGdx 11 Avril 2017 0 / 31 Introductory Videos Martin Tourneboeuf libGdx 11 Avril 2017 1 / 31 Introductory Videos Martin Tourneboeuf libGdx 11 Avril 2017 0 / 31 Introductory Videos Introduction Martin Tourneboeuf libGdx 11 Avril 2017 1 / 31 Introductory Videos Martin Tourneboeuf libGdx 11 Avril 2017 2 / 31 Introductory Videos Martin Tourneboeuf libGdx 11 Avril 2017 2 / 31 Introductory Videos Martin Tourneboeuf libGdx 11 Avril 2017 2 / 31 Introductory Videos Martin Tourneboeuf libGdx 11 Avril 2017 2 / 31 Introductory Videos Martin Tourneboeuf libGdx 11 Avril 2017 2 / 31 Introductory Videos Martin Tourneboeuf libGdx 11 Avril 2017 2 / 31 Introductory Videos Martin Tourneboeuf libGdx 11 Avril 2017 2 / 31 Introductory Videos |{ FBX - Gesture detector - Camera |{ Input multiplexer - Tile map - Particle editor Martin Tourneboeuf libGdx 11 Avril 2017 2 / 31 Font - Sprite - Texture - GUI |{ Shader - Box2D - Interpolation ||{ Introductory Videos |{ FBX - Gesture detector - Camera |{ Input multiplexer - Tile map - Particle editor Martin Tourneboeuf libGdx 11 Avril 2017 2 / 31 Font - Sprite - Texture - GUI |{ Shader - Box2D - Interpolation ||{ Introductory Videos |{ FBX - Gesture detector - Camera |{ Input multiplexer - Tile map - Particle editor Martin Tourneboeuf libGdx 11 Avril 2017 2 / 31 File I/O - Input - Accelerometer - Matrice |{ Application - OpenGl - Asset Manager - JSON ||{ Font - Sprite - Texture - GUI |{ Shader - Box2D - Interpolation ||{ Introductory Videos |{ FBX - Gesture detector - Camera |{ HTTP - TCP - Audio - Compass - Touch screen |{ Input multiplexer - Tile map - Particle editor |{ FFT - Serialisation - Preferences - PCM playback Martin Tourneboeuf libGdx 11 Avril 2017 2 / 31 File I/O - Input - Accelerometer - Matrice |{ Application - OpenGl - Asset Manager - JSON ||{ Font - Sprite - Texture - GUI |{ Shader - Box2D - Interpolation ||{ Introductory Videos |{ FBX - Gesture detector - Camera |{ HTTP - TCP - Audio - Compass - Touch screen |{ Input multiplexer - Tile map - Particle editor |{ FFT - Serialisation - Preferences - PCM playback Martin Tourneboeuf libGdx 11 Avril 2017 2 / 31 File I/O - Input - Accelerometer - Matrice |{ Application - OpenGl - Asset Manager - JSON ||{ Font - Sprite - Texture - GUI |{ Shader - Box2D - Interpolation ||{ Introductory Videos the Java open-source cross-platform |{ FBX - Gesture detector - Camera |{ HTTP - TCP - Audio - Compass - Touch screen |{ Input multiplexer - Tile map - Particle editor |{ FFT - Serialisation - Preferences - PCM playback Martin Tourneboeuf libGdx 11 Avril 2017 2 / 31 File I/O - Input - Accelerometer - Matrice |{ Application - OpenGl - Asset Manager - JSON ||{ Font - Sprite - Texture - GUI |{ Shader - Box2D - Interpolation ||{ Introductory Videos the Java open-source cross-platform |{ FBX - Gesture detector - Camera |{ HTTP - TCP - Audio - Compass - Touch screen |{ Input multiplexer - Tile map - Particle editor |{ FFT - Serialisation - Preferences - PCM playback game framework Martin Tourneboeuf libGdx 11 Avril 2017 2 / 31 File I/O - Input - Accelerometer - Matrice |{ Application - OpenGl - Asset Manager - JSON ||{ Introductory Videos Martin Tourneboeuf libGdx 11 Avril 2017 3 / 31 Introductory Videos | Introductory Videos 1 Overview of libGdx What is libGdx ? Who uses libGdx ? How can all that be \easy" ? 2 Low level bindings example : openGL Android Desktop GLES 3 High level Api Architecture Tests | Conclusion Martin Tourneboeuf libGdx 11 Avril 2017 4 / 31 Overview of libGdx Plan | Introductory Videos 1 Overview of libGdx What is libGdx ? Who uses libGdx ? How can all that be \easy" ? 2 Low level bindings example : openGL Android Desktop GLES 3 High level Api Architecture Tests | Conclusion Martin Tourneboeuf libGdx 11 Avril 2017 5 / 31 \LibGdx is big framework accessible with little difficutly” (me) Overview of libGdx What is libGdx ? "libgdx is a cross-platform game development framework. Write your game once in Java, deploy to Windows, Linux, Mac OS X, Steam, Android, iOS, HTML5/WebGL" Initiated in 2010 by Mario Zechner Open Source : https://github.com/libgdx/libgdx Community : 5000 forks + nice wiki Website : http://libgdx.badlogicgames.com with a game repo Martin Tourneboeuf libGdx 11 Avril 2017 6 / 31 (me) Overview of libGdx What is libGdx ? "libgdx is a cross-platform game development framework. Write your game once in Java, deploy to Windows, Linux, Mac OS X, Steam, Android, iOS, HTML5/WebGL" Initiated in 2010 by Mario Zechner Open Source : https://github.com/libgdx/libgdx Community : 5000 forks + nice wiki Website : http://libgdx.badlogicgames.com with a game repo \LibGdx is big framework accessible with little difficutly” Martin Tourneboeuf libGdx 11 Avril 2017 6 / 31 Overview of libGdx What is libGdx ? "libgdx is a cross-platform game development framework. Write your game once in Java, deploy to Windows, Linux, Mac OS X, Steam, Android, iOS, HTML5/WebGL" Initiated in 2010 by Mario Zechner Open Source : https://github.com/libgdx/libgdx Community : 5000 forks + nice wiki Website : http://libgdx.badlogicgames.com with a game repo \LibGdx is big framework accessible with little difficutly” (me) Martin Tourneboeuf libGdx 11 Avril 2017 6 / 31 Overview of libGdx What is libGdx ? Features Low level Mid Level High Level Graphics Texture UI skinnable SpriteBatch 3D (fbx support) Input Gesture detector Box2d Input multiplexer Bullet (via jni) File I/O AssetManager Serialisation Threaded IO Audio Math Utility FFT mp3/ogg decoding Application Disposable Screen management Managment Networking !! Extensions : freetype Martin Tourneboeuf libGdx 11 Avril 2017 7 / 31 Overview of libGdx Who uses libGdx ? From www.appbrain.com/stats/libraries/tag/game-framework/ android-game-frameworks Martin Tourneboeuf libGdx 11 Avril 2017 8 / 31 Overview of libGdx Who uses libGdx ? +10M download. From https://play.google.com/store/apps/details?id=com. nianticproject.ingress Martin Tourneboeuf libGdx 11 Avril 2017 9 / 31 Overview of libGdx Who uses libGdx ? +500k download at 2$. From https://play.google.com/store/apps/details?id=com. bithack.apparatus Martin Tourneboeuf libGdx 11 Avril 2017 10 / 31 Overview of libGdx How can all that be \easy" ? Martin Tourneboeuf libGdx 11 Avril 2017 11 / 31 Overview of libGdx How can all that be \easy" ? 1 package com. tutorial .helloGame; 2 3 import com.badlogic.gdx.ApplicationAdapter; 4 import com.badlogic.gdx.Gdx; 5 import com.badlogic.gdx.graphics.GL20; 6 import com.badlogic.gdx.graphics.Texture; 7 import com.badlogic.gdx.graphics.g2d. SpriteBatch ; 8 9 public class HellloGame extends ApplicationAdapter f 10 SpriteBatch batch; 11 Texture img; 12 13 @Override 14 public void create () f 15 batch= new SpriteBatch(); 16 img= new Texture("badlogic.jpg"); 17 g 18 19 @Override 20 public void render () f 21 Gdx.gl.glClearColor(1, 0, 0, 1); 22 Gdx.gl.glClear(GL20.GL COLOR BUFFER BIT ) ; 23 batch.begin(); 24 batch.draw(img, 0, 0); 25 batch.end(); 26 g 27 g Martin Tourneboeuf libGdx 11 Avril 2017 11 / 31 Overview of libGdx How can all that be \easy" ? 1 package com. tutorial .helloGame; 2 3 import com.badlogic.gdx.ApplicationAdapter; 4 import com.badlogic.gdx.Gdx; 5 import com.badlogic.gdx.graphics.GL20; 6 import com.badlogic.gdx.graphics.Texture; 7 import com.badlogic.gdx.graphics.g2d. SpriteBatch ; 8 9 public class HellloGame extends ApplicationAdapter f 10 SpriteBatch batch; 11 Texture img; 12 13 @Override 14 public void create () f 15 batch= new SpriteBatch(); 16 img= new Texture("badlogic.jpg"); 17 g 18 19 @Override 20 public void render () f 21 Gdx.gl.glClearColor(1, 0, 0, 1); 22 Gdx.gl.glClear(GL20.GL COLOR BUFFER BIT ) ; 23 batch.begin(); 24 batch.draw(img, 0, 0); 25 batch.end(); 26 g 27 g Martin Tourneboeuf libGdx 11 Avril 2017 11 / 31 Overview of libGdx How can all that be \easy" ? 1 package com. tutorial .helloGame; 2 3 import com.badlogic.gdx.ApplicationAdapter; 4 import com.badlogic.gdx.Gdx; 5 import com.badlogic.gdx.graphics.GL20; 6 import com.badlogic.gdx.graphics.Texture; 7 import com.badlogic.gdx.graphics.g2d. SpriteBatch ; 8 9 public class HellloGame extends ApplicationAdapter f 10 SpriteBatch batch; 11 Texture img; 12 13 @Override 14 public void create () f 15 batch= new SpriteBatch(); 16 img= new Texture("badlogic.jpg"); 17 g 18 19 @Override 20 public void render () f 21 Gdx.gl.glClearColor(1, 0, 0, 1); 22 Gdx.gl.glClear(GL20.GL COLOR BUFFER BIT ) ; 23 batch.begin(); 24 batch.draw(img, 0, 0); 25 batch.end(); 26 g 27 g Martin Tourneboeuf libGdx 11 Avril 2017 11 / 31 Overview of libGdx How can all that be \easy" ? Martin Tourneboeuf libGdx 11 Avril 2017 12 / 31 Low level bindings example : openGL Plan | Introductory Videos 1 Overview of libGdx What is libGdx ? Who uses libGdx ? How can all that be \easy" ? 2 Low level bindings example : openGL Android Desktop GLES 3 High level Api Architecture Tests | Conclusion Martin Tourneboeuf libGdx 11 Avril 2017 13 / 31 Low level bindings example : openGL Martin Tourneboeuf libGdx 11 Avril 2017 14 / 31 Low level bindings example : openGL 1 package com.badlogic.gdx.graphics; 2 3 import java.nio.Buffer; 4 import java.nio.FloatBuffer; 5 import java.nio.IntBuffer; 6 7 p u b l i c interface GL20 f 8 p u b l i c void glActiveTexture (int texture); 9 p u b l i c void glBindTexture (int target, int texture); 10 p u b l i c void glBlendFunc (int sfactor , int dfactor); 11 p u b l i c void glClear (int mask); 12 g Martin Tourneboeuf libGdx 11 Avril 2017 15 / 31 Low level bindings example : openGL Android