Пересмотр совершенно правильного ответа Чака другим способом.
Ваша проблема в том, что CGPoints не являются объектами Objective-c, а являются C-структурами.Ваше свойство * _vel * не является экземпляром объекта, как NSArray, NSArray или DebugZoneLayer.
В качестве простого и ленивого примера, используя int вместо struct и немного psuedocode ..
@interface HeroClass : CCLayer {
int _numberOfLives;
}
@end
@implementation HeroClass
- (id)init {
[super init];
_numberOfLives = 3;
}
- (int)livesRemaining {
return _numberOfLives;
}
@end
вы не можете установить значение _numberOfLives следующим образом ..
foo = [[HeroClass alloc] init];
bar = [foo livesRemaining];
bar = 2;
Изменение значения bar не приведет к изменению значения переменной экземпляра foo _numberOfLives , поскольку при вызове -livesRemaining , bar было установлено на копию текущего значения _numberOfLives .
Короче говоря, вам нужно научиться немного C.