(libgdx小结)window(游戏对话框的使用) |
您所在的位置:网站首页 › 清明节缅怀先烈祝福语 › (libgdx小结)window(游戏对话框的使用) |
(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 |