You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.9 KiB
91 lines
2.9 KiB
/*
|
|
* To change this license header, choose License Headers in Project Properties.
|
|
* To change this template file, choose Tools | Templates
|
|
* and open the template in the editor.
|
|
*/
|
|
package view;
|
|
|
|
import com.badlogic.gdx.Game;
|
|
import com.badlogic.gdx.Gdx;
|
|
import com.badlogic.gdx.Input;
|
|
import com.badlogic.gdx.graphics.Color;
|
|
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.GlyphLayout;
|
|
import com.badlogic.gdx.graphics.g2d.Sprite;
|
|
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
|
|
import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator;
|
|
import com.badlogic.gdx.utils.Timer;
|
|
|
|
/**
|
|
*
|
|
* @author Jan
|
|
*/
|
|
public class Titlescreen{
|
|
|
|
BitmapFont font;
|
|
Timer t;
|
|
boolean movement;
|
|
float GAME_WORLD_WIDTH;
|
|
float GAME_WORLD_HEIGHT;
|
|
float clicktostartX;
|
|
float clicktostartY;
|
|
|
|
public Titlescreen(float width, float height){
|
|
this.GAME_WORLD_WIDTH = width;
|
|
this.GAME_WORLD_HEIGHT = height;
|
|
movement = true;
|
|
|
|
|
|
t = new Timer();
|
|
|
|
|
|
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("font.ttf"));
|
|
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
|
|
parameter.size = 21;
|
|
font = generator.generateFont(parameter); // font size 12 pixels
|
|
generator.dispose(); // don't forget to dispose to avoid memory leaks!
|
|
|
|
clicktostartX = GAME_WORLD_WIDTH / 2 - getTextWidth("click to start ...") / 2;
|
|
clicktostartY = GAME_WORLD_HEIGHT / 2;
|
|
|
|
font.setColor(Color.BLACK);
|
|
|
|
|
|
t.scheduleTask(new Timer.Task() {
|
|
@Override
|
|
public void run() {
|
|
if(clicktostartY < GAME_WORLD_HEIGHT * 0.4)
|
|
movement = true;
|
|
else if(clicktostartY > GAME_WORLD_HEIGHT * 0.5)
|
|
movement = false;
|
|
if(movement)
|
|
clicktostartY = clicktostartY + 3;
|
|
else
|
|
clicktostartY = clicktostartY - 3;
|
|
}
|
|
},0 , 0.035f);
|
|
|
|
|
|
}
|
|
|
|
public void render(SpriteBatch batch) {
|
|
font.getData().setScale(6);
|
|
font.draw(batch, "ORBITAL THROW", GAME_WORLD_WIDTH / 2 - getTextWidth("ORBITAL THROW") / 2, GAME_WORLD_HEIGHT * 0.9f);
|
|
font.getData().setScale(2);
|
|
clicktostartX = GAME_WORLD_WIDTH / 2 - getTextWidth("click to start ...") / 2;
|
|
font.draw(batch, "click to start ...", clicktostartX, clicktostartY);
|
|
}
|
|
public void dispose() {
|
|
t.clear();
|
|
}
|
|
|
|
public float getTextWidth(String text){
|
|
GlyphLayout glyphLayout = new GlyphLayout();
|
|
String item = text;
|
|
glyphLayout.setText(font,item);
|
|
return glyphLayout.width;
|
|
}
|
|
}
|