在OrthographicCamera中有zoom属性控制放大缩小系数,只要修改便会控制Camera的放大缩小,可是直接修改不平滑。
Camera中position可以平滑移动,查询源码得知,position使用Vector3,而zoom使用int。
现在有两个方法可以:
1:自建属性Vector3 z用于控制zoom:
Vector3 z = new Vector3(0,0,1);//zoom初始为1
Vector3 v = new Vector3(0,0,0.9);//放大0.9
public void render() {
z.lerp(v, 5f * Math.min(0.06f, Gdx.graphics.getDeltaTime()));
zoom = z.z;
.......
}
2:修改Camera源码。
由于修改源码将可能导致bug,小弟学浅,暂时不敢动。希望大家能够给出代码。