Я не уверен, как созданная переменная CGPoint знает, как обрабатывать конкретный оператор if
.
Например, у меня есть CGPoint myVelocity;
, тогда у меня есть произвольное число float maximumVelocity = 100;
Затем я выполняю следующий код
if (myVelocity.x > maximumVelocity) {
myVelocity.x = maximumVelocity;
}
else if (myVelocity.x < -maximumVelocity)
{
myVelocity.x = -maximumVelocity;
}
Из того, что я понимаю, если первое условие выполнено, то есть myVelocity.x > maximumVelocity
, тогда переменная CGPoint установлена на максимум, то есть число 100. Это так, что моя переменная никогда не превышает произвольное число. А другое условие настроено так, чтобы оно не переходило в отрицательное.
По крайней мере, я так думаю.
Теперь вот важная часть этого поста. Я запутался в том, как переменная myVelocity
знает, что это за произвольное число. Например, это 10? 25 в следующую секунду или когда он достигнет 100.
Я также должен отметить, что перед выполнением оператора if в myVelocity
хранится следующий код
Ниже приведен код, который сохраняется в myVelocity перед выполнением оператора if.
float deceleration = 0.4f;
float sensitivity = 6.0f;
float maximumVelocity = 100;
myVelocity.x = myVelocity.x *deceleration + acceleration.x *sensitivity;
Я недавно спрашивал о коде смилара для последней части моего вопроса, но теперь мне интересно узнать о первой.