首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >雪碧不跟随车身/夹具

雪碧不跟随车身/夹具
EN

Stack Overflow用户
提问于 2014-12-02 01:46:03
回答 1查看 531关注 0票数 0

当相机/屏幕移动时,我试着让精灵保持在静止的身体(实际上是它的固定装置)上。我需要做些什么才能做到这一点?

Background:我有一个播放器(它是动态的,多边形的,设置为一个盒子),当播放器在屏幕上向上移动时,相机会跟着它。

每X米,我就在玩家面前产生一个(静态的)长方形,几米。这个长方形是我试图在上面画一个精灵的身体,问题是当我画它的时候,精灵在屏幕上是静止的,而不是停留在身体/装置的顶部。

我的游戏屏幕像这样跟随着我的玩家:

代码语言:javascript
复制
box2dCamera.position.y = player.getPosition().y + box2dCamera.viewportHeight / 2 - (player.bodyHeight);
box2dCamera.update();

我使用libgdx-utils lib在矩形顶部绘制sprite,如下所示:

代码语言:javascript
复制
Box2DSprite box2DSprite = new Box2DSprite(KidsGame.res.getTexture("badlogic"));
fixture.setUserData(box2DSprite);

sb.begin();
Box2DSprite.draw(sb, world);
sb.end();

谢谢你的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-02 10:53:35

SpriteBatch使用Matrix4进行呈现。

这个Matrix4应该设置为cameracombined矩阵。

随着camera.combined的更改,当camera移动时,您还应该通过在render(delta)中调用SpriteBatch#setProjectionMatrix(camera.combined)来更新SpriteBatchprojectionMatrix

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27240552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档