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

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

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

Регистрация: Jun 2006
Сообщений: 1
По умолчанию Плоскость в перспективе

Ребята, помогите со скриптом или исходником!
Задача создать четырёхугольник, изображающий плоскость в перспективе - передняя и задняя стороны параллельны границе экрана, боковые стороны сходятся в направлении точки схода. И всё это дело реагирует на движения мышью - если мышь сдвигается влево, то передняя и задняя стороны четырёхугольника перемещаются вправо, причём передняя чуть быстрее, чем задняя.

Старый 01.06.2006, 16:07
MyXus вне форума Посмотреть профиль Отправить личное сообщение для MyXus Посетить домашнюю страницу MyXus Найти все сообщения от MyXus
  № 2  
Ответить с цитированием
MyXus
 
Аватар для MyXus

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
Скорее всего рисовать придется каждый кадр.
Считай геометрию и рисуй (beginFill(), lineTo())

Надо спросить авторов (тут есть такие), как создавались 3D движки (которые лежат тут же, в исходниках). Самому в исходники мне пока не хватит здоровья лезть.

Старый 01.06.2006, 17:36
orangeline вне форума Посмотреть профиль Отправить личное сообщение для orangeline Найти все сообщения от orangeline
  № 3  
Ответить с цитированием
orangeline

Регистрация: Apr 2006
Сообщений: 88
если нужен - не пожадничаю, могу выложить 3д движок рисующий (легко анимируемый) любой 3д объект по координатам узловых точек (x,y,z), принимаемых в виде массива

Старый 01.06.2006, 23:53
MyXus вне форума Посмотреть профиль Отправить личное сообщение для MyXus Посетить домашнюю страницу MyXus Найти все сообщения от MyXus
  № 4  
Ответить с цитированием
MyXus
 
Аватар для MyXus

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
А можно лучше его словесный алгоритм в пару абзацев )
сам напишу )

Старый 02.06.2006, 00:48
orangeline вне форума Посмотреть профиль Отправить личное сообщение для orangeline Найти все сообщения от orangeline
  № 5  
Ответить с цитированием
orangeline

Регистрация: Apr 2006
Сообщений: 88
создаётся 3д объект, а затем пересчитываются координаты его узловых точек в зависимости от нужных тебе трансформаций (поворот по оси/осям, масштабирование, перемещение и т.д.).для быстроты расчётов исп. матрицы (2-мерные массивы). вся сложность будет в том что-бы создать матрицы нужных тебе трансформаций (думаю вращение вокру осей X, Y и Z). а в последствии умножаешь матрицу с координатами кадой из узлов на м-цы нужных трансформаций и перерисовываешь объект

Старый 02.06.2006, 00:54
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 6  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Вопрос нужна ли такая точность, если нет
Код:
//// коэффициент
k = .5;
this.createEmptyMovieClip ("mc", 0);
this.onMouseMove = function () {
	var x = this._xmouse;
	this.clear ();
	this.lineStyle (0, 0);
	this.moveTo ((-100 + x) * k, 0);
	this.lineTo ((100 + x) * k, 0);
	this.lineTo (100 + x, 50);
	this.lineTo (-100 + x, 50);
	this.lineTo ((-100 + x) * k, 0);
};
this.onMouseMove ();
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 02.06.2006, 01:17
MyXus вне форума Посмотреть профиль Отправить личное сообщение для MyXus Посетить домашнюю страницу MyXus Найти все сообщения от MyXus
  № 7  
Ответить с цитированием
MyXus
 
Аватар для MyXus

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
Прикольно. Запомню.

Старый 02.06.2006, 10:07
orangeline вне форума Посмотреть профиль Отправить личное сообщение для orangeline Найти все сообщения от orangeline
  № 8  
Ответить с цитированием
orangeline

Регистрация: Apr 2006
Сообщений: 88
как бы да, для твоего случая пример iNils'а в самый раз

Старый 02.06.2006, 12:57
MyXus вне форума Посмотреть профиль Отправить личное сообщение для MyXus Посетить домашнюю страницу MyXus Найти все сообщения от MyXus
  № 9  
Ответить с цитированием
MyXus
 
Аватар для MyXus

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
А рисование объектов в твоем примере разве как-то по другому реализовано?
Я кстати всегда хотел спросить, а перекрывание объектов как обычно считают?

Старый 02.06.2006, 15:37
Базиль вне форума Посмотреть профиль Отправить личное сообщение для Базиль Посетить домашнюю страницу Базиль Найти все сообщения от Базиль
  № 10  
Ответить с цитированием
Базиль
 
Аватар для Базиль

Регистрация: Apr 2006
Адрес: Околомосковье
Сообщений: 27
Отправить сообщение для Базиль с помощью ICQ
для перекрывания объектов существует громадное количество алгоритмов, и в случае с векторной графикой это...ну не то что бы сложно, но почти невозможно.

если программировать 3д на флэш, то единственным рациональным способом просчета z-индекса является определение расстояния от "камеры" до центра объекта и прорисовка объекторв в последовательности "издалека".
__________________
Жизнь - как сказка. Чем дальше, тем страшнее.

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

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

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


 


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


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