Project1

标题: 求Viewport的放缩算法或脚本 [打印本页]

作者: ky52879    时间: 2014-1-16 16:52
标题: 求Viewport的放缩算法或脚本
各位大神,现有一个@v = Viewport.new(0,0,640,480),里面有2个Sprite,因为Sprite是有zoom属性可以放缩的,既想同时将2个Sprite缩小到0.6,又想保持相对坐标不变,且Viewport的原点坐标还是在屏幕中心,应当如何操作?只能扩展Viewport类,循环便利里面的Sprite吗?难道Viewport不能提供zoom属性?请教各位实现方式。。
作者: 国产吃货    时间: 2014-1-16 17:59
想要什么效果。
作者: 紫英晓狼1130    时间: 2014-1-16 18:56
Viewport如果能有zoom属性,既能放大缩小,XP也可以实现画面放大了,但我现在不知道方法
作者: end55rpg    时间: 2014-1-17 10:08
参考模拟缩放画面:http://rpg.blue/thread-325295-1-1.html

作者: ky52879    时间: 2014-1-17 12:07
end55rpg 发表于 2014-1-17 10:08
参考模拟缩放画面:http://rpg.blue/thread-325295-1-1.html

很感谢,但是貌似该作者只是“待编辑”。。。
作者: yagami    时间: 2014-1-17 13:24
本帖最后由 yagami 于 2014-1-17 14:03 编辑

直接改viweport我不知道 遍历更改sprite的算法如下
假设viewport缩放 0.x 直接记为x
viewport 假想中心点 vox voy (以百分比计算)  屏幕分辨率 width height
sprite a  原 x y 我记为 oldx oldy
newx = oldx*x + (1-x)*width*vox
newy = oldy*x +(1-x)*height*voy
测试图如下





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1