Мое приложение для игры почти закончено, но мне все же приходится преодолевать странную проблему.Проблемы с Cocos2d после нескольких изменений сцены касаются спрайтов на краю экрана, не работает
Игра идет о прикосновении спрайтов, при касании они вращаются. Но после нескольких изменений сцены или, другими словами, шансов на уровень, спрайты на границе экрана iphone трудно трогать. Я отслеживал прикосновения. прикасается даже не регистрируются методом:
- (Недействительными) ccTouchEnded: (UITouch *) сенсорный withEvent: (UIEvent *) событие {
Когда я коснуться рядом спрайта прикосновение регистрируется. Я подозреваю, что это имеет какое-то отношение к выпуску предыдущих сцен или выпуску спрайт-массивов или, возможно, освобождению спрайтов ...
Я просто не сейчас, как с этим справиться, и как аккуратно переключиться с селектора уровня сцены назад и вперед в сцену игрового поля.
Возможно, кто-то другой, читающий этот форум, имел ту же проблему и решил.
идеи и предложения очень ценятся.
Btw: на сцене моей первой игры я упомянул сайт stackoverflow.com и его членов для их помощи, это отличный форум.
Спасибо, ребята, я почти там!
Как Стив Джобс сказал бы: «О, есть еще одна вещь. , ,
----------------------------- обновить ---------------- -----------
Привет,
Вот обновление, я начал выпуск массива в методе OnExit, но это не приносит никакой радости. Каждый вызов по вызову приводит к сбою, вероятно, дуги освобождает их до того, как я это сделаю.
Что-то похожее помогает и перекладывает проблему на несколько уровней дальше по дороге - это факт, что я выпускаю спрайты, сразу после того, как они были добавлены в массив спрайтов. Мне кажется, что я на правильном пути, но все же проблемы возникают через некоторое время.
Йохан
---------------------------- второе обновление ----------- ---------------
Привет,
предыдущее обновление, позволяют предположить, что эта проблема станет менее это не так. Игра по-прежнему страдает проблемой касания. Я сузил его до сцены с табло и смену сцены на уровне игры. Сцена табло, вероятно, создатель проблемы, но где? Я использую только 4 спрайта, и некоторые движущиеся действия, которые появятся, когда некоторые части от счета будут больше, чем раньше. Сцена табло использует методы таймера, но я недействителен и «нолю» их по методу onexit.
Я все еще очень озадачен.
Йохан
------------------------- обновление 3 -------------- ---------------
Oke SO не форум, Но я должен сказать, что это отличный портал для публикации проблем программирования.
В этом случае я не могу раскрыть весь код, который был бы частью этой проблемы, я думаю, это показало бы слишком много интеллектуальной информации об этой игре, я очень сожалею об этом.
Мне интересно узнать, есть ли у кого-то другого этот SO-сайт с такой же проблемой и нашли решение для него. Я был бы очень доволен, когда один из них дал бы мне некоторые рекомендации по решению проблем касания.
Мне очень жаль, что я неправильно понял сайт SO, но все же я надеюсь получить ответ от одного из посетителей SO.
Между тем, я пытаюсь решить проблему самостоятельно. Если я найду решение, прежде чем кто-то мне поможет, я отправлю решение, чтобы помочь другим посетителям SO.
------------------------- НАЙДЕННОЕ РЕШЕНИЕ ДЛЯ ЭТОЙ ПРОБЛЕМЫ --------------- -----------------------
Как уже упоминалось ранее, это мое первое приложение. Вероятно, как и другие новички, иногда возникают странные проблемы. Царапина головы не помогает. У меня было несколько проблем, перед которыми были решены, с помощью stackoverflow.com. Но это было не так странно, как проблема с этим касанием. Приложение также было поддержано нестабильностью, ранее не упомянутой в этом тексте.
Ниже вы найдете решение проблем, проблем и нестабильности. Я исповедую здесь, это был новичок. Я уволил NStimers и планировщиков в приложении, когда уровень был закончен, я переключился на другую сцену БЕЗ, не назначив связанный планировщик. ГЛУПЫЙ Я!!! Я обнаружил странное поведение, когда журнал показал мне что-то более 45 вызовов на тот же самый init сцены табло, что f ** k?
Итак, я сменил вызов с одной сцены на другую сцену, убил планировщиков и таймеров и WHOLA! Проблема касания решена, а стабильность снова возвращается.
Что вы можете ожидать, когда инициация или целая сцена вызывается 50 раз в секунду !!!! Это бомба замедленного действия с очень коротким предохранителем!
Итак, вот для всех других начинающих стартеров C++, но, вероятно, вы уже знаете это, но в любом случае я больше не могу держать его в себе: «ДУМАЙТЕ ВПЕРЕД, КОГДА ВЫ РАБОТАЕТ С РАСПИСАНИЯМИ И ТАЙМЕРАМИ !!!»
Я узнал свой урок.
Теперь я вернусь на трассу и надеюсь, что закончу это приложение в ближайшее время!
Привет,
Йохан
SO не «Форум», читайте справку, в частности, не просят мнения (идеи, предложения, как правило, попадают в эту категорию). Будьте лаконичны, объясните проблему, предоставьте соответствующий код (очень важный), объясните, что вы пробовали и наблюдали, задайте конкретный вопрос. Без кода это похоже на описание фотографии на словах - она не эффективна и не точна. – LearnCocos2D