我用摄像机做地图展示,通过修改摄像机的 zoomRatio 来实现地图的缩放,现在遇到一个问题:缩放 zoomRatio 后,地图的边界计算出现问题,会导致黑边。请问有什么方案解决缩放摄像机后的边界计算问题。
这是我目前的边界计算:
// 获取相机最大坐标值
this.cameraMaxX = 3000 - cc.winSize.width / 2;
this.cameraMaxY = 2311 - cc.winSize.height / 2;
// 判断方法
if (newPosition.x > this.cameraMaxX) {
newPosition.x = this.cameraMaxX;
}
if (newPosition.x < -this.cameraMaxX) {
newPosition.x = -this.cameraMaxX;
}
if (newPosition.y > this.cameraMaxY) {
newPosition.y = this.cameraMaxY;
}
if (newPosition.y < -this.cameraMaxY) {
newPosition.y = -this.cameraMaxY;
}
self.mapCamera.setPosition(newPosition)
我知道缩放后,应该更新this.cameraMax的值,尝试了,不是很精确,不知道有什么完善的方案?