Форум программистов, компьютерный форум CyberForum.ru

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
proger2030
11 / 11 / 2
Регистрация: 15.11.2010
Сообщений: 256
#1

Ошибка в таймере, или неправильно вызываю селектор? - Программирование iOS

04.10.2014, 22:53. Просмотров 366. Ответов 4
Метки нет (Все метки)

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
- (IBAction)start:(id)sender {
    [startButton setHidden:YES];
  
        randomTime = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(onTimer) userInfo:nil repeats:TRUE];
    
    
}
 
- (void) onTimer {
    
    [self checkCullision];
    
    self.enemyball.center = CGPointMake(self.enemyball.center.x + pos.x, self.enemyball.center.y + pos.y);
    if (self.enemyball.center.x > 320 || self.enemyball.center.x < 0)
        pos.x = (-(pos.x));
    if (self.enemyball.center.y > 480 || self.enemyball.center.y < 0)
        pos.y = (-(pos.y));
   
}
- (void) checkCullision {
    
    if (CGRectIntersectsRect(self.enemyball.frame, self.playerball.frame)) {
        //[randomTime invalidate];
        randomTime = nil;
        [startButton setHidden:NO];
        
        pos = CGPointMake(0.0, 0.0);
        
        CGRect frame = [self.playerball frame];
        frame.origin.x = 137.0;
        frame.origin.y = 326.0;
        [self.playerball setFrame:frame];
        
        CGRect frame2 = [self.enemyball frame];
        frame2.origin.x = 137.0;
        frame2.origin.y = 20.0;
        [self.enemyball setFrame:frame2];
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"YOU LOST" message:[NSString stringWithFormat:@"You were hit! Try again!"] delegate:nil cancelButtonTitle:@"Dismiss" otherButtonTitles:nil, nil];
        [alert show];
        
    }
 
}
 
-(void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
    UITouch *myTouch = [[event allTouches] anyObject];
    self.playerball.center = [myTouch locationInView:self.view];
    
}
когда нажимаю повторно кнопку старт не выполнятся слектор.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2014, 22:53     Ошибка в таймере, или неправильно вызываю селектор?
Посмотрите здесь:
Селектор или диспатчер Objective-C
Objective-C Селектор и аргумент функции
Ошибка в коде. Почему не правильно вызываю функцию? C++
C++ Ошибка в учебнике или я неправильно понял?
CSS селектор или класс? HTML, CSS
Delphi Непонятная ошибка в таймере
Delphi В таймере получаю html код,возникает ошибка 429
Oracle неправильно выполняет запрос или я неправильно принимаю Oracle Oracle
Запуск двух методов: оптимальнее в одном таймере или двух? C#
JQuery, селектор "или" or, Есть ли такой и как его можно применить? jQuery
Ноут заболел. Вызываю Айболита=)
VBA Когда вызываю bmapisendmail, ничего не происходит

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
05.10.2014, 08:44     Ошибка в таймере, или неправильно вызываю селектор? #2
proger2030, если к кнопке привязан вызов метода -start:, то селектор -onTimer будет вызываться.
proger2030
11 / 11 / 2
Регистрация: 15.11.2010
Сообщений: 256
05.10.2014, 15:41  [ТС]     Ошибка в таймере, или неправильно вызываю селектор? #3
Дело в этом что, при первом запуске все работает как надо. Запускаю нажимаю на кнопку startButton(теперь кнпока не видно пока идет игра.) работает (когда два шарика пересекаются пользователь получает сообщения "Вы проиграли.). И кнопка снова активно но когда нажимаю startbutton ничего не происходит (главное метод checkCullision работает а рандомное движения шарика нет).
edward_jonson
158 / 158 / 25
Регистрация: 23.02.2011
Сообщений: 390
05.10.2014, 20:37     Ошибка в таймере, или неправильно вызываю селектор? #4
proger2030, почему у вас [randomTime invalidate]; закомменчен?
proger2030
11 / 11 / 2
Регистрация: 15.11.2010
Сообщений: 256
05.10.2014, 22:34  [ТС]     Ошибка в таймере, или неправильно вызываю селектор? #5
да с ней тоже попробовал не работает.
Yandex
Объявления
05.10.2014, 22:34     Ошибка в таймере, или неправильно вызываю селектор?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru