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

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

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

Регистрация: May 2007
Адрес: Saint-Petersburg
Сообщений: 136
Отправить сообщение для progman с помощью ICQ
По умолчанию два вопроса по MovieClip

создаю массив объектов ( это будут фишки домино )
Код:
for (tz=0; tz<TABLE_SY; tz++)
{
	var tzObject:Object = new Object;
	tzObject.empty = true;
	tzObject.x = 50 + tx*(_SX/2-4) + tz*8;
	tzObject.y = 8 + ty*(_SY/2-4) - tz*8;
	tzObject.z = 0;		
	tyArray.push(tzObject);
}
потом перебираю все элементы массива и в каждом делаю мувик:
Код:
function OnInit()
{
	OnInitArray();

	var linkageId:String = "dragon.gif";
	var myBitmapData:BitmapData = BitmapData.loadBitmap(linkageId);
	
	for(var i:Number=0; i<150; i++)
 	 _root.bitmapData[i] = new BitmapData(_SX, _SY, true, 0xFF00FFFF);

	var i:Number = 0;
	var j:Number = 0;

	for( tz=0; tz<TABLE_SZ; tz++)
	for( tx=TABLE_SX; tx>=0; tx--)	
	for( ty=0; ty<TABLE_SY; ty++)	    	    
	{
		tzObject = cellTableData[tx][ty][tz];//<- это массив моих фишек.
		if( false == tzObject.empty )
		{							
			tzObject.mc_picture = this.createEmptyMovieClip(...);//<- создаю картинку для фишки
			tzObject.mc_picture.attachBitmap(...);		
			tzObject.mc_picture._visible = true;
			_root.bitmapData[i].copyPixels(...);//<- копирую нужный кусок текстуры.
				
			tzObject.mc_picture.onMouseDown = function()//<- вроде как обработчик кликов должен быть.
			{
				OnClicMovieClip();
			};

			i ++;
		}
	}
}

function OnClicMovieClip()
{
	 this._alpha = 50;
}
трабла номер 1.
по моему разумению код: tzObject.mc_picture.onMouseDown = function()
каждому созданному мувику должен был добавить индивидуальный обработчик кликов.
добавил. но при клике в произвольное место вызывается для всех элементов массива сразу. и устанавливается alpha = 50 всем элементам сцены, даже бэкграунду, который никоим образом не мог попасть в массив элементов, которым создавался обработчик. Как правильно делать обработчики для объектов?

вопрос номер2
сама задача стоит у меня так: при клике на фишку ее изображение инвертировать в цвете.
__________________
fast restart: *((int*)0) = 0;

Старый 17.05.2007, 23:24
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
onMovieClick(this); внутри onMouseDown.

Код:
function onMovieClick(mc) {
   mc._alpha = 50;
   mc.blendMode = 'invert';
}

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

Регистрация: May 2007
Адрес: Saint-Petersburg
Сообщений: 136
Отправить сообщение для progman с помощью ICQ
Код:
....
	tzObject.mc_picture.onMouseDown = function()
	{
		onMovieClick(this);
	};
....

function onMovieClick(mc)
{
   mc._alpha = 80;
}
при клике в любую точку вызывается для всех фишек в массиве. но для бэкграунда не вызывается.
надо ли вручную проверять попадает координата клика в Rect фишки-MovieClip или нет?
__________________
fast restart: *((int*)0) = 0;

Старый 17.05.2007, 23:45
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
onPress вместо onMouseDown. onMouseDown — глобальный.

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
progman получает второй плюс за название темы. 1, 2, 3...n вопросов про мувиклип - это не название, а газетный заголовок.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 18.05.2007, 09:37
progman вне форума Посмотреть профиль Отправить личное сообщение для progman Найти все сообщения от progman
  № 6  
Ответить с цитированием
progman
 
Аватар для progman

Регистрация: May 2007
Адрес: Saint-Petersburg
Сообщений: 136
Отправить сообщение для progman с помощью ICQ
__etc псиб. оно самое.
__________________
fast restart: *((int*)0) = 0;

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

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

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


 


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


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