Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   реализация неровной поверхности (http://www.flasher.ru/forum/showthread.php?t=195272)

vitamin4er 03.03.2013 18:13

реализация неровной поверхности
 
Здравствуйте! Вопрос довольно общий, потому и конкретного ответа не жду, просто направте в нужную сторону кто знает. Как реализовать неровную поверхность в 2д формате? Отрисовать понятно как, а вот чтоб оно и программно коректно выполнялось...ходить, ездить под правильном углом, или хотяб ходить, ездить по этой самой поверхности, а не проваливаться/взлетать. В голову одни квадраты лезут, идей ноль. Спасибо.

iflamberg 03.03.2013 18:24

Да никто не заморачивается. Все используют готовые физические движки. Nape, box2d, выбор есть.

vitamin4er 03.03.2013 18:58

а все же...может кто сталкивался, хоть в общих чертах...или как оно действует в техже движках?

KumoKairo 03.03.2013 19:12

Простой .hitTestPoint флешевский позволяет проверять столкновение точки с непрозрачными пикселями конкретного объекта.
Можете проверять 150 точек объекта на столкновение с поверхностью и в зависимости от того, сколько точек и с какой стороны попадают на объект, двигать его вниз или вверх
Но это очень ресурсоемкий способ, намного полезней будет изучить Box2D или Nape, как тут уже сказали. Там столкновения с неровной поверхностью чаще всего реализуется разбиением всей этой поверхности на треугольники, а не на плоские данные пикселей...

iflamberg 03.03.2013 19:13

http://noregret.org/tutor/n/grid/
Блин, где то подборка ссылок у меня валялась. Не могу найти. Все равно все это легко гуглится.

Sync 03.03.2013 20:35

можно попробовать чистой математикой, если фигуры достаточно простые

vitamin4er 03.03.2013 22:31

Цитата:

Сообщение от Sync (Сообщение 1123361)
можно попробовать чистой математикой, если фигуры достаточно простые

Фигур, как таковых вообще нет...представляю себе неровную поверхность в виде треугольников...а вот с хиттест поинтами вроде просто, хоть и затратно

Tails 03.03.2013 22:57

http://napephys.com/samples.html#

Добавлено через 7 минут
Треугольники вам понадобятся при отрисовке 3д графики или разных графических искажений в перспективе. В физике используются круги и многоугольники с не развёрнутыми углами, по крайне мере в 2д. :)

Александр Мостовой 05.03.2013 10:16

Вариантов масса
1. Уравнение прямой y = A(x1 - x0) + B(y1 - y0) или y = kx + B (в каком виде уж удобнее).
2. Уранение линии безье и угол наклона - ка кпроизводная в данной точке.
3. box2d или другой 2д движок
4. hitTest самый неприятный вариант
5. Комбинация этих решений: при движении в области x = from 100 to 200 - одно урвнение y(x), from 200 to 300 - другое, и так далее.

Обычно для 2д игр делают небольшой алгоритм парсинга сцены-редактора. Например на сцене расставляют специальные спрайты - навигаторы, которые не отображаются во время игры. И при инициации эта сцена парсится в формат 2д движка. Т.е. те же квадраты и кружки или опорные точки

RedLizard 05.03.2013 12:22

ИМХО с нуля писать нет смысла, что то лучше бокс2д или напы сложно придумать. Есть вот такой урок http://www.emanueleferonato.com/2011...ash-and-box2d/

Я по нему делал прототип игрушки http://pixorama.ru/demo/tinywings/


Часовой пояс GMT +4, время: 08:05.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.