Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Math 如何根据框架(游戏窗口)的大小调整精灵相对于其位置Y的大小?_Math - Fatal编程技术网

Math 如何根据框架(游戏窗口)的大小调整精灵相对于其位置Y的大小?

Math 如何根据框架(游戏窗口)的大小调整精灵相对于其位置Y的大小?,math,Math,我正在尝试制作一个2.5D效果,所以我需要更改有关对象y位置的缩放值。对象越低,其大小越大。如何实现这一点?物体的大小与物体到摄像机的距离成反比。在您的情况下,可以假设摄影机位于Y=0处,在Y方向上向上看,并且标准尺寸的对象位于平面Y=1上,比例将为scale=1/对象位置Y。请注意,这是一个非常粗略的透视相机近似值,但您可以在不陷入更复杂计算的情况下,通过它来获得凉爽的效果。可能重复Hello,谢谢您的回答。我需要对象更大,如果它的Y更接近窗口/房间的大小,如果它不是。例如,在名为Fishdo

我正在尝试制作一个2.5D效果,所以我需要更改有关对象y位置的缩放值。对象越低,其大小越大。如何实现这一点?

物体的大小与物体到摄像机的距离成反比。在您的情况下,可以假设摄影机位于Y=0处,在Y方向上向上看,并且标准尺寸的对象位于平面Y=1上,比例将为scale=1/对象位置Y。请注意,这是一个非常粗略的透视相机近似值,但您可以在不陷入更复杂计算的情况下,通过它来获得凉爽的效果。

可能重复Hello,谢谢您的回答。我需要对象更大,如果它的Y更接近窗口/房间的大小,如果它不是。例如,在名为Fishdom Android的游戏中,水族馆中的装饰对象是如何移动的。@EadwineYoun然后,您可以用到相机的距离替换Y。它对你有用吗?照相机?但是如果游戏是2D的?我有窗口大小,对象大小从0.0到1.0,它是位置。当我说相机时,它指的是你对窗口的概念。您的对象具有Y值。按照我的回答中的定义使用它,即大小=基本大小/对象位置。将对象的常规大小设置为y=1,然后增加y使其变小。例如,在y=2时,对象将变小两倍。非常感谢,这很有效,我钳制了比例并将大小乘以2,因为变化很小。尺寸=基准尺寸/y*2;