这是一个难得的......
y-scale&瓷砖的位置是为透视计算的,但我想扩大规模。同时将它们放置在水平透视位置(板顶部的卡通看起来像是压扁的)。这是当前的代码:
this.scale.x = SCALE_X * ( 0.5 + 0.5 * gamePiece.y / Game.TILE_ROWS );
只需将x-scale更改为-pathForResource:ofType:inDirectory:
,如下所示:
...所以我想我只需要一个方程来正确设置它们的x位置。
任何想法或链接?谢谢!
答案 0 :(得分:3)
请注意,透视变换后的X坐标取决于X和Y源坐标。一般表达
XPersp = (A * X + B * Y + C) / (G * X + H * Y + 1)
对于您的情况(沿中心轴的透视视线)将带角的矩形(XCenter-W,0) - (XCenter + W,H)转换为在XCenter垂直居中的梯形,向上移动YShift,是:
XPersp = XCenter + (X - XCenter) / (H * Y + 1)
YPersp = (YShift + E * Y) / (H * Y + 1)
其中H,E是一些适合好看的系数。
V {E(定义梯形高度)约为0.5-2.0
,H(定义梯形倾斜)约为0.005