首页 > 其他分享 >(libgdx小结)window(游戏对话框的使用)

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

时间:2023-05-07 22:08:31浏览次数:34  
标签:badlogic 对话框 gdx libgdx window new btn com TextureRegionDrawable


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

	}

}


标签:badlogic,对话框,gdx,libgdx,window,new,btn,com,TextureRegionDrawable
From: https://blog.51cto.com/u_5290007/6252582

相关文章

  • (libgdx小结)资源加载器
    一、初始化及常见的APImanager=newAssetManager();//初始化资源管理器manager.load("animation.png",Texture.class);//预加载资源manager.unload("animation.png");//卸载资源manager.isLoaded("animation.png",Texture.class)//判断资源animation.png是否已经加载manager.ge......
  • (libgdx小结)粒子编辑器
    一、初始化方法及常见的APIeffect=newParticleEffect();//初始化粒子效果类 effect.load(Gdx.files.internal("test.p"),Gdx.files.internal(""));//加载粒子编辑器类文件effect.setPosition(Position_X,Position_Y);//设置粒子的位置effect.draw(batch,Gdx.graphics.getDe......
  • Window修改:MySQL端口 5.7 亲测
    1、版本MySQL:5.7.192、操作2.1、查看:原始端口【登录后】查看端口:showglobalvariableslike'port';2.2、修改.ini文件port:33082.3、重启服务2.4、查看:新端口1、CMD输入登录命令mysql-hlocalhost-P3308-uroot-p2、显示当前端口showglobal......
  • Windows下SYSTEM权限文件夹的删除方法
    (不一定对所有情况都能用..。但是目前发现比较简单有效...)以C:/Windows.old文件夹为例,一般来说都无法完全删除,到最后总会提示需要SYSTEM权限。怎么办呢,下载一个VSCode,然后用VSCode打开Windows.old文件夹,便可采用VSCode将该文件夹下的所有内容删除干净...(我也不知道原理,但是属......
  • Windows10下安装OpenSSL curl WIN32 /WIN64 openssl1.1.x
     首先是环境,强调下环境,很多问题是环境造成的。1.WINDOWS1064位系统;2.VisualStudio2015 工具: 1.ActivePerl-5.24.3.2404-MSWin32-x64-404865.exe,下载地址:https://www.activestate.com/products/activeperl/downloads/  2. openssl-1.1.0f.tar.gz  下载地址: h......
  • windows安装zincsearch教程
    1.首先去github下载安装包   下载最新的ZincSearch二进制文件  选择版本 zincsearch_0.4.5_Windows_x86_64.tar.gz  然后解压压缩包,   2.添加环境变量ZINC_FIRST_ADMIN_USER=adminZINC_FIRST_ADMIN_PASSWORD=123456账号和密码可以随意设置,不过为了简单......
  • 设置让Windows每天在指定时间自动关机
    其实我们的电脑是可以设置每天在指定的时间点自动关机的,具体操作方法:1、开打电脑,点击电脑系统左下角windows图标,选择“控制面板”并进入;如图2、在控制面板界面找到“管理工具”,点击开打;如图3、在管理工具界面找到“任务计划程序”,点击开打;如图4、在任务计划程序界面选择“创......
  • NC51112 Stars in Your Window
    题目链接题目题目描述Fleetingtimedoesnotblurmymemoryofyou.Canitreallybe4yearssinceIfirstsawyou?Istillremember,vividly,onthebeautifulZhuhaiCampus,4yearsago,fromthemomentIsawyousmile,asyouwerewalkingoutoftheclassr......
  • Windows亚克力特效代码实现(Dev c++可以编译通过)
    #include<windows.h>#include<dwmapi.h>//定义一个枚举类型,表示不同的窗口组合状态enumAccentState{ACCENT_DISABLED=0,ACCENT_ENABLE_GRADIENT=1,ACCENT_ENABLE_TRANSPARENTGRADIENT=2,ACCENT_ENABLE_BLURBEHIND=3,ACCENT_ENABLE_ACR......
  • Window任务计划定时任务执行Kettle Spoon单个转换文件或本地资源库Local-KSPOON中的转
    1.Window任务计划定时任务执行KettleSpoon单个转换文件或本地资源库Local-KSPOON中的转换*Window任务计划定时任务执行KettleSpoon本地资源库Local-KSPOON中的转换:(1)准备.bat文件和日志文件 D:cdD:\software\KettleSpoon\data-integrationPan.bat-repLocalSpoon-KSPOO......