繁体   English   中英

Viewport.unproject() 返回 NaN(不是数字)

Viewport.unproject() returning NaN (not a number)

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试以世界单位获取触摸坐标,以便我可以使用 viewport.unproject(Vector3) 在屏幕上绘制纹理,但它返回的是 NaN。

我的视口和相机如下所示:

public class GameRenderer {

    private InvadersGame game;

    private Viewport viewport;
    private OrthographicCamera camera;
    private SpriteBatch batch;
    private Animation<TextureRegion> shipAnimation;
    private TextureRegion currentShipFrame;
    private Ship ship;
    private CameraDebug cameraDebug;
    private DebugCameraConfig debugCameraConfig;

    private TextureAtlas shipAtlas;

    private float timeElapsed;

    public GameRenderer(InvadersGame game) {
        this.game = game;
        init();
    }

    private void init() {
        camera = new OrthographicCamera();
        viewport = new FitViewport(GameConfig.WORLD_WIDTH, GameConfig.WORLD_HEIGHT, camera);
        batch = new SpriteBatch();

        shipAtlas = new TextureAtlas(Gdx.files.internal(AssetPaths.shipAnimation));
        shipAnimation = new Animation<TextureRegion>(1/10f, shipAtlas.findRegions("ship"), Animation.PlayMode.LOOP);
        ship = new Ship();
        cameraDebug = new CameraDebug();
        debugCameraConfig = new DebugCameraConfig();
    }

. . .

我有一个 GameScreen class 实现屏幕并具有 GameRenderer 的实例,因此调用 init() 方法。

这是我尝试过的:

Public class GameController

. . .

 private void updateShip() {
        ship.setPositions(renderer.getViewport().unproject(ship.getTouchPos()));
        log.debug(Float.toString(renderer.getViewport().unproject(ship.getTouchPos()).x));
    }

. . .

其中 ship.getTouchPos 返回 Gdx.input.getX() 和 y 的 Vector3。

显然,我在 GameController 中有一个 GameRenderer 实例来获取视口并使用它将触摸坐标转换为世界坐标。

log.debug output:

I/chatty: uid=10133(com.mygdx.game) GLThread 342 identical 2 lines
D/GameController: NaN
D/GameController: NaN
问题暂未有回复.您可以查看右边的相关问题.
1 Xna等效的Viewport.Unproject在绘图调用中作为矩阵变换[关闭]

我正在制作一个2D sidescroller,我想把我的精灵画到世界空间而不是客户空间,所以我不必将它锁定到屏幕的中心,当相机停止时,精灵将走出屏幕而不是被卡住在中心。 为了做到这一点,我想制作一个转换矩阵,在我的绘制调用中。 我见过这样的东西: XNA ViewPort投影和Sprit ...

2 返回NaN的数字?

我正在使用具有许多属性的对象,并使用这些属性绘制到画布上。 我正在使用其他一些属性进行计算。 但是,我遇到了一个问题! 基本上,我有一个具有许多属性的对象,尽管当我检查存储在属性中的数据类型时,它会返回“ Number”,但是当我调用该属性时,我得到的是NaN ...,因此在绘制到该对 ...

3 libGDX camera.unproject()返回NaN

我有一个基本的LibGDX项目,我想在其中获取触摸位置,但是Android设备给出了屏幕坐标,而不是虚拟游戏坐标,因此我正在使用camera.unproject()来获取正确的坐标。 我得到的结果是返回的x,y值是NaN(不是数字)。 为什么会这样呢? ...

4 为什么返回NaN而不是数字?

JavaScript noob在这里... 我试图遍历一个数组并将值加在一起。 这就是我所拥有的: 该警报返回NaN而不是总数。 我究竟做错了什么? 我已经检查过数据数组是否包含要添加的数字。 只需要立即添加它们。 谢谢! ...

5 Unproject 点的实现返回错误的 x 值

我正在使用 ARKit 开发 IOS 项目,其中我试图从屏幕 2D 坐标中获取世界坐标(3D)。 我知道我们可以使用 SCNView 或 ARSCNView 的 unproject function 轻松获得此信息。 但由于其他一些原因,我只需要使用 ARCamera 和屏幕坐标来获取世界坐标。 从 ...

6 尽管文本中有数字,但解析 Int 仍返回 NaN

嘿,我一直在使用转录 api,出于某种原因,每次我使用 parseInt(speech) 时,它都会返回 NaN,尽管文本中有一个数字 这是我的代码: 以下是日志: 我完全不确定它为什么这样做。 据我所知,它应该只是返回 156。非常感谢任何帮助。 ...

9 Numpy NaN返回“ nan”

这是我的代码的一部分: 但是'nan'填充为'nan'(字符串)而不是NaN。 自然地,df.isnull()。any()返回False,因为'nan's被注册为字符串。 我哪里做错了? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM