【开源java游戏框架libgdx专题】-15-系统控件-Button类
   package com.mygdx.syscontrol;
 import com.badlogic.gdx.scenes.scene2d.InputEvent;
 import com.badlogic.gdx.scenes.scene2d.utils.ClickListener;
 /**
  * 我的点击事件类
  * @author Jack(乐智)
  * @blog dtblog.cn
  * @qq 984137183
  */
 public class MyClick extends ClickListener {
     @Override
     public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
         //打印
         System.out.println("Button:"+button);
         return true;
     }
 }
 package com.mygdx.syscontrol;
 import com.badlogic.gdx.ApplicationAdapter;
 import com.badlogic.gdx.Gdx;
 import com.badlogic.gdx.graphics.GL20;
 import com.badlogic.gdx.graphics.Texture;
 import com.badlogic.gdx.graphics.g2d.TextureRegion;
 import com.badlogic.gdx.scenes.scene2d.Stage;
 import com.badlogic.gdx.scenes.scene2d.ui.Button;
 import com.badlogic.gdx.scenes.scene2d.ui.Skin;
 import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable;
 /**
  * 使用Button
  * @author Jack(乐智)
  * @blog dtblog.cn
  * @qq 984137183
  */
 public class TestButton extends ApplicationAdapter {
     //声明Skin对象
     private Skin skin;
     //声明按钮A
     private Button buttonA;
     //声明按钮B
     private Button buttonB;
     //声明舞台
     private Stage stage;
     //按钮抬起时纹理
     private Texture btnUp;
     //按钮按下时纹理
     private Texture btnDown;
     //声明监听器
     private MyClick click;
     @Override
     public void create() {
         //实例化skin对象
         skin=new Skin(Gdx.files.internal("button/test.json"));
         //实例化舞台
         stage=new Stage();
         //初始化按钮抬起纹理
         btnUp=new Texture(Gdx.files.internal("button/btnUp.png"));
         //初始化按钮按下纹理
         btnDown=new Texture(Gdx.files.internal("button/btnDown.png"));
         //抬起纹理样式
         TextureRegionDrawable btn_up=new TextureRegionDrawable(new TextureRegion(btnUp));
         //按下纹理样式
         TextureRegionDrawable btn_down=new TextureRegionDrawable(new TextureRegion(btnDown));
         //实例化按钮A
         buttonA=new Button(skin.get("style", Button.ButtonStyle.class));
         //初始化按钮B
         buttonB=new Button(btn_up,btn_down);
         //初识化监听器
         click=new MyClick();
         //添加监听器
         buttonA.addListener(click);
         buttonB.addListener(click);
         //设置按钮b的位置
         buttonB.setPosition(100, 100);
         //添加按钮b到舞台
         stage.addActor(buttonB);
         //添加按钮a到舞台
         stage.addActor(buttonA);
         //注册舞台监听
         Gdx.input.setInputProcessor(stage);
     }
     @Override
     public void render() {
         Gdx.gl.glClearColor(1, 1, 1, 1);
         Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
         //更新舞台逻辑
         stage.act();
         //绘制舞台内容
         stage.draw();
     }
 }


