软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
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
生肖星座 三丰软件 视频 开发 Android开发 站长 古典小说 网文精选 搜图网 美图 中国文化英文版 多播 租车 短信
2017-7-26 10:40:33
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --