【问题标题】:Why does Sprite Kit SKNode expose zRotation, xScale and yScale instead of simply a transform?为什么 Sprite Kit SKNode 公开 zRotation、xScale 和 yScale 而不是简单的变换?
【发布时间】:2013-12-10 15:39:27
【问题描述】:

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

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

【问题讨论】:

    标签: ios iphone sprite-kit sknode


    【解决方案1】:

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

    WTF 是变换???

    Eeeeew,数学!

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

    为什么要这么难?

    Sprite Kit 很烂!!!1

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

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

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

    其他方面:

    • CGTransform API 既不是 Objective-C 也不是 ARC
    • 物理引擎 (Box2D) 也没有变换的概念
    • cocos2d 也没有变换属性(它们只在内部使用),Sprite Kit 是仿照 cocos2d 建模的。
    • 变换在其他 2D 渲染引擎中也不常用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-20
      • 1970-01-01
      相关资源
      最近更新 更多