![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2013
Сообщений: 11
|
Здравствуйте! Такой вопрос: периодически стала появляться ошибка:
RangeError: Error #1005: Индекс массива не является положительным целым числом (-1). at Error$/throwError() at Array() at Box2D.Dynamics::b2Island() at Box2D.Dynamics::b2World/Solve() at Box2D.Dynamics::b2World/Step() at com.game::Universe/enterFrame() Я облазил уже все уголки своего кода, но причины так и не нашел. Единственное что я понял это то, что ошибка возникает при контакте тел, однако в ContactListener я не работаю с телами(не удаляю, не создаю соединений). Логика кода такая: сначала в enterFrame обрабатывается физ. мир, потом обрабатывается вся графика привязанная к физ. телам, а так же тут происходят все удаления физ.тел и т.д. Что еще дико раздражает ошибка появляется достаточно редко, и в разных ситуациях. Прошу помощи!!! |
|
|||||
|
Это распространенная проблема бокса, судя по количеству таких тем. Но я лично ни разу не сталкивался, хотя у меня есть проекты на этом движке.
В основном, советуют проверить то как тела удаляются. Здесь стек трейс присутствует, так что в той же флешдевелоп не составит труда посмотреть в панели stack откуда ошибка вылетела и проверить что там происходит с массивом п.с. Вообще, что-то мне подсказывает, что тело где-то уничтожается, а уже после этого происходит попытка каких-то просчетов с его участием. вот еще подобная тема |
|
|||||
|
Регистрация: Feb 2013
Сообщений: 11
|
Ту темку я уже раз 10 перечитал) Вы сказали посмотреть на удаление тел, но ошибка может возникнуть и тогда, когда тело нужно удалить, и тогда, когда ни каких удалений нету вообще, а просто касание(ну не совсем просто например при касании нужно уничтожить joint), кстати когда тела просто касаются, все нормально. Мне сильно непонятно почему объект например 9 раз уничтожился нормально, а на 10 произошла ошибка, так как если бы была ошибка в логике, то она появлялась бы каждый раз?
|
|
|||||
|
Цитата:
|
|
|||||
|
Регистрация: Feb 2013
Сообщений: 11
|
Если бы я знал где это место))
|
![]() |
![]() |
Часовой пояс GMT +4, время: 16:21. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|