这是我第三天使用Google搜索和修补我的代码,而我无望,我真的需要帮助,所以请在这里忍受我。
解释
我将从解释基本概念开始。有一个'字符'在屏幕中间,始终完美居中。在该图层下面是一个大正方形,我将其称为画布。当你四处移动时,游戏实际上只是模拟运动,一个虚拟的摄像头'如果你愿意,那么角色实际上并没有移动,那么画布就会移动到它后面。
我的问题
在这个游戏中,相机需要能够缩放'进出,所以要做到这一点,我根据缩放值调整画布的大小和其他所有内容。 (默认为1)画布的宽度和高度始终为8000 *缩放值。这很好,但是,我在定位画布方面遇到了很大的困难,因此它与你缩放时保持相同的相对位置 - 或者更确切地说是“缩放到点”。或者'放大点'影响。我根本无法为此创建数学。
守则
local oldScale = g.scale;
local newScale = n.scaleTest.Value;
g.scale = newScale;
g.x = g.x + (g.x * newScale);
g.y = g.y + (g.y * newScale);
g.scale表示缩放值,所有内容都将调整为此大小。
g.x和g.y是画布的坐标。代码中的数学运算完全不正确。
n.scaleTest.Value是我新设置的比例的临时变量。它可以随时改变。
思考/其他重要信息
我也可以检索画布的AbsolutePosition和AbsoluteSize。我已经考虑过将从画布边缘到角色的距离计算到我的计算中,但我不完全确定如何做到这一点。
感谢您的帮助,我真诚地感谢它,我非常困难,不知道该问谁。