Однако это немного сложнее ... Мне нужны два NSTimers:
- myTimer1 будет иметь скорость 1 сек.интервалы и игра в течение 6 интервалов остановите и перейдите к myTimer2 ...
- myTimer2 будет иметь скорость 2 секунды.интервалы и играть в течение 6 интервалов, а затем вернуться к myTimer1
- и продолжать до тех пор, пока не будет нажата кнопка остановки.
Мне удалось запустить только один таймер, и я могувыяснить, как сделать все остальное.Вот краткий обзор кода, который я использовал: .h
@interface sosTest8ViewController : UIViewController {
IBOutlet UILabel *myCounterLabel;
IBOutlet UIView *greenView;
IBOutlet UIView *blueView;
NSTimer *myTimer1;
NSTimer *myTimer2;
}
@property (nonatomic, retain)NSTimer *myTimer1;
@property (nonatomic, retain)NSTimer *myTimer2;
@property (nonatomic, retain) UILabel *myCounterLabel;
@property (nonatomic, retain) UIView *greenView;
@property (nonatomic, retain) UIView *blueView;
@end
.m
@synthesize myCounterLabel;
@synthesize greenView;
@synthesize blueView;
@synthesize myTimer1;
@synthesize myTimer2;
- (void)viewDidLoad
{
[super viewDidLoad];
self.myCounterLabel.text = @"0";
myTimer1 = [NSTimer scheduledTimerWithTimeInterval:1.0f
target:self
selector:@selector(updateCounter:)
userInfo:nil
repeats:YES];
}
-(void)updateCounter:(NSTimer*)theTimer{
static int count = 1;
count++;
NSString *s = [[NSString alloc]initWithFormat:@"%d", count];
self.myCounterLabel.text = s;
[s release];
self.blueView.hidden = YES;
self.greenView.hidden = YES;
switch (count & 0x01) {//was & 0x03
case 0: self.blueView.hidden = NO; break;
case 1: self.greenView.hidden = NO; break;
}
//I added this if bit as my own way, but doesn't jump to the net timer properly
if (count >= 3) {
[myTimer1 invalidate];
self.myCounterLabel.text = @"0";
myTimer2 = [NSTimer scheduledTimerWithTimeInterval:2.0f
target:self
selector:@selector(updateCounter2:)
userInfo: nil повторяется: ДА];}
Итак, это формулаЯ играл с и до того, как я добавил оператор «если», он работал, и два цветных UIViews чередовались хорошо.Когда я изменяю скорость до двух в myTimer1 до 2, это работает при изменении интервала скорости.Мне просто нужна помощь в использовании рабочего синтаксиса для добавления второго перехода по таймеру, а затем его повторения.
Возможно, это даже невозможно сделать, но я надеюсь, что это так, и кто-то может мне помочь.
Большое спасибо.
- Роб