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
(libgdx小结)window(游戏对话框的使用)