2012-02-03 2 views
-2

Простите мое невежество, но мне трудно вспомнить, что я просматриваю в своем коде.Что именно я получаю в своем коде?

if (pos.x < leftBorderLimit) 
{ 
pos.x = leftBorderLimit; 
playerVelocity = CGPointZero; 
} 

else if (pos.x > rightBorderLimit) 
{ 
pos.x = rightBorderLimit; 
playerVelocity = CGPointZero; 
} 

Вот что я знаю. Я знаю, что когда я делаю 'playerVariable.x' (это переменная CGPoint), я получаю доступ к этим переменным по оси X, и я могу делать все, что захочу, но что именно происходит, когда я просто делаю 'playerVelocity = ..... ', и что происходит, когда я назначаю CGPointZero к нему?

ответ

1

playerVelocity должен быть CGPoint, чтобы вы могли представлять x- и y-составляющую скорости. При присвоении CGPointZero до playerVelocity будут установлены как x, так и y компоненты на 0.

+0

Хорошо, имеет смысл. Что делать, если я сделал 'playerVelocity.x = CGPointZero;' Будет ли это устанавливать ТОЛЬКО X к нулю, но оставить Y на что угодно ..? –

+0

Нет, 'playerVelocity.x' - это только компонент x CGPoint, который представляет собой одно значение CGFloat (т. Е. Число с плавающей запятой). Если вы хотите установить только x-компонент в 0, вы выполните 'playerVelocity.x = 0.0' – UIAdam

+0

Спасибо, много. Это то, что я искал. –

1

playerVelocity = CGPointZero; означает playerVelocity = CGPointMake(0,0);.

Смежные вопросы