![]() |
Выбор технологии для игры
Вложений: 1
Задумал простенькую физическую игрушку, но полный профан в играх, а хочется попробовать. Шарик будет кататься по кругу.
http://www.flasher.ru/forum/attachme...1&d=1314695537 Попадая на одну из 12 зон начисляются баллы. Как лучше слушать реакцию соприкосновения шарика и областей? Пока только hitTestObject использую, но может есть что получше? Графика будет растровая, т. к. не использую Flash IDE. |
Почитайте про сектора, сегменты. Уверен найдете какую-нибудь интересную формулу.
Например, можно вычислять положение шарика по его углу относительно центра + расстояние от центра. Так же и сектора описывать, т.е занимаемый ими угол (например, верхний красный сектор - это от -PI/2 до PI/2) и верхний и нижний радиус. P.S. Шарик выглядит неестественно, плоский какой-то |
Цитата:
Все же все эти вычисления не будут ли более ресурсоемкими, чем hitTest? |
Цитата:
PS Я бы описывал сектора примерно так: - начальный угол - конечный угол - внутренний радиус - внешний радиус |
Цитата:
Цитата:
|
Еще вариант сделать масками или так сказать картами высот)) Это даст возможность делать не только круги , а произвольные области
|
Карта высот в виде картинки. Чтобы определить в какой области просто берём getPixel из под центра шарика. Цвет например по каналу RED указывает на номер области, по каналу блю на количество зарабатываемых очков.
|
Помыкался я с этими масками и секторами и понял, что на перспективу не стоит с этим заморачиваться, т. к. планирую несколько режимов с разными объектами. Вот сейчас это 12 секторов, а может быть 24 или 4. И таких вариантов почти десяток.
Т. к. работаю в Flex, то мне удобнее насоздавать десять состояний с разными картинками PNG и проверять коллизии с помощью hitTestObject. Вот так например я сделал для данной картинки: Код AS3:
Результат устраивает, но как выполнять такую проверку в общем случае, когда картинок сотня и разбиты они по состояниям? Что-то ничего в голову не приходит... |
Применить else if
|
Спасибо. Помогло:)
Меня интересует как лучше обращаться к PNG прописанным в разных состояниях. |
| Часовой пояс GMT +4, время: 05:56. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.