请教大家一个问题,关于以特定位置放大缩小的效果应该如何实现呢?

我想要实现以特定位置为中心的放大的效果。之前有朋友说可以改变锚点,然后再设置scale,但是改变锚点其他子节点的位置也就跟着改变了,工作量似乎很大。

如果使用相机实现拉进拉远的效果的话,应该怎么实现呢?希望各位大佬能详细解答下。
以下是我的示意图,忽略我粗糙的画工;

补充一下:不是和放大镜一样的效果,就是想以红色区域为中心整体放大,且红色区域原本的最下面的坐标点原本是在屏幕的最下方的,就算放大后也依旧保持在最下方,不会超出边界。

无标题

1赞

你把需要放大的部分的图片节点做成子节点 去修改缩放就行了

他是一个整体的部分

切一块红色区域叠上去,做子节点改锚点!放大

搞2个节点,都做个mask遮罩,放大对应节点就行

那就再加一个父节点

是类似特写镜头的效果么?比如足球比赛,一开始拉远景,某人带球后镜头拉近给近景特写,射门后镜头跟随球缓慢拉远

你这个放大要改描点 如果还能滚动的话还要设置边界

一个简单的数学题?(锚点0.5)
let scale = node.scale + add;
node.x -= point.x * add;
node.y -= point.y * add;
node.scale = scale;