原文由博主 乐智 编辑撰写,版权归博主所有。
原文地址 http://www.dtblog.cn/1170.html 转载请注明出处!
【开源java游戏框架libgdx专题】-15-系统控件-Button类的更多相关文章
- 【开源java游戏框架libgdx专题】-11-核心库-演员类
		演员类,又称为Actor类,是libgdx开发中最基本的元素,可以被继承. 演员类,从OpenGL类的角度来理解,可以称为一个二维场景节点.它本身具有位置(postion).边界矩形(类似Retang ... 
- 【开源java游戏框架libgdx专题】-01-libgdx介绍
		libgdx是一款开源的java游戏框架,而且还实现了Desktop/Android/BlackBerry/iOS/HTML5这些些平台的跨平台开发.官方网址:https://libgdx.badlo ... 
- 【开源java游戏框架libgdx专题】-05-模块描述与上下文
		模块描述(Modules overview) Input:为所有的平台提供一个统一的输入模型和处理程序. 获取触摸示例: if (Gdx.input.isTouched()) { System.out ... 
- 【开源java游戏框架libgdx专题】-08-中文显示与绘制
		libgdx虽然是由美国人Mario Zechner(即BadlogicGames)写的开源引擎,由于Libgdx底层是用OpenGL实现的,所以Libgdx是可以支持中文的,在libgdx中的汉字都 ... 
- 【开源java游戏框架libgdx专题】-07-文件处理
		介绍:文件处理在不同平台的文件管理是略有差异的 Desktop(Windows,Linux,Mac OS X等等):在桌面系统中,文件系统是一个大块的内存.文件可以通过当前的工作目录或者绝对路径被引用 ... 
- 【开源java游戏框架libgdx专题】-10-核心库-Viewport
		Viewport类,又称为视口类,主要负责管理游戏相机,处理游戏世界坐标与布景层坐标的换算关系.在移动端开发,不像PC端容易.因为要适配不同分辨率的设备.libgdx处理不同的设备屏幕时,用视口处理舞 ... 
- 【开源java游戏框架libgdx专题】-09-动画的使用
		1.Animation类介绍 Api定义:动画是由多个帧,在设定的时间间隔序列显示.比如,一个跑步的人一个动画可以通过运行时播放这些图像无限拍照他了. 功能用法:管理动画,设置随即播放模式和播放顺 ... 
- 【开源java游戏框架libgdx专题】-04-接口介绍及生命周期
		在核心项目中包含6大与操作系统交互的接口,每个后端都实现了这6大接口. Application:运行应用程序并通知API的客户端应用程序级别的事件,提供日志记录设施和查询方法,例如,内存使用. Fil ... 
- 【开源java游戏框架libgdx专题】-14-系统控件-Skin类
		Skin类主要用于存储用户界面的资源,该资源主要用于窗口部件.这些资源也包括纹理图片.位图画笔.颜色等内容.方便创建游戏组件,同时使用Skin也可以批量的粗略处理一些窗口部件. test.json { ... 
- 【开源java游戏框架libgdx专题】-13-开发工具-地图的使用
		支持libGDX的地图编辑器有很多种,其中比较常用的工具为Tiled地图工具.Tiled是一款非常好用的地图编辑器.下载地址:http://www.mapeditor.org TiledMap类: 又 ... 
随机推荐
- Apache:To Config The Vhost of Django Project
			It is not a good idea to use dev server in Production Environment. Apache or Nginx are good choice.B ... 
- bzoj2096: [Poi2010]Pilots
			Description Tz又耍畸形了!!他要当飞行员,他拿到了一个飞行员测试难度序列,他设定了一个难度差的最大值,在序列中他想找到一个最长的子串,任意两个难度差不会超过他设定的最大值.耍畸形一个人是 ... 
- Markdown 测试
			量化派业务参考代码 测试二级标题 如果 merchant_id 是外部白条,则执行相关逻辑 if(order.getMerchantId() == Constants.BaitiaoMerchant. ... 
- 关于移动手机端富文本编辑器qeditor图片上传改造
			日前项目需要在移动端增加富文本编辑,上网找了下,大多数都是针对pc版的,不太兼容手机,当然由于手机屏幕小等原因也限制富文本编辑器的众多强大功能,所以要找的编辑器功能必须是精简的. 找了好久,发现qed ... 
- About JavaScript
			JavaScript Function, Constructor function, Plain Object (expression function, closure) Maintainable ... 
- Prime Path
			poj3126:http://poj.org/problem?id=3126 题意:给你两个数n,k,两个数都是四位数的素数.现在让你改变n的一位数,让n变成另外一个素数.然后把这个素数在改变其中的以 ... 
- VS在Release模式下,难道还可以Debug?
			就是这段代码: int main(int argc, char *argv[]) { QApplication a(argc, argv); cxcxsdee w; w.show(); QString ... 
- SQL Server 全文搜索 配置、查询初体验
			原文:SQL Server 全文搜索 配置.查询初体验 一.使用SQL Server全文搜索配置 要使用SQL Server的全文搜索服务,需要进行如下配置. 1.开启全文搜索服务: 2.开启数据库的 ... 
- Linux 配置多IP
			这里以红帽Linux为例.假定原系统已配置一个IP,地址为:192.168.20.140,配置文件路径/etc/sysconfig/network-script/ifcfg-eth0.现在需要配置一个 ... 
- Git批量修改提交历史
			有些时候我们可能需要批量修改提交历史,当然了,最近一次的提交历史很简单我们可以利用 git commit --amend 来进行最近一次提交的修改,如果你此时想要更新作者提交时间等也可以在amend之 ... 
