package com.cookbook.samples; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input.Buttons; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.BitmapFont; import com.badlogic.gdx.graphics.g2d.Sprite; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.g2d.TextureAtlas; import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.graphics.glutils.ShapeRenderer; import com.badlogic.gdx.graphics.glutils.ShapeRenderer.ShapeType; import com.badlogic.gdx.math.Rectangle; import com.badlogic.gdx.math.Vector3; import com.badlogic.gdx.scenes.scene2d.InputEvent; import com.badlogic.gdx.scenes.scene2d.Stage; import com.badlogic.gdx.scenes.scene2d.ui.TextButton; import com.badlogic.gdx.scenes.scene2d.utils.ClickListener; import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable; import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.viewport.FitViewport; import com.badlogic.gdx.utils.viewport.Viewport; import com.cookbook.platforms.PlatformResolver; public class PlatformSpecificSample extends GdxSample { private static final String TAG = "PlatformSpecificSample"; private static final float SCENE_WIDTH = 1280f; private static final float SCENE_HEIGHT = 720f; private OrthographicCamera camera; private Viewport viewport; private SpriteBatch batch; private TextButton textButton; private BitmapFont font; private Stage stage; @Override public void create() { camera = new OrthographicCamera(); viewport = new FitViewport(SCENE_WIDTH, SCENE_HEIGHT, camera); batch = new SpriteBatch(); stage = new Stage(viewport, batch); Gdx.input.setInputProcessor(stage); font = new BitmapFont(Gdx.files.internal("data/default.fnt")); TextButton.TextButtonStyle tbs = new TextButton.TextButtonStyle(); tbs.font = font; TextureRegion buttonRegion = new TextureRegion(new Texture(Gdx.files.internal("data/scene2d/myactor.png"))); tbs.up = new TextureRegionDrawable(buttonRegion); textButton = new TextButton("Rate my game!", tbs); float ratio = textButton.getWidth() / textButton.getHeight(); textButton.setWidth(300f); textButton.setHeight(300f/ratio); textButton.setPosition(SCENE_WIDTH * 0.5f - textButton.getWidth()*0.5f, SCENE_HEIGHT * 0.5f); textButton.addListener( new ClickListener() { @Override public void clicked(InputEvent event, float x, float y) { getPlatformResolver().rateGame(); }; }); stage.addActor(textButton); } @Override public void dispose() { batch.dispose(); font.dispose(); } @Override public void render() { Gdx.gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); stage.draw(); } @Override public void resize(int width, int height) { viewport.update(width, height); } }