软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 移动开发 -> Libgdx之Sprite精灵类 -> 正文阅读

[移动开发]Libgdx之Sprite精灵类


已经介绍了这么多容器类来加载图片,下面出场的的是Sprite,也就是精灵类,这个可以说是集大成者,里面封装了更多的方法来操作纹理。
Sprite可以保存几何属性,大小(size, width, height),位置(position) 和旋转中心点(origin).
精灵总是一个矩形,而且绘制起点也是左下角
[img]http://img.blog.csdn.net/20160403160804383
下面说说在实际中经常使用到的几个方法
    /** Sets the position where the sprite will be drawn. If origin, rotation, or scale are changed, it is slightly more efficient
     * to set the position after those operations. If both position and size are to be changed, it is better to use
     * {@link #setBounds(float, float, float, float)}. */
    public void setPosition (float x, float y)

/** Sets the position relative to the current position where the sprite will be drawn. If origin, rotation, or scale are
     * changed, it is slightly more efficient to translate after those operations. */
    public void translate (float xAmount, float yAmount) 

/** Place origin in the center of the sprite */
    public void setOriginCenter()

// 下面这个方法经常来用作碰撞检测
/** Returns the bounding axis aligned {@link Rectangle} that bounds this sprite. The rectangles x and y coordinates describe its
     * bottom left corner. If you change the position or size of the sprite, you have to fetch the triangle again for it to be
     * recomputed.
     * 
     * @return the bounding Rectangle */
    public Rectangle getBoundingRectangle () 

测试代码
Sprite sprite, sprite2;
    SpriteBatch batch;
    float rotation = 2;
    Rectangle rec, rec2;

    @Override
    public void create() {
        sprite = new Sprite(new Texture(Gdx.files.internal("badlogic.jpg")));
        sprite2 = new Sprite(new Texture(Gdx.files.internal("badlogic.jpg")));
        // 设置(320, 240)为sprite的中心点,并且以它为中心绘制
        sprite.setCenter(320, 240);
        sprite.setOriginCenter();  // 设置旋转中心在中心
        rec = sprite.getBoundingRectangle();  // 后面做碰撞检测用

        sprite2.setSize(60, 60);  // 设置精灵大小为40*40
        batch = new SpriteBatch();
    }

    @Override
    public void render() {
        Gdx.gl.glClearColor(1, 0, 0, 1);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

        float dt = Gdx.graphics.getDeltaTime();
        rotation += dt / 360;
        sprite.rotate(rotation);

        // 每秒钟移动20
        sprite2.translate(20 * dt, 20 * dt);

        rec2 = sprite2.getBoundingRectangle();
        if (rec2.overlaps(rec)) {
            System.out.println("conflict");
            sprite.setAlpha(0.5f);
            sprite2.setAlpha(1.0f);
            sprite2.setScale(2.0f);
        }

        batch.begin();
        sprite.draw(batch);
        sprite2.draw(batch, 0.8f);
        batch.end();
    }

    @Override
    public void dispose() {
        sprite.getTexture().dispose();
        sprite2.getTexture().dispose();
        batch.dispose();
    }

[img]http://img.blog.csdn.net/20160403164958258
......显示全文...
    点击查看全文


上一篇文章      下一篇文章      查看所有文章
2016-04-03 20:41:06  
移动开发 最新文章
深入了解android中的消息机制Handler
Android
Libgdx之BitmapFont字体
AndroidApp发布到应用市场的流程
Android开发找工作之前先看看这些知识点吧
View的事件分发机制解析
简单介绍了解白鹭引擎Egret
Cocos2d
android获取本地图片(二)
动画特效七:碰撞动画
360图书馆 软件开发资料 文字转语音 购物精选 软件下载 美食菜谱 新闻资讯 电影视频 小游戏 Chinese Culture 股票 租车
生肖星座 三丰软件 视频 开发 短信 中国文化 网文精选 搜图网 美图 阅读网 多播 租车 短信 看图 日历 万年历 2018年1日历
2018-1-16 21:08:10
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --