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

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

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

Регистрация: Nov 2006
Адрес: arktisklandet
Сообщений: 13
По умолчанию Как узнать имя МувиКлипа?

Здравствуйте! Не рассчитала свои силы, приходится опять спрашивать у вас.
Код:
for (var l = 0; l<linijelengde; l++) {
	a++;
	_root.createEmptyMovieClip("knapp"+a, a);
	// knapp heter
	var SS = _root["knapp"+a];
	// lenke movieclip enkelt
	if (linje[l] == "h" or linje[l] == "v") {
		SS.attachMovie("enkelt", "enkelt", a);
		SS.createEmptyMovieClip("cont"+a, 666);
		if (a<10) {
			III = "00";
			} else {
			III = "0";
			}
		// Oh, Takk for Miramax, Kuzen og iNils
		SS["cont"+a].loadMovie("PreView/"+III+a+".jpg", ["cont"+a]);
		SS.onRollOver = function():Void  {
			this.onEnterFrame = function() {
			if (60<this._alpha) {
				this._alpha -= 10;
			}
		};
		};
		SS.onRollOut = function():Void  {
			this.onEnterFrame = function() {
			if (100>this._alpha) {
				this._alpha += 3;
		}
		};
	};
	SS.onPress = function() {
		trace(this);
	};
	}
	if (linje[l] == "n") {
		SS.attachMovie("ikke", "ikke", 1);
	}
где SS = knapp1, knapp2,... В строке

Код:
	SS.onPress = function() {
		trace(this);
	};
я хотела бы выкристаллизировать порядковый номер мувиклипа. Трейс выдает следующее:

Цитата:
_level0.knapp1
_level0.knapp2
_level0.knapp3
_level0.knapp4
_level0.knapp5
_level0.knapp6
Как можно поставить какой то обработчик, чтобы я получала чистые 1, 2, 3,... ?

И еще, раз уж я завела пост - чувствую, что писать this.onEnterFrame = function() {} в таких количествах неграмотно, но пока не могу придумать альтернативу, так что не смейтесь.

Старый 05.11.2006, 02:04
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 2  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Самое простое - новорожденому клипу присобачиваешь номер
Код:
SS.num = 1; //2,3,4,35 и т.д.
тогда
Код:
SS.onPress = function() {
trace(this.num);
};
вариант второй - надо взять имя клипа, отрезать от него первые пять буков, то что осталось конвертнуть в Number - много больше забот.
P.S. Для модераторов - можно я это в код не буду обводить?


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

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

Старый 05.11.2006, 02:23
sa old вне форума Посмотреть профиль Отправить личное сообщение для sa old Найти все сообщения от sa old
  № 4  
Ответить с цитированием
sa old
 
Аватар для sa old

Регистрация: Nov 2006
Адрес: arktisklandet
Сообщений: 13
Спасибо Kikasso. Ой как замечательно все работает! Я в работе назойливая — хотела узнать, стоит ли (можно ли) мне избавляться от this.onEnterFrame = function() {}, или не стоит (невозможно, нельзя)?

Старый 05.11.2006, 03:51
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 5  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Можно, конечно, если у тебя функция без параметров.
Код:
 function primer(){
trace ("primer");
}
_root.onEnterFrame = primer;
Если тебе надо передавать параметры - это не прокатит.
С другой стороны, параметры можно брать откуда - то еще:
Код:
function primer2(){
var i = this.i || 0;
trace("primer  "+ i);
i++;
this.i = i;
}
_root.onEnterFrame = primer2;

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

Регистрация: Sep 2002
Сообщений: 30,784
Kikasso, есть ещё Proxy, DelegateExt, там можно и передать параметры в такой строке.

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

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Цитата:
Сообщение от __etc
Kikasso, есть ещё Proxy, DelegateExt, там можно и передать параметры в такой строке.
Первый раз слышу.. Поиск.. А, вот... То есть у себя в кармане мне параметр брать не стоит, а надо импортировать пару классов, которые создадут мне специальный карман и туда положат то что мне надо? Это проще?
Вообще спасибо - если карманы пришиты, а бывает и такое, теперь я знаю где копать.
Вернемся к сабжу. На сцене мувиклип, который никак не называется.
Код в первом кадре мувиклипа.
Код:
this.onRelease = function(){
 trace( _name.substr(_name.indexOf("e")+1) );
}
Копируешь клип несколько раз (ctrl + мышкой в сторону).
При компиляции флеш обзовет твои клипы instance1, instance2. "instance" кончается на "е". Что будет в output? То, что после "е" и до конца строки. Принцип ясен.


Последний раз редактировалось Kikasso; 06.11.2006 в 04:30.
Старый 06.11.2006, 04:24
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Ну в конкретно данном случае можно и не юзать. Но если подобная ситуация возникает более двух раз — имеет смысл.

Старый 06.11.2006, 04:32
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 9  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
etc, спасибо за наводку - я как раз переучиваюсь. Это актуально.

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

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

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


 


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


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