【开源java游戏框架libgdx专题】-11-核心库-演员类

时间:2021-12-23 21:49:05
演员类,又称为Actor类,是libgdx开发中最基本的元素,可以被继承。
演员类,从OpenGL类的角度来理解,可以称为一个二维场景节点。它本身具有位置(postion)、边界矩形(类似Retangle)、锚点(origin)、缩放比例(scale)、旋转(rotation)、颜色(color)等属性
常用方法:
act(float delta):更新游戏中的演员的状态,常在render中调用,参数一般传入游戏渲染间隔时间。
addAction(Action action):添加动作(Action),给演员加入简单的动画等
addCaptureListener(EventListener listener):添加捕获监听器,传入的为事件监听器的对象,用于在捕获期间监听事件。
addListener(EventListener listener):添加监听器
clear():清空当前演员添加的所有监听器
clearListeners():清空当前演员添加的所有监听器
clipBegin():裁剪当前演员
clipBegin(float x,float y,float width,float height):根据传入的矩形,裁剪当前演员
clipEnd():结束裁剪
debug():调试方法
draw(Batch batch,float parentAlpha):绘制当前演员
fire(Event event):将当前演员设置为事件目标演员,如果需要会将参数中的事件传递给当前演员的父类
getActions():获取当前演员中添加的所有动作,返回类型是一个链表类型变量
getColor():获取当前颜色
getDebug():返回类型是一个布尔类型变量,确认该演员是否已调试
getHeight():获取演员的高度
getListeners():获取当前添加的所有监听器,返回类型是一个链表类型变量
getName():获取当前演员的名字,配合setName(String name)使用
 
 package com.mygdx.useactor;

 import com.badlogic.gdx.graphics.Texture;
 import com.badlogic.gdx.graphics.g2d.Batch;
 import com.badlogic.gdx.scenes.scene2d.Actor;

 /**
  * 第一个演员类
  * @author Jack(乐智)
  * @blog dtblog.cn
  * @qq 984137183
  */
 public class FirsrtActor extends Actor{
     private Texture texture;
     public FirsrtActor(){
         this.init();
     }
     private void init(){
         texture=new Texture("badlogic.jpg");
     }
     @Override
     public void draw(Batch batch, float parentAlpha) {
         batch.draw(texture,0,0);
     }

 }
 package com.mygdx.useactor;

 import com.badlogic.gdx.ApplicationAdapter;
 import com.badlogic.gdx.Gdx;
 import com.badlogic.gdx.graphics.GL20;
 import com.badlogic.gdx.graphics.g2d.SpriteBatch;
 /**
  * 游戏主类,使用演员
  * @author Jack(乐智)
  * @blog dtblog.cn
  * @qq 984137183
  */
 public class MainGame extends ApplicationAdapter {
     public SpriteBatch batch;
     public FirsrtActor actor;
     @Override
     public void create() {
         batch=new SpriteBatch();
         actor=new FirsrtActor();
     }

     @Override
     public void render() {
         //设置背景颜色为白色
         Gdx.gl.glClearColor(1, 1, 1, 1);
         //清屏
         Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
         batch.begin();
         actor.draw(batch, 0.3f);
         batch.end();
     }

 }

原文由博主 乐智 编辑撰写,版权归博主所有。

原文地址 http://www.dtblog.cn/1149.html 转载请注明出处!