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

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

Войти
Регистрация
Восстановить пароль
 
Noobass
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 100
#1

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

17.12.2013, 18:07. Просмотров 694. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.12.2013, 18:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Пересечение квадратов (Программирование iOS):

Пересечение объектов - Objective-C
Как узнать пересекаются ли 2 объекта типа SKSpriteNode?

Пересечение квадратов - Delphi
На плоскости иметься N квадратов со сторонами параллельными осям координат Найти все пары которые пересекаються по 1 стороне! (подкиньте...

Найти пересечение двух множеств и вывести данное пересечение и кол-во элементов в нем - C#
Здравствуйте, помогите, пожалуйста, дорешать задачу. Условие: найти пересечение двух множеств и вывести данное пересечение и кол-во...

Пересечение двух прямых и проверка на пересечение - C++
Доброго времени суток слизал функцию проверки отсюда:/segments_intersection_checking на всякий случай у меня она выглядит так: int...

Приложение, которое строит ряд квадратов. Центр квадратов совпадает с центром экрана - C#
Напишите приложение, которое строит ряд квадратов. Центр квадратов совпадает с центром экрана. Число квадратов задается при первом ...

Подпрограммы. Найти пять чисел, чтобы сумма квадратов наибольших равнялась сумме квадратов трех остальных - Pascal ABC
Попытайтесь найти пять идущих подряд целых чисел, таких, чтобы сумма квадратов двух наибольших из них равнялась сумме квадратов трех...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2013, 18:07
Привет! Вот еще темы с ответами:

Есть ли четыре последовательных числа, сумма квадратов которых равна сумме квадратов трёх следующих чисел. - Visual Basic
Определить, существуют ли такие четыре последовательных натуральных числа, сумма квадратов которых равна сумме квадратов трёх следующих...

Найти количество комбинаций, в которых сумма квадратов разрядов минут равна сумме квадратов разрядов секунд - Delphi
.Секундомер отмерял 6458 секунд. Найти количество комбинаций, в которых сумма квадратов разрядов минут равна сумме квадратов разрядов секунд

На прямоугольнике размещено максимально возможное количество квадратов. Найти количество квадратов и площадь незанятой части прямоугольника - Pascal ABC
1.Даны целые положительные числа A,B,C. На прямоугольнике размером A х B размещено максимально возможное количество квадратов со стороной C...

Найти константы аппроксимации, сумму квадратов отклонений и трехмерное отображение суммы квадратов отклонений - Matlab
Подскажите пожалуйста:help::help::help:, кто знает, все ли правильно правильно:-' y = ' Нужно найти константы аппроксимации, сумму...


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

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

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