java - libgdx 在矩形内缩放/拖动

标签 java libgdx scene2d

我正在使用 scene2d 来玩棋盘游戏。我希望该板可以在屏幕的指定矩形部分内缩放和移动,而屏幕的其余部分保持不变。

我尝试为板使用单独的阶段,但尚未找到正确初始化视口(viewport)和相机的方法。

我在Screen.resize(int width, int height)中尝试了以下代码作为测试,但是boardStage变得垂直拉伸(stretch),并且当放大时(像这里一样),它填充了整个屏幕。

hudStage.setViewport(8, 12, true, 0, 12, width, height);
boardStage.setViewport(8, 8, true, 0, 10, width, width); 

OrthographicCamera cam = (OrthographicCamera) boardStage.getCamera();
cam.zoom =.5f;

正确的做法是什么?

最佳答案

我们为我们的棋盘游戏实现了类似的缩放。 https://play.google.com/store/apps/details?id=net.peakgames.mobile.rummi.android

我们正在使用第二个变焦相机:

  • scissorStack 用于裁剪第二个相机渲染区域。
  • 仅当触摸/拖动板上时才会启用第二个摄像头。
  • 当用户在板上拖动时,我们会更改相机位置。

希望这有帮助..

关于java - libgdx 在矩形内缩放/拖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20456669/

相关文章:

java - Gradle无法识别Java 10+方法

libgdx - 如何在 Libgdx 中获取字符串宽度?

java - Facebook 与 Libgdx 集成

java - TextButton 背景上的 NinePatch 渲染问题 (libgdx)

java - 如何为几个 Java 枚举添加常用方法? (抽象类的祖先?)

随机变化的Java变量

libgdx - 同一行表Libgdx中的多个Actor

java - 将 libgdx 项目导入 Eclipse 时未绑定(bind)类路径变量 junit 和 log4j

java - 如何将 Apache Felix 包含到 Maven 项目中以便以编程方式安装 bundle ?

java - 在 libgdx 中渲染重复背景的正确方法是什么?