|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
спасибо, отличный ресурс... Заинтересовал метод с пикселами, он проще чем пересчёт по векторам плоскости и можно работать не имея массивов вообще,хорошая идея, можно увидеть пример такой проверки, пожалуйста? =)
Добавлено через 4 минуты Это нужно просто ради того, чтоб не забыть методы геометрического анализа и алгоритмирования, из того, что у меня вышло я уже понимаю, что руки мои стали кривыми за год без AS3 и я обленился настолько, что не хочу писать даже 2 лишних строки кода, даже если это банальные формулы сложения векторов и определение длинны вектора, думаю это принесёт пользу, вернёт меня к жизни как минимум, а то совсем обленился...
__________________
...Nothing can't be coded... |
|
|||||
Цитата:
public function checkCollision(pt:Point):Boolean { var bd:BitmapData = new BitmapData(1, 1); var m:Matrix = new Matrix(); m.tx = -pt.x + _fon.x; //тут у вас свои расчеты будут. m.ty = -pt.y; //тут тоже bd.draw(_fon, m); var color:uint = bd.getPixel(0, 0); bd.dispose(); return color == 16777215; //проверка на непрозрачность, тут надо поглядеть, какая точка считается "непрозрачной". Я мышкой водил искал. } if (_tunnel.checkCollision(fwd) || _tunnel.checkCollision(top) || _tunnel.checkCollision(bottom)) { boom(); } fwd, top, bottom это точки сенсоры на птичке. Мы создаем битмапу 1 на 1 и отрисовываем соответствующую точку тоннеля в нее. Тут вполне можно тоже улучшить алгоритм, рисуя сразу массив точек и проверяя. Но мне хватило с лихвой.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Коллизии желательно проверять в несколько проходов.
1.Если много объектов - проверяем по сетке (или по дереву квадрантов). 2. Если мало объектов - проверяем по баундсу (или по баундсу в пределах одной ячейки сетки) 3. Попиксельно. вот библиотека работающая только с коллизиями https://github.com/martinkallman/collision-as3 Хорошая статья для самых маленьких) http://flashgameblogs.ru/blog/actionscript/381.html
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 19.12.2013 в 18:46. |
|
|||||
QuadTree хорош, я знаю, хорош, но не для меня =( объекты должны двигаться с очень высокими скоростями...
По баундсу проверять тоже нельзя мне надо коллизию прямо по форме фигуры с точностью до микрона... плохо.... ПОПИКСЕЛЬНО, ДА , СПАСИБО ЗА СОВЕТ, в самом первом сообщении я ведь писал, что сделал попиксельно, но ОНА ОЧЕНЬ ТОРМОЗИТ, много процессорного времени жрёт... GBee, У вас в примере Tunel это просто картинка,а могу ли я проверить пиксель только для детей определённого контейнера не учитывая нижние контейнеры?
__________________
...Nothing can't be coded... |
|
|||||
Регистрация: Feb 2012
Сообщений: 1,540
|
За это время вы бы уже изучили и использовали Nape.
|
|
|||||
Я уже изучил, но хочу сделать сам ибо сложно и интересно, меня интересует не столько результат, сколько процесс и его сложности, и по-моему Box2D интереснее как сам движок 2D игры. Но у Nape есть свои плюсы, просто я тот ещё консерватор =)
P.S. Всем спасибо за советы, действительно полезные.
__________________
...Nothing can't be coded... |
|
|||||
Цитата:
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
Регистрация: Feb 2012
Сообщений: 1,540
|
Nape2D как раз прекрасный физический движок для игры.
Плюс он быстрее и проще, чем Box2D. |
|
|||||
Регистрация: Feb 2012
Сообщений: 1,540
|
Цитата:
|
Часовой пояс GMT +4, время: 16:46. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|