用box2d 进行碰撞检测,在cocostudio 中 1.1中 画了 碰撞矩形, 当为了适配多屏幕显示地时候设置 setContentScaleFactor , 碰撞区域 还是原来地大小 。 求教,有什么解决办法么?
顶~~~~~~~~~~~~~~~
在适配多屏幕显示地时候设置 setContentScaleFacto的时候,同时也设置下碰撞矩形区域。同时缩放~。
如何缩小 能详细说一下么 ? 我尝试找出 contour_data 然后 缩小, 虽然 区域是小了,但是运动偏离还是大地, 我总不能一帧一帧地找把? ccarmature setcale() 就能完美解决这个问题, 但我在 2d x 地代码里面没找到 ,您方便详细说明一下么 ?
在cocostudio 中 1.1中 画了 碰撞矩形, 当为了适配多屏幕显示地时候设置 setContentScaleFactor(float scaleFactor)
1: scaleFactor已经得到。
2:这个矩形,应该也可以得到,按scaleFactor缩放。
这样做,不知道会不会ok。
确实我得到了那个矩形 尝试了 根据 scalefactor 缩放, 并且成功了, 但是, 好比 当前碰撞矩形 代表一把宝剑, 碰撞 矩形 是 根据 宝剑那个 骨骼 移动 而 移动地。 由于 动画 被缩小, 所以 移动 距离 也应该缩小, 但是 仅仅缩小碰撞矩形 移动距离 是不会缩小地, 我这样说不知道您是不是 明白 ~ 要向缩小 移动 距离 那个 太麻烦了, 我得 把 每一帧 坐标 拿出来 然后跟 第一帧 算距离, 然后在根据 比例 缩小 ?
hi,不用客气。
有点不理解。
加入刚开始碰撞矩形是(0,0,960,640),距离假定是 960. 移动速度假定是 4,就是960/4=240帧后会碰到。
现在缩小到 (0,0,480,320), 距离还是960吗?应该是480吧,移动速度也相应缩小为2,也会是在240帧后碰到。