Создать подкласс CCNode
.Мы назовем это Custom
.В Custom
будет экземпляр CCSprite
(называемый mySprite
) и свойство float
(называемое myTimer
).Пока что мы получили что-то вроде этого:
#import <Foundation/Foundation.h>
#import "cocos2d.h"
@interface Custom : CCNode {
CCSprite *mySprite;
float myTimer;
}
@property(readwrite)float myTimer;
@end
Хорошо.Не забудьте инициализировать myTimer
в функции init
Custom
.Значение будет 0.0
.
Теперь перейдите на свою игровую сцену.Здесь мы установим график.Перейдите к функции init
вашей игровой сцены и введите:
[self schedule:@selector(updateCustomTimers:)interval:0.1];
Естественно, вам нужно будет создать метод updateCustomTimers
в своем классе игровой сцены.Хорошо, теперь все, что вам нужно сделать, это перебрать каждый экземпляр Custom
и увеличить их таймеры:
-(void)updateCustomTimers {
for (Custom *myCustomInstance in arrayOfCustomInstances) {
myCustomInstance.myTimer += 0.1;
}
}
Обратите внимание, что arrayOfCustomInstances
- это NSMutableArray
, который должен содержать все экземплярыCustom
в вашей игровой сцене.Поэтому всякий раз, когда вы создаете новый экземпляр Custom
, добавляйте его также в массив.
Теперь у вас есть возможность обновлять отдельные таймеры для каждого отдельного спрайта (заключенного в пользовательский класс) в вашей игре.Отсюда подсчет очков должен быть легким (вы можете получить доступ к таймеру любого экземпляра Custom
, полученного с помощью свойства myTimer
float).