Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.05.2012, 13:51
Srednas вне форума Посмотреть профиль Отправить личное сообщение для Srednas Найти все сообщения от Srednas
  № 1  
Ответить с цитированием
Srednas

Регистрация: Nov 2010
Сообщений: 430
По умолчанию Создание миникарты

Здравствуйте.
Имеется плоскость в 3д, на ней расположены объекты, для удобства управления нужно сделать миникарту (маленькая копия карты как в играх, на которой прямоугольником выделена область большой карты на плоскости, отображаемая сейчас на экране). Миникарту сделал на простом спрайте (НЕ 3д).
Вопрос такой: как изменять прямоугольник на миникарте, чтобы он отражал ту часть плоскости, которая видна.
Сделал пока так:
Код AS3:
    // задание маски по матрице:  
    // прямоугольник на миникарте должен показывать нужную область,  
    // для этого его нужно трансформировать.  
    // подается матрица плоскости  
    public function drawMaskMatrix(m:Matrix3D):void{  
            m.invert();   // матрица инвертируется  
            _hole.transform.matrix3D = m; // присваивание матрица прямоугольнику-указателю на миникарте  
    }
Но в данном случае есть проблемы с масштабированием и движением прямоугольника-указателя на миникарте, т.к. видны большие различия между тем, что должно быть видно и тем, что видно на миникарте.
Каковы ваши мысли на сей счет: может есть примеры реализации или есть идеи в какую сторону думать?
Еще сложности добавляет то, что на большая 3-д карта может наклоняться по оси Х, т.е. прямоугольник-указатель на мини-карте иногда должен иметь форму не прямоугольника, а трапеции.
__________________
Лучше спросить и выставить себя дураком на пять минут, чем не спросить и остаться дураком на всю жизнь.

Старый 10.05.2012, 15:26
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 2  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Получается вид не сверху? Ну тогда трудно представить какого размера должен быть этот прямоугольник. Может проще точками обозначать? Если нужен именно прямоугольник, я бы сделал так - выяснил какая точка находится посередине экрана и от нее в высоту и ширину строил. А насчет трапеции - вроде в некоторых играх я такое видел - при наклоне карты прямоугольник превращался в трапецию.

Старый 10.05.2012, 15:47
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 3  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Нужно найти точки пересечения лучей, проходящих через углы вьюпорта, с плоскостью. Так мы получим координаты углов видимой зоны при любом ракурсе.
__________________
Поймай яблоко 2!

Создать новую тему Ответ Часовой пояс GMT +4, время: 18:41.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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