12 / 12 / 5
Регистрация: 15.11.2010
Сообщений: 256
1

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

04.10.2014, 22:53. Показов 615. Ответов 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];
    
}
когда нажимаю повторно кнопку старт не выполнятся слектор.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.10.2014, 22:53
Ответы с готовыми решениями:

Ошибка в коде. Почему не правильно вызываю функцию?
Собственно вот код ошибки. 18 8 D:\C++\Task7.1.1.cpp case label value is less than minimum value...

Ошибка в учебнике или я неправильно понял?
Учу с++ по самоучителю. Анализируя очередной код наткнулся на фразу (на фото). Ошибка ли это или я...

Class в явном объявлении интерфейса не является интерфейсом, ошибка когда вызываю тело метода
class Mob { int Method() { return 0; } } ...

Ошибка в таймере
В консольном приложении ругается на эту строку timer.Tick += new EventHandler(timer_Tick); Пишет...

4
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
05.10.2014, 08:44 2
proger2030, если к кнопке привязан вызов метода -start:, то селектор -onTimer будет вызываться.
0
12 / 12 / 5
Регистрация: 15.11.2010
Сообщений: 256
05.10.2014, 15:41  [ТС] 3
Дело в этом что, при первом запуске все работает как надо. Запускаю нажимаю на кнопку startButton(теперь кнпока не видно пока идет игра.) работает (когда два шарика пересекаются пользователь получает сообщения "Вы проиграли.). И кнопка снова активно но когда нажимаю startbutton ничего не происходит (главное метод checkCullision работает а рандомное движения шарика нет).
0
163 / 163 / 68
Регистрация: 23.02.2011
Сообщений: 392
05.10.2014, 20:37 4
proger2030, почему у вас [randomTime invalidate]; закомменчен?
0
12 / 12 / 5
Регистрация: 15.11.2010
Сообщений: 256
05.10.2014, 22:34  [ТС] 5
да с ней тоже попробовал не работает.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.10.2014, 22:34
Помогаю со студенческими работами здесь

Селектор или диспатчер
Добрый вечер! Есть метод myMethod. Его можно вызвать в фоновом потоке двумя способами. 1-й способ: ...

Непонятная ошибка в таймере
begin // Нажата кл вверх begin if ABC(j) = 38 then top; begin if j=38 then...

CSS селектор или класс?
Чему отдать предпочтение, выборке в CSS с использованием хитрых селекторов по типу...

В таймере получаю html код,возникает ошибка 429
st.add(idhttp1.get('http://steamcommunity.com/market/search/render/?query=&amp;start=0&amp;count=10&amp;'+'searc...

Ошибка при загрузке решения: "Один или несколько проектов в решении были неправильно загружены"
Здравствуйте. Visual Studio 2017, сегодня открывал решение проекта, который мне переслали на почту...

Oracle неправильно выполняет запрос или я неправильно принимаю Oracle
Неправильно отрабатывает автоматически сгенерированный NHibernate запрос. select s.*, rownum...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru