请问,需要实现一个图片缩放并定位到某个位置(缩放和定位都需要动画过去而不是瞬间定位),有什么好的实现方法吗?
神经蛙
2020-05-08
实现类似将镜头在游戏大地图上定位并放大游戏地图的效果。
试过使用moveto插件实现移动,但是缩放使用的是系统自带的scale,scale虽然简单但是缩放过程是瞬间完成的,如果做成动画移动效果就好了。
XYZT
2020-05-08
额
缩放可以直接用layer的scale,你可以控制缩放指定的层级例如UI不会被缩放,地图和角色缩放。
缩放方法可以使用lerp控制在两个比例之间平化变化。
例如可以先定义一个变量current scale = 1以及两个屏幕尺寸缩放常量scaleA=1和scaleB=1.5
然后在需要切换的每帧里设置当前的全局缩放值:
currentScale = lerp(currentScale, scaleB, 0.1)
表示从currentScale(1)平化切换至scaleB(1.5),0.1是控制时间,越小越缓慢
切换的过程就在每帧里不断的改变current,逐渐趋近于目标值
最后将layer scale设置=currentScale就行了
如果要切回去就lerp至scaleA
动画是一个过程,所以缩放想要加动画需要缩放事件触发以后不断的调整scale缩放的大小直到缩放到你要的大小,那动画不就出来了么,当然move也一样。我没使用过Construct但是过程是差不多的。