在做一个扫雷游戏,需求是棋盘可以像滚动条那样滚动,也可以进行大小缩放。
滚动效果直接挂一个 ScrollView 组件即可实现,
缩放我自己写了一个类,是对棋盘的 scale 进行放大缩小 从而实现缩放的,
但是问题来了,比方说我现在棋盘放大后,然后移动的话,棋盘是不能往着左上角或是右上角滚动过去的,因为节点的位置一直没变,他的锚点,就是我截图的那个圈圈,位置依然在那,所以滚动不了。。。 这样的话我应该怎么去做,难道 ScrollView 要自己重写吗,如果要,应该怎么写,求指点!
没明白……棋盘放大之后,因为content比scrollview大,所以不是自然就可以滚动了吗?
content 是比 scrollview大,但是滚动不了,放大了之后就滚动不了了
我懂了,是不是size没有变,滚动区域应该是根据size计算的,scale缩放的时候,同步修改一下size试试
用那种自适应大小模式可以吗?
去改变node的size大小,content才可以被撑开,改变node的scale的大小只是在视觉上放大了,content的大小并没有改变,所以不会产生移动的需求
缩放效果完全可以使用Camera实现,从而不影响目标节点的任何属性,
移动也可以使用Camera. 移动Camera 而不是滚动目标节点.
这样做只需操作Camera节点, 而不用修改目标节点的任何状态.
