2013-12-10 2 views
1

Sprite Kit полагается на zRotation, xScale и yScale вместо простого свойства преобразования. Это потому, что Apple нуждается в значениях вращения и масштаба, чтобы вычислить физику с более высокой производительностью?Почему Sprite Kit SKNode подвергает zRotation, xScale и yScale вместо простого преобразования?

Или почему еще они не просто выставляют свойство преобразования вместо отдельных свойств для вращения и масштаба?

ответ

5

Потому что они ставят себя в образ мыслей (большинство) потенциальных пользователей:

WTF является преобразование ???

Eeeeew, math!

Почему нет только свойств вращения, положения и масштаба ???

Почему это должно быть так сложно?

Sprite Kit отстой !!! 1

Для тех, кто, кроме небольшой группы программистов и математиков эти свойства, естественно, выражается как вращение, масштаб, положение. Каждый понимает их, каждый может их использовать, а математика, используемая для их преобразования, проста и широко документирована, т. Е. Вращается вокруг точки с cos (x)/sin (y). Тригонометрия управляема.

Те, кто хочет использовать преобразования, не найдут затруднений в преобразовании этих свойств из и в преобразования. Трансформации - это передовая концепция, более мощная, но более сложная в использовании.

Теперь расскажите Transformians, что им придется использовать необработанные кватернионы для всех своих расчетов. То же самое, только на более высоком уровне. ;)

Другие аспекты:

  • CGTransform API, не является ни Objective-C, ни АРК
  • физический движок (Box2D) не имеет понятия преобразований либо
  • cocos2d уже нет преобразования свойств либо (они используются только внутри), Sprite Kit моделируется после cocos2d.
  • трансформации обычно не используются в других двигателях 2D-рендеринга