2016-06-12 5 views
0

Kann mir bitte jemand sagen, was das bedeutet und wie ich das beheben kann? "Alien" ist ein Sprite, und der AlienPosition-Variable ist ein Doppel zugeordnet.Was bedeutet das? "alienPosition = alien.position"

alienPosition = alien.position 

Der Fehler sagt dieser

Cannot assign a value of type 'CGPoint' to a value of type 'Double' 
+1

'alienPosition' sollte vom Typ' CGPoint' sein, nicht 'Double' – Code

+0

@ tumber033 Umgekehrt. – vadian

Antwort

0

Die Position Eigenschaft eines Sprite ein CGPoint ist, sowohl die x und y-Koordinaten des Sprites geben. Sie können dies nicht einer Variablen oder Konstante vom Typ double zuordnen.

Ändern Sie die Deklaration von alienPosition in einen CGPoint und greifen Sie dann auf die einzelnen Komponenten alienPosition.x und alienPosition.y zu (beide vom Typ CGFloat).

+0

Danke, das hat geholfen! –

+0

Aber jetzt bekomme ich einen seltsamen Fehler in der Klasse GameScene Bit, der sagt, dass es keine Initialisierer hat, das ist neu, hätte es irgendeine Verbindung zu den Änderungen, die ich gemacht habe? –

+0

@JamesEllsworth wahrscheinlich indirekt. Ich nehme an, Sie haben eine neue Eigenschaft deklariert, aber ihren Wert nicht in einem Initialisierer festgelegt? Alle nicht optionalen Eigenschaften müssen entweder als Teil ihrer Deklaration oder in der init-Methode für die Klasse auf einen Anfangswert gesetzt werden. Aber es ist wahrscheinlich besser, eine neue Frage zu stellen, die Ihren Code und den Fehler zeigt. –