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

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

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

Регистрация: Mar 2011
Сообщений: 2
По умолчанию Флеш карусель

Здравствуйте! я создал флеш карусель и у меня возникло несколько вопросов. но сначала код карусели
Код:
 
var numOfItems:Number;
var numOfItems1:Number = 1;

var xml:XML = new XML();

var xmlList:XMLList = new XMLList();

var xmlLoader:URLLoader = new URLLoader(new URLRequest("myXML.xml"));

xmlLoader.addEventListener(Event.COMPLETE, hadleLoading);
var radiusX:Number = 300;
var radiusY:Number = 75;

var centerX:Number = 1024/2;
var centerY:Number = 600/2;

var home:MovieClip = this;

var speed:Number = 0.03;
var allObjects:Array = [];

function hadleLoading(e:Event):void
{
	xml = XML(e.target.data);
	
	xmlList = xml.children();
	
	numOfItems = xmlList.length();
	
	for (var i:int = 0 ; i<numOfItems; i++)
	{
		var temp:MovieClip = new block();
		temp.angel = i*(Math.PI*2/numOfItems);
		temp.x =centerX+ radiusX*Math.cos(temp.angel);
		temp.y =centerY+ radiusY*Math.sin(temp.angel);
		var imageLoader:Loader = new Loader;
		imageLoader.load(new URLRequest(xmlList[i].attribute("url")));
		temp.addChild(imageLoader);
		
		addChild(temp);
		
		allObjects.push(temp);
		
		
		temp.addEventListener(Event.ENTER_FRAME, animate);
		
	}
	
	for (var a:int = 0; a<numOfItems1; a++)
	{
		var temp1:MovieClip = new block1();
		temp1.x = centerX;
		temp1.y = centerY;
		addChild(temp1);
		
		allObjects.push(temp1);
	}
	
}
function animate(e:Event):void
{
	e.target.x =470 + radiusX*Math.cos(e.target.angel);
	e.target.y =centerY + radiusY*Math.sin(e.target.angel);
	
	
	e.target.scaleX = e.target.y/(centerX+centerY);
	
	e.target.scaleY = e.target.scaleX;
	
	
	allObjects.sortOn("y", Array.NUMERIC);

   for (var i:int = 0; i<allObjects.length; i++)
	
   {

      home.addChild(allObjects[i] as MovieClip);

   }

	
	e.target.angel += speed;
}

home.addEventListener(Event.ENTER_FRAME, changeSpeed);

function changeSpeed(e:Event):void
{
	speed = (home.mouseX-centerX)/4500;
}
Так вот. я хотел бы узнать, как сделать так, что бы движущиеся обьекты, те которые ближе к нам были намного больше тех, что сзади не увеличивая радиус по оси y. Второй вопрос, как мне написать код прозрачности по оси y, что бы удаляющиеся обьекты потихоньку исчезали. Заранее благодарен

Старый 23.03.2011, 00:37
dodoaav вне форума Посмотреть профиль Отправить личное сообщение для dodoaav Найти все сообщения от dodoaav
  № 2  
Ответить с цитированием
dodoaav

Регистрация: Mar 2011
Сообщений: 21
Измени зависимость размера от координаты у. Например, на квадратичную
Код AS3:
e.target.scaleX = e.target.y*e.target.y/(centerX+centerY) ;
Сюда же можно дописать и полупрозрачность
Код AS3:
e.target.alpha = e.target.scaleX ;

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

Теги
[/code] , [code]

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

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


 


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


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