Libgdx之Group

Libgdx之Group

Group可以说Libgdx中非常好用的一个组件,可以把其余的Actor封装在一起,然后赋予同样的Actions或者Position等。

Group的坐标是从左下角开始的,如果将设置Group.setPosition(0,0) 那么就是从屏幕左下角开始。

下面的示例是从一篇英文博客中找到的,就直接把代码拿过来用了。其实在统一设置一些演员的属性时,我们可以把它们都封装在Group里面

从下面代码中我们可以知道,当我们旋转Group的时候2个演员是同时在选中的。

下面是测试代码:

private Stage stage;
    private Group group;

    @Override
    public void create() {
        stage = new Stage();
        final TextureRegion jetTexture = new TextureRegion(new Texture("jet.png"));
        final TextureRegion flameTexture = new TextureRegion(new Texture("flame.png"));

        final Actor jet = new Actor() {
            public void draw(Batch batch, float alpha) {
                batch.draw(jetTexture, getX(), getY(), getOriginX(), getOriginY(), getWidth(), getHeight(), getScaleX(),
                        getScaleY(), getRotation());
            }
        };
        jet.setBounds(jet.getX(), jet.getY(), jetTexture.getRegionWidth(), jetTexture.getRegionHeight());

        final Actor flame = new Actor() {
            public void draw(Batch batch, float alpha) {
                batch.draw(flameTexture, getX(), getY(), getOriginX(), getOriginY(), getWidth(), getHeight(),
                        getScaleX(), getScaleY(), getRotation());
            }
        };
        flame.setBounds(0, 0, flameTexture.getRegionWidth(), flameTexture.getRegionHeight());
        flame.setPosition(jet.getWidth() - 25, 25);

        group = new Group();
        group.addActor(jet);
        group.addActor(flame);

        group.addAction(parallel(moveTo(200, 0, 5), rotateBy(90, 5)));

        stage.addActor(group);

    }

    @Override
    public void dispose() {
        stage.dispose();
    }

    @Override
    public void render() {
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
        stage.act(Gdx.graphics.getDeltaTime());
        stage.draw();
    }

时间: 2024-10-28 15:37:11

Libgdx之Group的相关文章

djfhkjdahsg 将会对会计师公会斯蒂芬

http://f.dangdang.com/group/24690/7818358/ http://f.dangdang.com/group/24690/7818366/ http://f.dangdang.com/group/24690/7818410/ http://f.dangdang.com/group/24690/7818420/ http://f.dangdang.com/group/24690/7818408/ http://f.dangdang.com/group/24690/7

供应科顾客顾客顾客

http://f.dangdang.com/group/24554/3373214/http://f.dangdang.com/group/24554/3373218/http://f.dangdang.com/group/24554/3373222/http://f.dangdang.com/group/24554/3373227/http://f.dangdang.com/group/24554/3373230/http://f.dangdang.com/group/24554/337323

放假放假放假凤凰男

http://f.dangdang.com/group/24554/3373214/http://f.dangdang.com/group/24554/3373218/http://f.dangdang.com/group/24554/3373222/http://f.dangdang.com/group/24554/3373227/http://f.dangdang.com/group/24554/3373230/http://f.dangdang.com/group/24554/337323

Libgdx学习笔记:Scene2d之Group

UI组件之Group 当Group旋转或缩放时,它的孩子们正常绘制,并且Batch变换后正确的旋转或缩放. 绘制Group前,Batch flush使得变换可以设置.有很多Group时这将可能成为性能瓶颈.如果在一组演员不旋转或缩放,然后settransform(false)可用于Group.当这样做,每个孩子的位置基于Group的位置进行绘制,使孩子们出现在正确的位置,即使没有转换. Group继承自Actor,是2D场景绘制的节点,包含了很多其他演员: 每个演员都有一个 z-order 等于

Android游戏框架Libgdx使用入门

转载自:http://blog.csdn.net/cping1982/article/details/6176191 Libgdx作者博客:http://www.badlogicgames.com/ Libgdx项目地址:http://code.google.com/p/libgdx/ Libgdx是一款支持2D与3D游戏开发的游戏类库,兼容大多数微机平台(标准JavaSE实现,能执行在Mac.Linux.Windows等系统)与Android平台(Android1.5以上就可以使用.Andro

新坑:Zombie Bird 如何使用libgdx Android开发手游笔记-1

原文地址:http://www.kilobolt.com/zombie-bird-tutorial-flappy-bird-remake.html 这个是教你怎么开发个僵尸鸟的.对我来说,我他喵才不想开发什么僵尸鸟.我只是打算研究一下libgdx.本来用AndEngine,可惜这货从上年就不更新了. libgdx相对复杂一些,因为跨平台,因为用Gradle.所以,我就看看然后和大家分享分享经验. 首先,感谢伟大的libGDX...可以跨平台运行你的游戏. Your game will run o

libgdx自制简易Flappy Bird

Flappy Bird,好吧,无需多说.今天年初不知咋的,一下子就火了,而且直接跃居榜首,在ios和android平台都是如此,实在难以理解.传说其作者每天收入能达到5w刀,着实碉堡了... 好吧,咱没创意,不过山寨一个还是可以的,话说!!! 好了,不罗嗦了,直接代码了. 我使用libgdx框架(你要说是引擎也行)实现的,版本为0.9.9.就设计了一个开始画面和一个游戏画面. 游戏入口和主类: package com.fxb.flappy; import com.badlogic.gdx.Gam

android游戏开发框架libgdx的使用(十三)—TiledMap中的角色和角色移动

http://www.cnblogs.com/htynkn/archive/2012/01/13/libgdx_13.html 本文紧跟上文,地址:android游戏开发框架libgdx的使用(十二)—TiledMap地图的使用 地图我们创建好了接下来就是主角的出现.其实上文介绍了如何TiledMap和Stage的结合,角色的处理就简单了. 可以继承Actor类创建主角类,我就偷个懒,用Image代替. 编辑我们的TMX文件,添加一个对象层. 在主角要出现的地方加个形状 取名为play1 我们的

Libgdx 之Actor 演员类

教程总目录: http://blog.csdn.net/zqiang_55/article/details/50878524 上一篇我们介绍了Libgdx中舞台类,按照类的继承图,我们应该介绍Actor类,从截图中我们知道Libgdx中的UI控件都是继承自Actor. 前面我们也介绍过Sprite类,Actor有点类似于Sprite类,保存位置,大小,颜色,旋转中心,缩放以及Actions等,同时里面也包含了一个舞台类.Actor的坐标系(local Coordinate)从左下角开始计算 我们