【开源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类: 又 ...
随机推荐
- 【转】Spring注解详解
http://blog.csdn.net/xyh820/article/details/7303330/ 概述 注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 Java 的反射机制获取类 ...
- DEDECMS-helper小助手扩展
今天在做DEDE动态调用模板的时候卡住了,后终被强大的互联网解决,记录解决问题的过程,以备后用 可以在/data/helper.inc.php中进行默认小助手初始化的设置,系统默认载入小助手 例如创建 ...
- windows 下安装nodejs及其配置环境
第一步:下载安装文件下载nodejs,官网:http://nodejs.org/download/,我这里下载的是node-v0.10.28-x86.msi,如下图: 第二步:安装nodejs下载完成 ...
- GIT,VAGRANT及COREOS
搞了COREOS才高大上啊. 测试DOCKER安装. 就是WIN下面GIT显得土豪..
- bootchart--检测linux启动性能的软件
bootchart--检测linux启动性能的软件 摘自http://www-128.ibm.com/developerworks/library/l-boot-faster/index.html?c ...
- ♫【JS】offsetParent
This property will return null on Webkit if the element is hidden (the style.display of this element ...
- 1A Theatre Square
题目大意; 有一个广场,广场的大小是n*m, 有a*a的石砖,石砖铺广场可以比广场大,石砖不能切割.问最少需要多少个石砖. ===================================== ...
- bluetooth记录
1. 网址 Client Characteristic Configuration https://developer.bluetooth.org/gatt/descriptors/Pages/Des ...
- 图论(网络流):[CTSC2001]终极情报网
[CTSC2001]终极情报网 [题目描述] 在最后的诺曼底登陆战开始之前,盟军与德军的情报部门围绕着最终的登陆地点展开了一场规模空前的情报战. 这场情报战中,盟军的战术是利用那些潜伏在敌军内部的双重 ...
- 【贪心】Codeforces 704B & 705D Ant Man
题目链接: http://codeforces.com/problemset/problem/704/B 题目大意: 给N个点,起点S终点T,每个点有X,A,B,C,D,根据I和J的X坐标可得I到J的 ...