Использование Cocos2D для создания игры в стиле пулеметчика в адском стиле.Один палец тянет, чтобы переместить корабль, и в углу есть слои огня.
Из моего основного слоя я обнаруживаю ccTouchesBegan, ccTouchesMoved и ccTouchesEnded.Я передаю CGPoint в мой логический контроллер.
Если точка приземления находится внутри одного из 2 слоев «кнопки огня», я запускаю событие пожара.В противном случае я устанавливаю новое местоположение для игрока корабля.Когда касание перемещается за пределы области слоя огня, я устанавливаю новое местоположение для корабля игрока.
Проблема: перетаскивание пальца из слоя огня в пространство слоя без огня заставляет корабль прыгать к этомуточка из-за правила «сенсорный ход устанавливает местоположение игрока».
Как мне это лучше спроектировать?
Возможно, мне нужен массив «сенсорных объектов» и обнулять их при пересечении границыогненного слоя.Я чувствую, что здесь отсутствует какая-то важная концепция обработки касаний, которая, если бы ее поняли, дала бы нужный элемент управления без необходимости взламывать класс «сенсорных объектов», который сравнивает, где вы касаетесь массива местоположений.
Пожалуйста, сообщите.Спасибо!
(Да, я видел: Как ограничить обработку прикосновений одним слоем, когда слои перекрываются? . Это не отвечает на мой вопрос. RectContainsPoint - это то, как я определяю, касание линаходится внутри или вне слоя огня).