Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class StoneScreen implements Screen, purchaseInterface {
- OrthographicCamera camera;
- Viewport view;
- final TombStone game;
- MainScreen ms;
- purchaseInterface pInt;
- //Textures and art.
- public Texture background, sdStone, stone_3, arrowBack, flowerTex, flowerTex_2, flowerTemp, menubar, fbTex;
- public Sprite backgrounds;
- Texture[] stones = {sdStone, stone_3};
- ObjectMap<Integer, Texture> screenMap = new ObjectMap<Integer, Texture>();
- ObjectMap<String, Boolean> mTexturesStatus = new ObjectMap<String, Boolean>();
- //TextField´s stuff
- private Stage stage, stageText, stagePurc;
- private Skin skin;
- ImageButton btnArrow, btnFB, miniStone, moveBtn;
- public static boolean moving = false;
- LogicPurchase lp;
- Animation stoneAnimation;
- TextureRegion[] stoneRegion;
- DragAndDrop dd;
- Image stoneImage, flowerImage, flowerImage_2, flowerImageTemp;
- private static int counter= 1;
- private static final float screenWidth = 1000;
- private static final float screenHeight = 1500;
- private int textX = 220;
- private int textY = 700;
- private int textAreaX = 220;
- private int textAreaY = 480;
- private final int textWidth = 350;
- private final int textHeight = 100;
- private final float stoneWidth = 600;
- private final float stoneHeight = 800;
- public static boolean stone1 = false;
- public static boolean stone2 = false;
- public static boolean flower1 = false;
- public StoneScreen(TombStone gam) {
- this.game = gam;
- this.pInt = game.pi;
- float aspectRatio = (float) Gdx.graphics.getHeight() / (float)Gdx.graphics.getWidth();
- camera = new OrthographicCamera();
- camera.setToOrtho(false, screenWidth, screenHeight);
- game.inputMultiplexer = new InputMultiplexer();
- game.assets.load();
- loadStandard();
- flowerImage = new Image(flowerTemp);
- //flowerImageTemp = new Image(flowerTemp);
- //flowerImage_2 = new Image(flowerTex_2);
- //Drag n drop
- dd = new DragAndDrop();
- stageText = new Stage(new StretchViewport(1000, 1500));
- stage = new Stage();
- stagePurc = new Stage();
- Skin skin = new Skin();
- Skin textSkin = new Skin();
- screenMap.put(0, sdStone);
- screenMap.put(1, stone_3);
- mTexturesStatus.put("stone1", stone1);
- mTexturesStatus.put("stone2", stone2);
- setStone1();
- }
- public void loadStandard(){
- background = game.assets.background;
- sdStone = game.assets.sdStone;
- stone_3 = game.assets.stone3;
- flowerTex = game.assets.flowerTexture;
- flowerTemp = game.assets.flowerTemp;
- menubar = game.assets.menuBar;
- fbTex = game.assets.facebook;
- }
- public void setStone1() {
- stoneImage = new Image(screenMap.get(0));
- }
- public void setStone(int screenId) {
- stoneImage = new Image(screenMap.get(screenId));
- }
- @Override
- public void render(float delta) {
- Gdx.gl.glClearColor(0, 0, 0.2f,1);
- Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
- camera.update();
- game.batch.setProjectionMatrix(camera.combined);
- game.batch.begin();
- Gdx.app.log("X", "FPS:" + Gdx.graphics.getFramesPerSecond());
- game.batch.draw(background,0,0);
- //game.batch.draw(sdStone, 160, 190, screenWidth * 0.60f, screenHeight * 0.60f);
- stoneImage.setBounds(180, 190, stoneWidth, stoneHeight);
- stoneImage.draw(game.batch, 2);
- flowerImage.setBounds(300, 50, screenWidth * 0.65f, screenHeight * 0.30f);
- flowerImage.draw(game.batch, 2);
- //SpriteBatch batcher = (SpriteBatch)stage.getBatch();
- game.batch.draw(menubar, 0, 1400, 1000, 100);
- game.batch.end();
- stage.act(Gdx.graphics.getDeltaTime());
- stage.draw();
- stageText.act(Gdx.graphics.getDeltaTime());
- stageText.draw();
- }
- @Override
- public void resize(int width, int height) {
- stageText.getViewport().update(width, height, true);
- //camera.update();
- }
- @Override
- public void show() {
- //Generates the new font
- FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("AcademyEngraved.ttf"));
- FreeTypeFontParameter parameter = new FreeTypeFontParameter();
- parameter.size = 40;
- BitmapFont textFont = generator.generateFont(parameter);
- generator.dispose(); //Avoiding memory leaks.
- Preferences prefs = Gdx.app.getPreferences("preferences");
- screenMap.put(prefs.getInteger("stoneOne", 0), sdStone);
- screenMap.put(prefs.getInteger("stoneTwo", 1), stone_3);
- //Sets skin
- skin = new Skin(Gdx.files.internal("uiskin.json"));
- //Sets a color to the new font
- Color fontcolor = Color.BLACK;
- //Sets a new font to the textare n the textfield
- final TextFieldStyle textstyle = new TextFieldStyle();
- textstyle.font = textFont;
- textstyle.fontColor = fontcolor;
- final TextArea textArea = new TextArea(prefs.getString("textArea", "Enter text:"), textstyle);
- textArea.setX(textAreaX);
- textArea.setY(textAreaY);
- textArea.setWidth(textWidth);
- textArea.setHeight(textHeight);
- textArea.setMaxLength(30);
- //textArea.setZIndex(5);
- final TextField textField = new TextField(prefs.getString("textField", "Enter name:"), textstyle);
- textField.setX(textX);
- textField.setY(textY);
- textField.setMaxLength(20);
- textField.setWidth(textWidth);
- textField.setHeight(textHeight);
- //String text = Gdx.app.getPreferences("prefs").getString("text", "Default text if missimg");
- //TextField textField = new TextField(text, skin);
- //Backbutton
- ImageButtonStyle styleTwo = new ImageButtonStyle();
- //ImageButtonStyle styleFB = new ImageButtonStyle();
- TextureRegionDrawable arrowImage = new TextureRegionDrawable(new TextureRegion(new Texture("pil.png")));
- TextureRegionDrawable arrowImageDown = new TextureRegionDrawable(new TextureRegion(new Texture("pilD.png")));
- TextureRegionDrawable fbDrawable = new TextureRegionDrawable(new TextureRegion(new Texture("fb.png")));
- TextureRegionDrawable fbDrawableD = new TextureRegionDrawable(new TextureRegion(new Texture("fbDown.png")));
- ImageButtonStyle styleFB = new ImageButtonStyle();
- styleFB.up = skin.newDrawable(skin.newDrawable(fbDrawable));
- styleFB.down = skin.newDrawable(skin.newDrawable(fbDrawableD));
- //TextureRegionDrawable fbImage = new TextureRegionDrawable(new TextureRegion(new Texture("fb.png")));
- //TextureRegionDrawable fbImageDown = new TextureRegionDrawable(new TextureRegion(new Texture("fbDown.png")));
- styleTwo.up = skin.newDrawable(skin.newDrawable(arrowImage));
- styleTwo.down = skin.newDrawable(skin.newDrawable(arrowImageDown));
- styleTwo.pressedOffsetX = -1;
- styleTwo.pressedOffsetY = -1;
- //Back button
- btnArrow = new ImageButton(styleTwo);
- miniStone = new ImageButton(styleTwo);
- //btnFB = new ImageButton(styleFB);
- moveBtn = new ImageButton(styleTwo);
- btnArrow.setSize(110, 110);
- btnArrow.setPosition(50, 1800);
- btnFB = new ImageButton(styleFB);
- btnFB.setSize(110, 110);
- btnFB.setPosition(200, 1800);
- miniStone.setSize(110, 110);
- miniStone.setPosition(200, 1800);
- moveBtn.setSize(110, 110);
- moveBtn.setPosition(200, 1800);
- //btnFB.setSize(100, 100);
- //btnFB.setPosition(800, 10);
- stageText.addActor(textField);
- stageText.addActor(textArea);
- stage.addActor(btnArrow);
- stage.addActor(btnFB);
- stagePurc.addActor(miniStone);
- //stage.addActor(table);
- InputListener drag = new InputListener() {
- @Override
- public boolean touchDown(InputEvent event, float x, float y,
- int pointer, int button) {
- // TODO Auto-generated method stub
- return super.touchDown(event, x, y, pointer, button);
- }
- @Override
- public void touchUp(InputEvent event, float x, float y,
- int pointer, int button) {
- // TODO Auto-generated method stub
- super.touchUp(event, x, y, pointer, button);
- }
- @Override
- public void touchDragged(InputEvent event, float x, float y,
- int pointer) {
- textField.setOrigin(Gdx.input.getX(), Gdx.input.getY());
- textField.setPosition(x, y);
- super.touchDragged(event, x, y, pointer);
- }
- };
- game.inputMultiplexer.addProcessor(stage);
- game.inputMultiplexer.addProcessor(stagePurc);
- game.inputMultiplexer.addProcessor(stageText);
- Gdx.input.setInputProcessor(game.inputMultiplexer);
- textField.addListener(drag);
- btnFB.addListener(new ChangeListener() {
- @Override
- public void changed(ChangeEvent event, Actor actor) {
- saveScreenshot();
- }
- });
- //Backbutton takes us back to mainmenu
- btnArrow.addListener(new ChangeListener() {
- @Override
- public void changed(ChangeEvent event, Actor actor) {
- game.setScreen(0);
- //Saves the entered text.
- Preferences prefs = Gdx.app.getPreferences("preferences");
- prefs.putString("textField", textField.getText());
- prefs.putString("textArea", textArea.getText());
- prefs.putBoolean("stone1", true);
- prefs.putBoolean("stone2", true);
- prefs.flush();
- }
- });
- }
- @Override
- public void hide() {
- // TODO Auto-generated method stub
- }
- @Override
- public void pause() {
- // TODO Auto-generated method stub
- }
- @Override
- public void resume() {
- // TODO Auto-generated method stub
- }
- @Override
- public void dispose() {
- background.dispose();
- sdStone.dispose();
- arrowBack.dispose();
- stone_3.dispose();
- flowerTex.dispose();
- flowerTex_2.dispose();
- flowerTemp.dispose();
- menubar.dispose();
- }
- public void changeStone1() {
- stoneImage.setDrawable(new SpriteDrawable(new Sprite(stone_3)));
- sdStone.dispose();
- camera.update();
- }
- private static void saveScreenshot() {
- try{
- FileHandle fh;
- do{
- fh = new FileHandle(Gdx.files.getLocalStoragePath() + "screenshot" + counter++ + ".png");
- }while(fh.exists());
- Pixmap pixmap = getScreenshot(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), false);
- PixmapIO.writePNG(fh, pixmap);
- pixmap.dispose();
- }catch(Exception e) {
- }
- }
- private static Pixmap getScreenshot(int x, int y, int w, int h, boolean yDown){
- final Pixmap pixmap = ScreenUtils.getFrameBufferPixmap(x, y, w, h);
- if(yDown) {
- ByteBuffer pixels = pixmap.getPixels();
- int numBytes = w * h * 4;
- byte[] lines = new byte[numBytes];
- int numBytesPerLine = w * 4;
- for (int i = 0; i < h; i++) {
- pixels.position((h - i - 1) * numBytesPerLine);
- pixels.get(lines, i * numBytesPerLine, numBytesPerLine);
- }
- pixels.clear();
- pixels.put(lines);
- }
- return pixmap;
- }
- @Override
- public void applyTombstone() {
- // TODO Auto-generated method stub
- }
- @Override
- public void applyTombstone1() {
- // TODO Auto-generated method stub
- }
- @Override
- public void applyTombstone2() {
- // TODO Auto-generated method stub
- }
- @Override
- public void applyFlower() {
- // TODO Auto-generated method stub
- flowerImage.setDrawable(new SpriteDrawable(new Sprite(flowerTex)));
- camera.update();
- }
- @Override
- public void applyFlower1() {
- // TODO Auto-generated method stub
- }
- @Override
- public void applyLight() {
- // TODO Auto-generated method stub
- }
- @Override
- public void processPurchases() {
- // TODO Auto-generated method stub
- }
- @Override
- public void changeStone() {
- // TODO Auto-generated method stub
- stoneImage.setDrawable(new SpriteDrawable(new Sprite(stone_3)));
- camera.update();
- }
- @Override
- public boolean returnPurchase() {
- // TODO Auto-generated method stub
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement