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

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

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

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

04.10.2014, 22:53. Просмотров 378. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.10.2014, 22:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка в таймере, или неправильно вызываю селектор? (Программирование iOS):

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

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

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

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

CSS селектор или класс? - HTML, CSS
Чему отдать предпочтение, выборке в CSS с использованием хитрых селекторов по типу div.smthclass:nth-child(13) &gt; div.newclass:nth-child(29)...

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

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

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

Запуск двух методов: оптимальнее в одном таймере или двух? - C#
Есть два условия , запускающие два метода. Так вот вопрос - с точки зрения быстродействия , лучше эти два условия разместить в одном...

JQuery, селектор "или" or, Есть ли такой и как его можно применить? - jQuery
напр. мне нужно выбрать все img без класса selected &quot;или&quot; :animated $('img').not('.selected') OR :animated .click(function(){...

Ноут заболел. Вызываю Айболита=) - Удаление вирусов
Что то началось странное. Особенно когда я заметил появления поиска от маилру=( И тебе погода и тебе вулкан=) Помогите.


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

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

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