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

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

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

Регистрация: Feb 2008
Сообщений: 2
По умолчанию Вращающиеся фото в пространстве

Всем привет!

Поставиои мне задачу за 3 дня сделать вращающююся фото-галерею как http://dotedesign.com/

У меня без проблем получается их вращать по кругу,
но не пойму как уменьшить расстояния между фото которые уходят на задний план. Когда два объекта удаляются то не только их размеры уменьшаются но и расстояние между ними тоже. А у меня только размеры получается уменьшить.

Примерно так выглядит то чего пытаюсь добиться:
[IMG]http://img442.**************/img442/6236/samplepz6.gif[/IMG]


Нашел исходники http://www.mjau-mjau.com/inter3d/i3dmb.html и http://www.mjau-mjau.com/html/perplex2.html но тут такая же делема.

Помогите кто-нибудь в решении, плииз.


Последний раз редактировалось hedfuc; 22.02.2008 в 10:08.
Старый 22.02.2008, 10:12
CorC вне форума Посмотреть профиль Отправить личное сообщение для CorC Найти все сообщения от CorC
  № 2  
Ответить с цитированием
CorC
 
Аватар для CorC

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
Я думаю, что х, у высчитывается по окружности в 3мерном пространстве, а потом проецируются на плоскость.
__________________
"We Are The Champions My Friends!" Queen

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Код:
var count:Number = 20;
var array:Array = new Array ();
var fov:Number = 400;
var height:Number = (Stage.height - 200) / 2;
var w:Number = 100;
var h:Number = 50;
function drawBox (mc:MovieClip) {
	mc.beginFill (0xFF0000);
	mc.moveTo (-w / 2, -h / 2);
	mc.lineTo (w / 2, -h / 2);
	mc.lineTo (w / 2, h / 2);
	mc.lineTo (-w / 2, h / 2);
	mc.lineTo (-w / 2, -h / 2);
}
function init () {
	for (var i:Number = 0; i < count; i++) {
		var mc:MovieClip = this.createEmptyMovieClip ("mc" + i, i);
		mc._x = Stage.width / 2;
		drawBox (mc);
		array.push (mc);
	}
}
var grad:Number = Math.PI / 180;
var b:Number = 360 / count;
this.onEnterFrame = function () {
	for (var i:Number = 0; i < count; i++) {
		var mc:MovieClip = array[i];
		var angle:Number = grad * (b * i + this._ymouse);
		var scale:Number = 20 + 40 * Math.sin (angle) + 40;
		var k:Number = fov / (fov - (200 * Math.sin (angle)));
		mc._y = 300 + height * Math.cos (angle) * k;
		mc._alpha = scale;
		mc._xscale = scale;
		mc._yscale = scale;
	}
};
init ();
А за что дали SOTD непонятно. Сайт ресурсы просто сжирает.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 22.02.2008, 11:34
hedfuc вне форума Посмотреть профиль Отправить личное сообщение для hedfuc Найти все сообщения от hedfuc
  № 4  
Ответить с цитированием
hedfuc

Регистрация: Feb 2008
Сообщений: 2
Цитата:
Сообщение от iNils
Код:
var count:Number = 20;
var array:Array = new Array ();
var fov:Number = 400;
var height:Number = (Stage.height - 200) / 2;
var w:Number = 100;
var h:Number = 50;
function drawBox (mc:MovieClip) {
	mc.beginFill (0xFF0000);
	mc.moveTo (-w / 2, -h / 2);
	mc.lineTo (w / 2, -h / 2);
	mc.lineTo (w / 2, h / 2);
	mc.lineTo (-w / 2, h / 2);
	mc.lineTo (-w / 2, -h / 2);
}
function init () {
	for (var i:Number = 0; i < count; i++) {
		var mc:MovieClip = this.createEmptyMovieClip ("mc" + i, i);
		mc._x = Stage.width / 2;
		drawBox (mc);
		array.push (mc);
	}
}
var grad:Number = Math.PI / 180;
var b:Number = 360 / count;
this.onEnterFrame = function () {
	for (var i:Number = 0; i < count; i++) {
		var mc:MovieClip = array[i];
		var angle:Number = grad * (b * i + this._ymouse);
		var scale:Number = 20 + 40 * Math.sin (angle) + 40;
		var k:Number = fov / (fov - (200 * Math.sin (angle)));
		mc._y = 300 + height * Math.cos (angle) * k;
		mc._alpha = scale;
		mc._xscale = scale;
		mc._yscale = scale;
	}
};
init ();
А за что дали SOTD непонятно. Сайт ресурсы просто сжирает.



OMFG!
Спасибо выручил чувак!!!

Да уж..сайт настолько жрёт ресурсы что моя опера просто подыхает..

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

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

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


 


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


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