1

Sprite Kit 依赖于 zRotation、xScale 和 yScale 而不是简单的变换属性。是因为 Apple 需要旋转和缩放值来计算具有更高性能的物理吗?

或者他们为什么不简单地公开一个变换属性而不是单独的旋转和缩放属性?

4

1 回答 1

5

因为他们将自己置于(大多数)潜在用户的心态中:

WTF是一个变换???

Eeeeeew,数学!

为什么不只有旋转、位置和缩放属性???

为什么一定要这么难?

雪碧套件很烂!!!1

对于除了一小群程序员和数学家之外的任何人,这些属性自然地表示为旋转、比例、位置。每个人都理解它们,每个人都可以使用它们,并且用于转换它们的数学很简单并且被广泛记录,即用 cos(x)/sin(y) 围绕一个点旋转。三角函数是可管理的。

那些想要使用转换的人会发现将这些属性从转换转换为转换是没有困难的。变换是一个高级概念,更强大但也更难使用。

现在告诉变形金刚他们必须使用原始四元数进行所有计算。同样的事情,只是在更高的水平上。;)

其他方面:

  • CGTransform API 既不是 Objective-C 也不是 ARC
  • 物理引擎(Box2D)也没有变换的概念
  • cocos2d 也没有变换属性(它们只在内部使用),Sprite Kit 是在 cocos2d 之后建模的。
  • 变换在其他 2D 渲染引擎中也不常用
于 2013-12-10T19:18:44.320 回答