嘿伙计们我正在使用libGDX开发Android游戏,我在这里遇到了缩放问题。它基本上是一个滑雪狩猎风格的2D游戏,我想在高度变化时实现放大/缩小效果。是否可以使用OrthoGraphicCamera解决这个问题?或者我应该实时更改对象的大小(因为我仍然希望将背景保持为固定大小)?
答案 0 :(得分:0)
如果Camera.zoom
无法解决您的问题,您可以使用
批量未经修改以绘制您的背景,并使用batch.getProjectionMatrix().cpy().scale (yourScaleVariableX, yourScaleVariableY, 0);
只模拟你想要的项目,变化的变量,而不是你希望有所帮助。
简单的例子:
变量类
Matrix4 testMatrix;
float yourScaleVariableX;
float yourScaleVariableY;
示例渲染方法
.//
batch.begin();
yourBackground.draw...
batch.end();
batch.begin();
testMatrix = batch.getProjectionMatrix().cpy().scale (yourScaleVariable, yourScaleVariable, 0);
batch.setProjectionMatrix(testMatrix);
yourItem.draw..
batch.end();
我认为更有效,更改矩阵,调整所有对象的大小。
我希望能够解释清楚。
修改强>
我没有意识到,当我写下答案时,你可以存储保存原始矩阵,然后再编辑它以供以后使用,或使用batch.setProjectionMatrix (camera.combined);
恢复