package com.example.groupactiontest; import com.badlogic.gdx.ApplicationListener; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.GL10; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.BitmapFont; import com.badlogic.gdx.graphics.g2d.TextureRegion; import com.badlogic.gdx.scenes.scene2d.InputEvent; import com.badlogic.gdx.scenes.scene2d.InputListener; import com.badlogic.gdx.scenes.scene2d.Stage; import com.badlogic.gdx.scenes.scene2d.ui.ImageButton; import com.badlogic.gdx.scenes.scene2d.ui.Window; import com.badlogic.gdx.scenes.scene2d.ui.Window.WindowStyle; import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable; public class MyGame implements ApplicationListener { Stage stage; Window window; ImageButton btn_show; ImageButton btn_ok; ImageButton btn_cancel; @Override public void create() { //创建按钮 Texture texture = new Texture(Gdx.files.internal("control.png")); TextureRegion[][] split = TextureRegion.split(texture, 64, 64); TextureRegionDrawable showDrawableUp = new TextureRegionDrawable(split[0][0]); TextureRegionDrawable showDrawableDown = new TextureRegionDrawable(split[0][1]); TextureRegionDrawable okDrawableUp = new TextureRegionDrawable(split[0][2]); TextureRegionDrawable okDrawableDown = new TextureRegionDrawable(split[0][3]); TextureRegionDrawable cancelDrawableUp = new TextureRegionDrawable(split[1][0]); TextureRegionDrawable cancelDrawableDown = new TextureRegionDrawable(split[1][1]); btn_show = new ImageButton(showDrawableUp, showDrawableDown); btn_ok = new ImageButton(okDrawableUp, okDrawableDown); btn_cancel = new ImageButton(cancelDrawableUp, cancelDrawableDown); //创建window(在这里也就是游戏对话框...) BitmapFont font = new BitmapFont(Gdx.files.internal("Potato.fnt"), Gdx.files.internal("Potato.png"), false); Texture backTexture = new Texture(Gdx.files.internal("dialog.png")); TextureRegionDrawable backDrawable = new TextureRegionDrawable(new TextureRegion(backTexture)); WindowStyle style = new WindowStyle(font, font.getColor(), backDrawable); window = new Window("Hello libgdx game", style); window.setWidth(Gdx.graphics.getWidth()/2); window.setHeight(Gdx.graphics.getHeight()/3); window.setPosition(400, 200); window.setModal(true); //给按钮添加点击事件 btn_show.addListener(new InputListener(){ @Override public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { stage.addActor(window); return true; } }); btn_ok.addListener(new InputListener(){ @Override public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { Gdx.app.exit(); return true; } }); btn_cancel.addListener(new InputListener(){ @Override public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { window.remove(); return true; } }); //给按钮设置位置 btn_ok.setPosition(50, 50); btn_cancel.setPosition(100, 50); //给window添加演员 window.addActor(btn_ok); window.addActor(btn_cancel); stage = new Stage(); stage.addActor(btn_show); Gdx.input.setInputProcessor(stage); } @Override public void dispose() { // TODO Auto-generated method stub } @Override public void pause() { // TODO Auto-generated method stub } @Override public void render() { Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); stage.act(); stage.draw(); } @Override public void resize(int arg0, int arg1) { // TODO Auto-generated method stub } @Override public void resume() { // TODO Auto-generated method stub } }
(libgdx小结)window(游戏对话框的使用),布布扣,bubuko.com
原文:http://blog.csdn.net/hjd_love_zzt/article/details/21017307