First merge

master
Jonathan Hager 5 years ago
commit 935016bded

Binary file not shown.

@ -4,12 +4,14 @@ import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer; import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
import com.badlogic.gdx.utils.Timer; import com.badlogic.gdx.utils.Timer;
import com.trs.game.model.Model; import com.trs.game.model.Model;
import com.trs.game.view.View; import com.trs.game.view.View;
import com.trs.game.view.Button;
public class Controller extends ApplicationAdapter { public class Controller extends ApplicationAdapter {
SpriteBatch batch; SpriteBatch batch;
@ -17,6 +19,9 @@ public class Controller extends ApplicationAdapter {
Timer wallTimer; Timer wallTimer;
Model model; Model model;
View view; View view;
BitmapFont font;
Button button;
@Override @Override
public void create () { public void create () {
@ -32,11 +37,20 @@ public class Controller extends ApplicationAdapter {
// TODO: Implement timertask // TODO: Implement timertask
} }
}, 0, 1f); }, 0, 1f);
button = new Button(0, 200, 150, 200, 80, "EHRE", Color.YELLOW, Color.BLACK);
font = new BitmapFont();
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("font.ttf"));
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
parameter.size = 21;
font = generator.generateFont(parameter);
generator.dispose();
font.setColor(Color.BLACK);
} }
@Override @Override
public void render () { public void render () {
Gdx.gl.glClearColor(1, 0, 0, 1); Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
batch.begin(); batch.begin();
batch.end(); batch.end();
@ -46,6 +60,9 @@ public class Controller extends ApplicationAdapter {
renderer.setColor(Color.BLACK); renderer.setColor(Color.BLACK);
renderer.circle(50,50,5); renderer.circle(50,50,5);
renderer.end(); renderer.end();
button.render(batch,renderer,font);
} }
@Override @Override

@ -0,0 +1,68 @@
package com.trs.game.view;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.GlyphLayout;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
import com.badlogic.gdx.scenes.scene2d.utils.SpriteDrawable;
public class Button {
int id;
int xPos;
int yPos;
int width;
int height;
String text;
Color buttonColor;
Color textColor;
public Button(int id, int xPos, int yPos, int width, int height, String text, Color buttonColor, Color textColor){
this.id = id;
this.xPos = xPos;
this.yPos = yPos;
this.width = width;
this.height = height;
this.text = text;
this.buttonColor = buttonColor;
this.textColor = textColor;
}
public void render(SpriteBatch batch, ShapeRenderer renderer, BitmapFont font){
if(batch.isDrawing())batch.end();
if(renderer.isDrawing()) renderer.end();
renderer.begin(ShapeRenderer.ShapeType.Filled);
renderer.setColor(buttonColor);
renderer.rect(xPos, yPos, width, height);
renderer.end();
batch.begin();
font.setColor(textColor);
font.draw(batch, text, ((xPos + width/2) - (getTextWidth(font,text)/2)), ((yPos + height/2) + (getTextHeight(font,text)/2)));
batch.end();
}
public void dispose(){
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public float getTextWidth(BitmapFont font, String text){
GlyphLayout glyphLayout = new GlyphLayout();
glyphLayout.setText(font,text);
return glyphLayout.width;
}
public float getTextHeight(BitmapFont font, String text){
GlyphLayout glyphLayout = new GlyphLayout();
glyphLayout.setText(font,text);
return glyphLayout.height;
}
}

@ -1,4 +1,35 @@
package com.trs.game.view; package com.trs.game.view;
public interface Screen { import java.util.ArrayList;
public abstract class Screen {
public final int SCREEN_WIDTH;
public final int SCREEN_HEIGHT;
int id;
ArrayList<Button> buttons;
public Screen(int SCREEN_WIDTH, int SCREEN_HEIGHT){
buttons = new ArrayList();
this.SCREEN_WIDTH = SCREEN_WIDTH;
this.SCREEN_HEIGHT =SCREEN_HEIGHT;
}
abstract public void timer();
abstract public void render();
abstract public int touchDown(int x, int y);
abstract public void dispose();
public int getId(){
return id;
}
public int getWidth() {
return SCREEN_WIDTH;
}
public int getHeight() {
return SCREEN_HEIGHT;
}
} }

Loading…
Cancel
Save