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(游戏对话框的使用)
原创CAIHONGSHIJIE6 博主文章分类:acm ©著作权
文章标签 2d ide 点击事件 文章分类 Windows Server 服务器
下一篇:(libgdx小结)资源加载器
-
JOptionPane对话框的使用
JOptionPane对话框的使用import java.awt.event.*; import javax.swing.*;class My
button constructor class import string -
Android 常见对话框的简单使用(提示信息对话框、单选多选对话框、自定义对话框)
目录一、提示信息对话框:二、单选对话框:三、多选对话框:四、自定义对话框:演示项目完整代码:一、提示信息对话框://显示提示消息对话框 private void showMsgDialog() { //创建AlertDialog构造器Builder对象,AlertDialog建议使用android.support.v7.app包下的。 AlertDialog.Builder builder = new AlertDialog.Buil
android android studio 移动开发 自定义对话框 ide