(libgdx小结)window(游戏对话框的使用)

您所在的位置:网站首页 清明节缅怀先烈祝福语 (libgdx小结)window(游戏对话框的使用)

(libgdx小结)window(游戏对话框的使用)

#(libgdx小结)window(游戏对话框的使用)| 来源: 网络整理| 查看: 265

(libgdx小结)window(游戏对话框的使用) 原创

CAIHONGSHIJIE6 2023-05-07 21:15:10 博主文章分类:acm ©著作权

文章标签 2d ide 点击事件 文章分类 Windows Server 服务器

©著作权归作者所有:来自51CTO博客作者CAIHONGSHIJIE6的原创作品,请联系作者获取转载授权,否则将追究法律责任

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学习)翻转图片的两种方法

下一篇:(libgdx小结)资源加载器



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3