|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Apr 2012
Сообщений: 4
|
Программа для определения дальности луча отражения
Уважаемые, флешеры. Помогите с написание лабораторной работы.
Не могу продумать алгоритм флешки. как бы не придумывал - везде захожу в тупик Суть программы, которую мне нужно написать. Имеется картинка (прикреплена снизу). Она помещается в рабочее пространство. По экрану ездит луч, который управляется с клавы, изменяется по координатам X,Y,Z. У картинки имеются коэффициенты отражения, допустим: вода - 1, камень - 2, дом - 3, лес - 4. Так вот программа по заданной формуле должна высчитать дальность отражённого луча (с учётом этих самых коэффициентов). Около месяца, конечно понемногу я думал над всем этим и всегда сталкивался с очень сложными проблемами. В итоге терпение моё лопнуло и я решил просить ПОМОЩИ А вот мои соображения: Поверх картинки я рисую во флеше картинку из 4 цветов. Синим - вода, это поверх воды я рисую, Серым - камень, поверх камня рисую, ну и т д. Моя нарисованная картинка не видна пользователю. Она нужна только для простоты программы. Видна только та фотка... Далее программа определяет столкновение конца луча с какой то поверхностью, если такое есть, то она возвращает значение цвета моей подложки (getpixel). По возвращённому цвету определяется коэффициент и вставляется в формулу и всё высчитывается. НО никак не получается=((( Не понимаю, как мне считать значение с помощью get pixel с экрана - не допру А вообще может кто подскажет лучше и интереснее вариант, алгоритм написание данной проблемы. З.Ы. Картинка была найдена мной, так что она тоже может подлежать замене. Ну и т д.. Всем большое спасибо, кто посодействует |
|
|||||
Регистрация: Mar 2010
Сообщений: 48
|
невозможно понять что значит "дальность отражённого луча", можете объяснить подробнее/понятнее?
|
|
|||||
Не суть важно что оно такое. У топик-стартера есть формулы - пусть и считает "дальность". Как я понял - у него проблемма с определением цвета подложки в конкретной точке.
Предлагаю каждую зону сделать отдельным спрайтом, а проверку делать методами: - hitTestPoint - http://help.adobe.com/ru_RU/FlashPla...hitTestPoint() - getObjectsUndderPoint -http://help.adobe.com/ru_RU/FlashPla...tsUnderPoint() |
|
|||||
Регистрация: Mar 2010
Сообщений: 48
|
get pixel можно делать не с экрана, а прямо с битмапы
bitmap.bitmapData.getPixel() http://help.adobe.com/ru_RU/FlashPla...html#getPixel() |
|
|||||
У него всего четыре зоны, а значит логичнее использовать четыре "цвета-айдишки", а не ломать голову над тем, что делать с одним из многих 24-битных цветов. Но во флеше легче нарисовать Мувик/Спрайтик, чем битмапу...
|
|
|||||
Lorem ipsum
|
Цитата:
// 4 значения цвета для каждого индекса var reflectionIndices:Array = [0xXXXXXX, 0xXXXXXX, 0xXXXXXX, 0xXXXXXX]; // определение индекса по цвету точки из заготовленной ранее карты var index:unt = reflectionIndices.indexOf(reflectionIndicesBitmap.bitmapData.getPixel(x, y));
__________________
Поймай яблоко 2! |
|
|||||
Регистрация: Apr 2012
Сообщений: 4
|
Всем огромное СПАСИБО! Сейчас буду пытаться по предложенным вариантам.
З.Ы. Кому было интересно, что такое дальность луча отражение, то: Луч падает на Землю и отражается от Земли. (По этому принципу сделаны радары у ДПС, только там луч падает на машину и отражается от неё). Дальность - это значит насколько далеко этот луч отразиться от Земли (в метрах, км, и.т.д.) Последний раз редактировалось mooncar; 25.04.2012 в 00:25. |
|
|||||
Модрон-ветеринар
|
senyuk, не злоупотребляйте возможностями оформления.
__________________
Идите первым! |
|
|||||
Регистрация: Apr 2012
Сообщений: 4
|
Цитата:
Если я рисую искривлённый спрайт, у него создаётся прямоугольная рамка, которая будет мешать при использовании данного метода определить на какой спрайт попали координаты. Надеюсь я понятно изъяснился Последний раз редактировалось mooncar; 25.04.2012 в 00:55. |
|
|||||
__________________
In Code We Trust |
Часовой пояс GMT +4, время: 15:42. |
|
« Предыдущая тема | Следующая тема » |
|
|