libgdx学习记录5——演员Actor
Actor也是libgdx中非常重要的一个元素,一般与stage配合一起使用。Actor能够设置大小,位置,旋转和动画等。
我们自定义的Actor一般需要继承于Actor,并且重写其中的act和draw方法。
自定义的actor是一个图片。
1 class MyActor extends Actor{ 2 TextureRegion region; 3 4 public MyActor(){ 5 Texture texture = new Texture( Gdx.files.internal( "data/badlogic.jpg" ) ); 6 region = new TextureRegion( texture ); 7 setSize( region.getRegionWidth()/2, region.getRegionHeight()/2 ); 8 setOrigin( getWidth()/2, getHeight()/2 ); 9 } 10 11 @Override 12 public void act(float delta) { 13 // TODO Auto-generated method stub 14 super.act(delta); 15 } 16 17 @Override 18 public void draw(SpriteBatch batch, float parentAlpha) { 19 // TODO Auto-generated method stub 20 batch.draw( region, getX(), getY(), getOriginX(), getOriginY(), getWidth(), getHeight(), getScaleX(), getScaleY(), getRotation() ); 21 super.draw(batch, parentAlpha); 22 } 23 24 public void dispose(){ 25 region.getTexture().dispose(); 26 } 27 }
主类,包含stage:
1 package com.fxb.newtest; 2 import com.badlogic.gdx.ApplicationAdapter; 3 import com.badlogic.gdx.Gdx; 4 import com.badlogic.gdx.graphics.Color; 5 import com.badlogic.gdx.graphics.GL10; 6 import com.badlogic.gdx.graphics.Texture; 7 import com.badlogic.gdx.graphics.g2d.BitmapFont; 8 import com.badlogic.gdx.graphics.g2d.SpriteBatch; 9 import com.badlogic.gdx.graphics.g2d.TextureRegion; 10 import com.badlogic.gdx.scenes.scene2d.Actor; 11 import com.badlogic.gdx.scenes.scene2d.InputEvent; 12 import com.badlogic.gdx.scenes.scene2d.InputListener; 13 import com.badlogic.gdx.scenes.scene2d.Stage; 14 import com.badlogic.gdx.scenes.scene2d.ui.Image; 15 16 public class Lib004_Actor extends ApplicationAdapter{ 17 18 BitmapFont font; 19 Stage stage; 20 MyActor actor; 21 //String strShow; 22 int count; 23 24 @Override 25 public void create() { 26 // TODO Auto-generated method stub 27 stage = new Stage(); 28 font = new BitmapFont(); 29 font.setColor( Color.DARK_GRAY ); 30 31 actor = new MyActor(); 32 stage.addActor( actor ); 33 actor.setPosition( stage.getWidth()/2-actor.getWidth()/2, stage.getHeight()/2-actor.getHeight()/2 ); 34 35 count = 0; 36 actor.addListener(new InputListener(){ 37 @Override 38 public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { 39 // TODO Auto-generated method stub 40 count++; 41 return true; 42 } 43 }); 44 45 Gdx.input.setInputProcessor( stage ); 46 } 47 48 @Override 49 public void render() { 50 // TODO Auto-generated method stub 51 Gdx.gl.glClearColor( 1, 1, 1, 1 ); 52 Gdx.gl.glClear( GL10.GL_COLOR_BUFFER_BIT ); 53 54 stage.act(); 55 stage.draw(); 56 57 SpriteBatch batch = stage.getSpriteBatch(); 58 batch.begin(); 59 //batch.draw( font, actor.getX(), ); 60 font.draw( batch, "You have clicked " + count + " times!", actor.getX()-25, actor.getY()-20 ); 61 batch.end(); 62 63 } 64 65 @Override 66 public void dispose() { 67 // TODO Auto-generated method stub 68 super.dispose(); 69 } 70 71 }
运行结果:
转载于:https://www.cnblogs.com/MiniHouse/p/3740096.html
libgdx学习记录5——演员Actor相关推荐
- libGDX学习记录(一)
前期准备 1.工具:AndroidStudio或 IDEA(创建android项目,安装AndroidSDK) 2.下载libGDX:(官网)选择一个版本下载. 3.找个目录存放,解压,得到如图 创建 ...
- libgdx学习记录18——Box2d物理引擎
libgdx封装了Box2D物理引擎,通过这个引擎能够模拟物理现实,使设计出的游戏更具有真实感. libgdx中,Box2d程序的大概过程: 1. 创建物理世界world,并设置重力加速度. 2. 创 ...
- libgdx学习记录9——FreeType,ttf中文显示
前面讲到使用Hireo创建的BitmapFont以显示中文字体.这种方式效率很高,当所要显示的字的总数较少,并且大小比较固定时,可以采用这种方式. 但是这种也有弊端: (1)字体大小不能随意设置,当放 ...
- libgdx学习记录27——线段与线段相交检测
给定p1, p2, p3, p4四个点,p1,p2为一条线段,p3,p4为一条线段,检测其是否有交点. 可分为三种情况: 1. L2与x轴平行 2. L2与y轴平行 3. L2与坐标轴不平行. (L1 ...
- 跨平台(Android, iOS, WP, HTML5)游戏开发libGDX学习教程
2019独角兽企业重金招聘Python工程师标准>>> 疯狂小土豆的跨平台游戏开发引擎libGDX游戏开发视频,本视频主讲Android和桌面游戏开发.libGdx是一个跨平台的2D ...
- 《SysML精粹》学习记录--第五章
<SysML精粹>学习记录 第五章:用例图(Use Case Diagram) 用例图简介 用例图外框 小结 第五章:用例图(Use Case Diagram) 用例图简介 用例图可以 ...
- cs61b学习记录(四)Trie、KDTree、Prim、Dijkstra、Kruskul
cs61b学习记录(四) Lecture21.Prefix Operations and Tries Balanced Search Tree: contains(x): Θ(logN) add(x) ...
- QT子线程实现串口通信_学习记录
QT子线程实现串口通信_学习记录 1 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容 ...
- 文献学习记录|事件触发模型预测自适应动态编程用于无人驾驶地面车辆的道路交叉口路径规划
本文仅用于学习记录,如有错误,请各位大佬斧正. Event-Triggered Model Predictive Adaptive Dynamic Programming for Road Inter ...
- UE4 学习记录五 使用合体触发器触发过场动画移动其他物体 开门
这只是用来记录我学习UE4过程的,可能帮不到你,先说声抱歉.为了防止误导他人,请勿转载,请勿转载,请勿转载. 本文的主题是通过过场动画,实现物体移动并旋转,通过人物运动触发触发器,然后播放动画.总章目 ...
最新文章
- android中常见的内存泄漏和解决的方法
- 大型网站技术架构(七)网站的可扩展性架构
- Jakarta EE:云原生Java的新平台
- python自动化框架pytest接口关联串联_基于python接口自动化框架搭建_pytest+jenkins+allure...
- 基于吉日嘎拉的通用权限管理WebForm版扩展:字典选项管理和缓存管理
- java运行安全_Java运行时环境
- 《Adobe Illustrator大师班:经典作品与完美技巧赏析》—Svetlana Makarova
- FCPX插件:Hyper Zoom Transitions Mac(33种扭曲变形缩放转场效果)
- 史上最全jdk版本新特性大全
- PHP 将微信录音arm格式文件转mp3格式
- webservice用完关闭连接_基于JavaEE平台实战WebService框架Xfire+Ajax框架DWR(租房网项目实战)...
- 08.第三章 数字特征与特征函数(1)
- 苏宁易购执行总裁任峻在IT体系年会上的讲话
- 关于技术学习的一点思考
- 点击一次变色,再点击变回原色
- AD fanout 各选项说明
- 正版求生之路联机服务器已满,求生之路2正版怎么联机 正版的联机方法
- Proteus:no power supply specified for net VCC in power rail configuration
- DBLP 搜索爬虫项目
- python如何生成多个随机数的列表