2014-05-03 19 views
5

Nach der Suche in documentation, kann ich immer noch keine vernünftige Erklärung dafür finden, was ein CGVector ist. Die einzigen Male, in denen es in der Dokumentation erwähnt wird, ist, wenn es zeigt, was es typedef ist.Was ist ein CGVector?

struct CGVector { 
    CGFloat dx; 
    CGFloat dy; 
}; 
typedef struct CGVector CGVector; 

Von Grundgeometrie weiß ich, dass dx bedeutet Delta x oder Änderung in x. Das gleiche gilt für dy. Mit diesem Wissen, was ist ein CGVector (oder einfach irgendeine Art von Vektor) aus Sicht der Programmierung? Wenn es hilft, versuche ich einen Vektor im Zusammenhang mit SpriteKits SKPhysicsBody und Geschwindigkeit zu verstehen.

+2

Ein CGVector entspricht der bekannten Definition eines Vektors in der Mathematik. Vektoren sind Größen von Entfernung und Richtung. Welche bessere Möglichkeit, es für zweidimensionale Ebenen wie Bildschirme als eine Struktur mit Änderung in x und Änderung in y zu zeigen? – CodaFi

+0

Aber wir haben auch 'CGSize'. Es scheint wenig Unterschied zwischen den beiden zu geben –

Antwort

8

Wie Sie bereits erwähnt haben, repräsentieren dx und dy die Änderung in x bzw. die Änderung in y. Das macht es zu einem guten Kandidaten, um die Geschwindigkeit eines Objekts in zwei Dimensionen darzustellen.