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

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

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

Регистрация: May 2007
Сообщений: 159
Отправить сообщение для _SAM_ с помощью ICQ
По умолчанию Присваевание похожего кода кнопкам.

Здравствуйте.

У меня есть кнопки : lamp_1, lamp_2, lamp_3...
Я исплльзую их так:

Код:
lamp_1.onPress = function () {
dvigat ("lamp_1");
}

lamp_2.onPress = function () {
dvigat ("lamp_2");
}

lamp_3.onPress = function () {
dvigat ("lamp_3");
}
Как можна уменшить этот код?

Старый 27.02.2008, 14:35
vladius вне форума Посмотреть профиль Отправить личное сообщение для vladius Найти все сообщения от vladius
  № 2  
Ответить с цитированием
vladius

Регистрация: Sep 2005
Сообщений: 110
мне кажется так можно, может есть вариант и получше - неуверен.

Код:
for (var name in this) {
		if (typeof (this[name]) == "object") {
			this[name].onRollOver = function() {
                                               currButton = GetButtonID(this._name)
                                               dvigat ("lamp_"+currButton );
                                            }
                         }
}


function GetButtonID(str) {
	return str.slice(5, str.length);
}

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

Регистрация: Apr 2007
Сообщений: 1,369
2 vladius, экстремальный вариант.
Циклы используем, что же ещё:
Код:
var j:Number =0;
var len:Number = 4;
while(j<len){
this['lamp'+j].__id=j;
this['lamp'+j].onPress=someFunc;
j++
}
function someFunc(){
trace(this.__id);
}
__________________
john

Старый 27.02.2008, 17:20
_SAM_ вне форума Посмотреть профиль Отправить личное сообщение для _SAM_ Посетить домашнюю страницу _SAM_ Найти все сообщения от _SAM_
  № 4  
Ответить с цитированием
_SAM_

Регистрация: May 2007
Сообщений: 159
Отправить сообщение для _SAM_ с помощью ICQ
Спасибо!
Помогли =)

Старый 19.03.2008, 04:12
_SAM_ вне форума Посмотреть профиль Отправить личное сообщение для _SAM_ Посетить домашнюю страницу _SAM_ Найти все сообщения от _SAM_
  № 5  
Ответить с цитированием
_SAM_

Регистрация: May 2007
Сообщений: 159
Отправить сообщение для _SAM_ с помощью ICQ
Я юзаю этот код, всё ок, но до сих пор не пойму
Код:
this['lamp'+j].__id=j;
Что тут происходит?

Старый 19.03.2008, 04:56
Mr. Fixit вне форума Посмотреть профиль Найти все сообщения от Mr. Fixit
  № 6  
Ответить с цитированием
Mr. Fixit
Banned
[+1 08.05.08]
[+4 14.04.08]
[+1.3 02.05.08]

Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
Вы создаете свойство у своего мувиклипа, и присваиваете ему уникальный номер.

- Почему мы можем создать свойство?
- Потому что, класс MovieClip is dynamic(динамический).

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

Регистрация: Dec 2005
Адрес: мухосранск
Сообщений: 661
Отправить сообщение для divinus с помощью ICQ
Molecula, можно еще проще
Код:
var len:Number = 4;
while(len--){
this['lamp'+len].__id=len;
this['lamp'+len].onPress=someFunc;
}
function someFunc(){
trace(this.__id);
}
__________________
Кто может делать - делает, кто не может делать - учит, кто не может учить - управляет...

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

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от divinus
Molecula, можно еще проще
Код:
var len:Number = 4;
while(len--){
this['lamp'+len].__id=len;
this['lamp'+len].onPress=someFunc;
}
function someFunc(){
trace(this.__id);
}
B правильнее:
Код:
var len = 4;
while (len--) {
    var lamp = this['lamp'+len];
    lamp.__id = len;
    lamp.onPress = someFunc;
}
function someFunc() {
    trace(this.__id);
}

Старый 20.03.2008, 02:10
_SAM_ вне форума Посмотреть профиль Отправить личное сообщение для _SAM_ Посетить домашнюю страницу _SAM_ Найти все сообщения от _SAM_
  № 9  
Ответить с цитированием
_SAM_

Регистрация: May 2007
Сообщений: 159
Отправить сообщение для _SAM_ с помощью ICQ
спасибо =)
понял =)

Старый 20.03.2008, 05:43
Mr. Fixit вне форума Посмотреть профиль Найти все сообщения от Mr. Fixit
  № 10  
Ответить с цитированием
Mr. Fixit
Banned
[+1 08.05.08]
[+4 14.04.08]
[+1.3 02.05.08]

Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
Денис, а где определение типов данных?

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

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

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


 


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


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