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

Пересечение квадратов - Программирование iOS

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS Какими бывают специализации разработчиков iOS http://www.cyberforum.ru/ios-dev/thread1043022.html
Добрый вечер! Я знаю много разработчиков iOS, которые специализируются только на приложениях, но не занимаются играми (например, не владеют cocos2D). Хочу узнать, бывает ли наоборот? Мне, например,...
Программирование iOS нужно приложение для сайта транспортной компании Все подробности сообщу в диалоге. Пишите в почту: ctlog@mail.ru со ссылкой на портфолио. http://www.cyberforum.ru/ios-dev/thread1037278.html
За ночь сломалась компиляция) Программирование iOS
Всем привет! Может ли кто-то прокомментировать эти чудеса: Вечером работал над проектом, все собиралось, все отлично. Утром пришел на работу - проект не собирается. Брал в Гите более старые...
Программирование iOS Публикация приложения
Всем доброго дня. Дошел до точки публикации приложения. В ItunesConnect все заполнил, начал публиковать свой IPA файл с помощью утилиты Application Loader - уже 20 минут крутится процесс...
Программирование iOS Виртуальная машина http://www.cyberforum.ru/ios-dev/thread1035517.html
Привет ребят. Подскажи те пожалуйста Я установил ВМ 10, на него закинул образ Мак ОС лион, и Мак ОС Х Сервер 10.6 Проделал все, что было в инструкции для запуска машины, но все время выдает разные...
Программирование iOS Когда приложение подписать Distribution сертификатом? Добрый день! Когда приложение уже полностью готово, в какой момент нужно подписать его? у меня в приложении еще push уведомления и ин апы. все это сейчас подписано сертификатами iOS... подробнее

Показать сообщение отдельно
Noobass
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 100

Пересечение квадратов - Программирование iOS

17.12.2013, 18:07. Просмотров 719. Ответов 0
Метки (Все метки)

Здравствуйте, дорогие друзья! У меня тут возникла проблемы с пересечениями квадратов спрайтов.
Дело вот в чем. Функция, в которой проверяется пересечение, вызывается в скидле для каждого отдельного объекта.
Код выглядит так:
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
void GameLayer::checkCollisions()   {
    CCRect rectOfHero = CCRectMake(hero->getPositionX() - hero->getContentSize().width/2,
                                   hero->getPositionY() - hero->getContentSize().height/2,
                                   hero->widthHero,
                                   hero->heightHero);
    CCRect rectOfSymbol;
    if(movingSymbol != NULL)    {
        rectOfSymbol = CCRectMake(movingSymbol->getPositionX() - movingSymbol->getContentSize().width/2,
                                  movingSymbol->getPositionY() - movingSymbol->getContentSize().height/2,
                                  movingSymbol->widthSymbol,
                                  movingSymbol->heightSymbol);
    }
   
   
    //check collision Hero and Symbol. If those two objects collided, program makes a decision
    if(rectOfSymbol.intersectsRect(rectOfHero))
    {
        if(numberSymbol == movingSymbol->getIdSymbol())  {
            rectOfHero = CCRectMake(0, 0, 0, 0);
            movingSymbol->removeFromParentAndCleanup(YES);
            currentSymbol++;
            this->getNumberSymbol();
        }   else    {
            CCDirector::sharedDirector()->pause();
        }
    }
}
Проблема в том, что функция вызывается постоянно через скидл, и когда пересечение случается, нужно обнулять один из квадратов, чтобы в след шаге этого не случилось. Именно поэтому у меня есть строка rectOfHero = CCRectMake(0, 0, 0, 0);.
Вся соль в том, что это не работает, и после первого пересечения функция все равно считает, что пересечение состоялось еще раз, когда это не так. Подскажите, как решить проблему?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.