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

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

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

Регистрация: Nov 2007
Сообщений: 165
Question одна функция на массив

Добрый день.

У меня во флеш проект загружается с помощью ХМЛ много разных изображений как можно с помощью АС2 сделать такую штуку как в АС3 ?

Чтобы соответственно при наведении и клике на таргет выполнялись определенные действия
Код AS3:
bob.addEventListener(MouseEvent.MOUSE_OVER,fncOver)
bob.addEventListener(MouseEvent.MOUSE_OUT,fncOut)
 
function fncOver(e:MouseEvent){
	e.target.alpha = 0.5;
	}
 
function fncOut(e:MouseEvent){
	e.target.alpha = 1;
	}
__________________
Да здравствует то, благодаря чему мы не смотря ни на что!

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

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Код AS1/AS2:
bob.onRollOver = fncOver;
bob.onRollOut = fncOut;
 
function fncOver(){
	this._alpha = 0.5;
}
 
function fncOut(){
	this._alpha = 1;
}
__________________
hauts.ru

Старый 12.04.2010, 14:25
zveryuka вне форума Посмотреть профиль Отправить личное сообщение для zveryuka Найти все сообщения от zveryuka
  № 3  
Ответить с цитированием
zveryuka
 
Аватар для zveryuka

Регистрация: Nov 2007
Сообщений: 165
Цитата:
Сообщение от Hauts Посмотреть сообщение
Код AS1/AS2:
bob.onRollOver = fncOver;
bob.onRollOut = fncOut;
 
function fncOver(){
	this._alpha = 0.5;
}
 
function fncOut(){
	this._alpha = 1;
}

так альфой делается целый мувиклип "bob" , а нужно сделать так чтобы альфился по отдельности каждый обьект который находиться в контейнере "bob"
__________________
Да здравствует то, благодаря чему мы не смотря ни на что!

Старый 12.04.2010, 14:32
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 4  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Тут вам придется на каждый ваш мувик вешать обработчик.

Старый 12.04.2010, 14:32
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 5  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Если нужно, чтобы альфились все вложенные мувиклипы, и, при этом, с одинаковым значением прозрачности, то рационально менять прозрачность их контейнеру.

Если нужно вложенным клипам менять прозрачность независимо друг от друга, то необходимо обращаться по их instance name или ссылке. Например так:
Код AS1/AS2:
bob.onRollOver = fncOver;
bob.onRollOut = fncOut;
 
function fncOver(){
	this.innerMovieClip_1._alpha = 50;
	this.innerMovieClip_2._alpha = 10;
}
 
function fncOut(){
	this.innerMovieClip_1._alpha = 100;
	this.innerMovieClip_2._alpha = 50;
}
Разве в вашем коде прозрачность применяется к вложенным мувиклипам?
__________________
hauts.ru

Старый 12.04.2010, 14:36
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 6  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Hauts, прозрачность применяется к целевому объекту. Обработчик будет ловить события как рассылаемые родителю, так и от детей на фазе всплытия.

Старый 12.04.2010, 14:39
zveryuka вне форума Посмотреть профиль Отправить личное сообщение для zveryuka Найти все сообщения от zveryuka
  № 7  
Ответить с цитированием
zveryuka
 
Аватар для zveryuka

Регистрация: Nov 2007
Сообщений: 165
вот для большей ясности - как у меня в проекте расположены обьекты ...

Код AS1/AS2:
function loadXML(file_xml) {
	var xml:XML = new XML();
	var tmp:Array = new Array();
	xml.ignoreWhite = true;
	xml.onLoad = function(success) {
		if (success) {
 
			var nodeJackets = xml.firstChild.firstChild.childNodes;
			var nodepants = xml.firstChild.childNodes[2].childNodes;
			var nodeAccessories = xml.firstChild.childNodes[1].childNodes;
 
 
 
			//trace(nodeAccessories.length)
			for (var i = 0; i<nodepants.length; i++) {
				loadpants(i,nodepants[i].attributes.pants,nodepants[i].attributes.X,nodepants[i].attributes.Y);
				loadJackets(i,nodeJackets[i].attributes.Jackets,nodeJackets[i].attributes.X,nodeJackets[i].attributes.Y);
				loadAccessories(i,nodeAccessories[i].attributes.Accessories,nodeAccessories[i].attributes.X,nodeAccessories[i].attributes.Y);
 
			}
		}
	};
	xml.load(file_xml);
}
 
///////////////////////////////////////////////pants
function loadpants(i, pants, xPost, yPost) {
 
	var target_mc:MovieClip = cont.createEmptyMovieClip("target"+i, cont.getNextHighestDepth());
 
	var mcl:MovieClipLoader = new MovieClipLoader();
	var obj:Object = new Object();
	obj.onLoadInit = function(mc:MovieClip) {
		mc._x = xPost;
		mc._y = yPost;
 
 
	};
	mcl.addListener(obj);
	mcl.loadClip(pants,target_mc);
}
///////////////////////////////////////////////Jackets
function loadJackets(i, Jackets, xPost, yPost) {
	var Jackets_mc:MovieClip = cont.createEmptyMovieClip("Jackets"+i, cont.getNextHighestDepth());
 
	var mclJackets:MovieClipLoader = new MovieClipLoader();
	var objJackets:Object = new Object();
	objJackets.onLoadInit = function(mcJackets:MovieClip) {
 
		mcJackets._x = xPost;
		mcJackets._y = yPost;
		 mcJackets._xscale = 30;
		mcJackets._yscale = 30;
 
	};
	mclJackets.addListener(objJackets);
	mclJackets.loadClip(Jackets,Jackets_mc);
 
 
 
mcJackets.onRollOver = fncOver;
mcJackets.onRollOut = fncOut;
 
function fncOver(){
	this._alpha = 0.5;
}
 
function fncOut(){
	this._alpha = 1;
}
 
 
}
////////////////////////////////////////////////////Accessories
function loadAccessories(i, Accessories, xPost, yPost) {
	var Accessories_mc:MovieClip = cont.createEmptyMovieClip("Accessories"+i, cont.getNextHighestDepth());
 
	var mclAccessories:MovieClipLoader = new MovieClipLoader();
	var objAccessories:Object = new Object();
	objAccessories.onLoadInit = function(mcAccessories:MovieClip) {
 
		mcAccessories._x = xPost;
		mcAccessories._y = yPost;
 
		mcAccessories._xscale = 10;
		mcAccessories._yscale = 10;
	};
	mclAccessories.addListener(objAccessories);
	mclAccessories.loadClip(Accessories,Accessories_mc);
}
 
loadXML("bob.xml");
хотя только начал делать проект.. возможно лутше в АС3 переделать...(но АС3 тока начал разбирать (( )

Добавлено через 3 часа 21 минуту
хех...помучался, но все-таки переделал код в АС3 - ато АС2 уж больно неповоротлив))

спс всем за советы...
__________________
Да здравствует то, благодаря чему мы не смотря ни на что!

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

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

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


 


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


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