diff --git a/.vscode/settings.json b/.vscode/settings.json index e112a70..58c0223 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,5 +3,6 @@ "java.project.outputPath": "bin", "java.project.referencedLibraries": [ "lib/**/*.jar" - ] + ], + "java.configuration.updateBuildConfiguration": "interactive" } diff --git a/resources/font/OptimusPrinceps.ttf b/resources/font/OptimusPrinceps.ttf new file mode 100644 index 0000000..e11017f Binary files /dev/null and b/resources/font/OptimusPrinceps.ttf differ diff --git a/resources/font/RobotoSlab-Regular.ttf b/resources/font/RobotoSlab-Regular.ttf new file mode 100644 index 0000000..eb52a79 Binary files /dev/null and b/resources/font/RobotoSlab-Regular.ttf differ diff --git a/resources/font/Starjedi.ttf b/resources/font/Starjedi.ttf new file mode 100644 index 0000000..2ac5bb1 Binary files /dev/null and b/resources/font/Starjedi.ttf differ diff --git a/resources/font/Timeless.ttf b/resources/font/Timeless.ttf new file mode 100644 index 0000000..0876626 Binary files /dev/null and b/resources/font/Timeless.ttf differ diff --git a/resources/font/ice_pixel-7.ttf b/resources/font/ice_pixel-7.ttf new file mode 100644 index 0000000..b447fca Binary files /dev/null and b/resources/font/ice_pixel-7.ttf differ diff --git a/src/PokeMudry.java b/src/PokeMudry.java index 0b46f85..a777dca 100644 --- a/src/PokeMudry.java +++ b/src/PokeMudry.java @@ -1,26 +1,44 @@ +import Screen.ScreenPlayer; import ch.hevs.gdx2d.desktop.PortableApplication; import ch.hevs.gdx2d.lib.GdxGraphics; -public class PokeMudry extends PortableApplication{ +public class PokeMudry extends PortableApplication { public final boolean ANDROID = false; public final int PLAYERS = 1; public static final int TIME = 10; // number of minutes for kill all enemy - /* + private ScreenPlayer screenPlayer = new ScreenPlayer(); + + public static void main(String[] args) { - + new PokeMudry(); } - */ + + PokeMudry(){ + super(1000, 800); + } + @Override public void onInit() { - // TODO Auto-generated method stub - + screenPlayer.init(); } @Override public void onGraphicRender(GdxGraphics g) { - // TODO Auto-generated method stub - + screenPlayer.render(g); + } + + + //key gestion + @Override + public void onKeyDown(int keycode) { + screenPlayer.screenManager.getActiveScreen().onKeyDown(keycode); + super.onKeyDown(keycode); + } + @Override + public void onKeyUp(int keycode) { + screenPlayer.screenManager.getActiveScreen().onKeyUp(keycode); + super.onKeyUp(keycode); } } diff --git a/src/Screen/ScreenBattle.java b/src/Screen/ScreenBattle.java index a4ac024..647cd2e 100644 --- a/src/Screen/ScreenBattle.java +++ b/src/Screen/ScreenBattle.java @@ -1,5 +1,51 @@ package Screen; -public class ScreenBattle { +import ch.hevs.gdx2d.components.screen_management.RenderingScreen; +import ch.hevs.gdx2d.lib.GdxGraphics; +import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.files.FileHandle; +import com.badlogic.gdx.graphics.Color; +import com.badlogic.gdx.graphics.g2d.BitmapFont; +import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator; +import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator.FreeTypeFontParameter; + +public class ScreenBattle extends RenderingScreen{ + + private BitmapFont optimus40; + + @Override + public void onInit() { + + //display the question + generateFont("resources//font//OptimusPrinceps.ttf", optimus40, 100, Color.WHITE); + + } + + @Override + public void onGraphicRender(GdxGraphics g) { + g.clear(Color.GREEN); + g.drawStringCentered(g.getScreenHeight()/2, "question", optimus40); + + } + + @Override + public void dispose() { + optimus40.dispose(); + + } + + public void generateFont(String file, BitmapFont bitmapFont, int height, Color c ){ + FileHandle fileHandle = Gdx.files.internal(file); + FreeTypeFontParameter parameter = new FreeTypeFontParameter(); + FreeTypeFontGenerator generator = new FreeTypeFontGenerator(fileHandle); + parameter.size = generator.scaleForPixelHeight(height); + parameter.color = c; + optimus40 = generator.generateFont(parameter); + generator.dispose(); + + } + + + } diff --git a/src/Screen/ScreenMap.java b/src/Screen/ScreenMap.java index 9c70f2b..8012e55 100644 --- a/src/Screen/ScreenMap.java +++ b/src/Screen/ScreenMap.java @@ -17,9 +17,10 @@ import com.badlogic.gdx.maps.tiled.renderers.OrthogonalTiledMapRenderer; import com.badlogic.gdx.math.Vector2; import Entity.Player; +import ch.hevs.gdx2d.components.screen_management.RenderingScreen; import ch.hevs.gdx2d.lib.GdxGraphics; -public class ScreenMap { +public class ScreenMap extends RenderingScreen{ // tiles management private Vector tiledLayer = new Vector<>(); @@ -40,7 +41,8 @@ public class ScreenMap { tMapRenderer.put(name,new OrthogonalTiledMapRenderer(tm)); } - public void init() { + @Override + public void onInit() { // Set initial zoom zoom = 1; @@ -50,7 +52,8 @@ public class ScreenMap { createMap("desert"); } - public void graphicRender(GdxGraphics g, Player p) { + @Override + public void onGraphicRender(GdxGraphics g) { tiledLayer.clear(); for (int i = 0; i < 50; i++) { @@ -68,7 +71,7 @@ public class ScreenMap { // Camera follows the hero g.zoom(zoom); - g.moveCamera(p.getPosition().x, p.getPosition().y, width * tileWidth, height * tileHeight); + //g.moveCamera(player.getPosition().x, player.getPosition().y, width * tileWidth, height * tileHeight); // Render the tileMap tMapRenderer.get(map).setView(g.getCamera()); @@ -77,6 +80,7 @@ public class ScreenMap { g.drawFPS(); } + public Vector getTile(Vector2 position, int offsetX, int offsetY) { Vector tiles = new Vector<>(); for (TiledMapTileLayer tl : tiledLayer) { diff --git a/src/Screen/ScreenPlayer.java b/src/Screen/ScreenPlayer.java index 16d0af0..ce5fde5 100644 --- a/src/Screen/ScreenPlayer.java +++ b/src/Screen/ScreenPlayer.java @@ -1,17 +1,26 @@ package Screen; +import Entity.Player; +import ch.hevs.gdx2d.lib.GdxGraphics; import ch.hevs.gdx2d.lib.ScreenManager; public class ScreenPlayer { - private ScreenManager screenManager; - private ScreenMap screenMap; - private ScreenBattle screenBattle; + public ScreenManager screenManager = new ScreenManager(); + + private Player player; public void init(){ + + player = new Player(8, 15); + + + screenManager.registerScreen(ScreenMap.class); + screenManager.registerScreen(ScreenBattle.class); } - public void render(){ + public void render(GdxGraphics g){ + screenManager.render(g); } } diff --git a/src/testYann.java b/src/testYann.java new file mode 100644 index 0000000..a99d05a --- /dev/null +++ b/src/testYann.java @@ -0,0 +1,47 @@ + +import Screen.ScreenBattle; +import ch.hevs.gdx2d.desktop.PortableApplication; +import ch.hevs.gdx2d.lib.GdxGraphics; +import ch.hevs.gdx2d.lib.ScreenManager; + +public class testYann extends PortableApplication{ + + private ScreenManager s = new ScreenManager(); + + ScreenBattle b; + + public static void main(String[] args) { + new testYann(); + + } + + testYann(){ + super(1000, 800); + } + + @Override + public void onInit() { + b = new ScreenBattle(); + s.registerScreen(b.getClass()); + } + + @Override + public void onGraphicRender(GdxGraphics g) { + s.render(g); + + } + + + + @Override + public void onKeyDown(int keycode) { + // TODO Auto-generated method stub + super.onKeyDown(keycode); + } + @Override + public void onKeyUp(int keycode) { + // TODO Auto-generated method stub + super.onKeyUp(keycode); + } + +}