cocos2dx-Android地图缩放计算偏移左上角原点去了
KX興 2019-04-10 04:20:29 cocos2dx-Android地图缩放计算偏移左上角原点去了,用coco2d-android版本在写个地图,两指缩放,一直往左上角原点偏移过去,正常地图两指缩放,应该在中间。 一直获取不到当前屏幕显示中点位置,不知道是不是转换世界坐标出错,还是怎么回事
/**
* 有两个手指按在屏幕上移动时,为缩放状态 放大缩小
* 多指操作 手指抖动导致屏幕抖动
*
* @param event
*/
public void handleMultiTouch(MotionEvent event) {
mFingerDis = distanceBetweenFingers(event);
float fingersScale = (float) (distanceBetweenFingers(event) / lastFingerDis);
if (Math.abs(mFingerDis - lastFingerDis) > 5) {
if (mFingerDis > lastFingerDis) {
if (getScale() < SCALE_MAX_NUM) {
//获取2点 中点坐标进行缩放
this.setScale(getScale() * fingersScale);
lastFingerDis = mFingerDis;
}
} else {
//缩放小于1倍就停止缩放
if (getScale() > SCALE_MIX_NUM) {
this.setScale((getScale() * fingersScale));
}
lastFingerDis = mFingerDis;
}
}
}
this.setScale((getScale() * fingersScale)); 单纯计算缩放倍数缩放,缩放效果,左上角偏移了