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

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

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

Регистрация: Sep 2003
Адрес: Czech
Сообщений: 19
По умолчанию Ошибка в синтаксисе

Не могу понять, почему у меня alpha undefined?
Код:
var j = 0;
var intervalId1:Number;
function nomer(id1){
	j++;
	mci = "mc"+j;
 trace (mci);
 var i = 0;
	var intervalId2:Number;
function alfa(id2){
	i++;
 trace (mc_[i]._alpha);
  if( i >= 10) clearInterval( intervalId2 );
 }
intervalId2 = setInterval( alfa, 1 );
 if( j >= 14) clearInterval( intervalId1 );
}
intervalId1 = setInterval( nomer, 3000 );
Подозреваю, ошибка в синтаксисе - mc_[i]._alpha?

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

Регистрация: Sep 2002
Сообщений: 30,787
Именно в этом и ошибка. Вообще код из себя представляет неимоверное месиво.

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

Регистрация: Sep 2003
Адрес: Czech
Сообщений: 19
а как написать без ошибки?

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

Регистрация: Sep 2002
Сообщений: 30,787
this['mc_'+i]._alpha

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

Регистрация: Sep 2003
Адрес: Czech
Сообщений: 19
тот же результат - альфа undefined
Если не сложно, посмотри исходник?
Задача была такая - чтобы прямоугольники проявлялись через определенные промежутки времени.

Не прикрепляется файл....
Выкладываю на фтп
http://www.dbpresent.com/tmp/dissolve.rar

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
По умолчанию 9999

Как сказал __etc, ваш код сплошное мессиво. К примеру
Код:
function func1 () {
	trace ("func1 " + this);
}
function func2 () {
	trace ("func2 " + this);
}
setInterval(this, "func1", 1000);
setInterval(func2, 1000);
Посмотрите, что есть this в каждом синтаксисе setInterval. По скольку вы используете второй синтаксис, то у вас не та область видимости, что нужна.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Sep 2003
Адрес: Czech
Сообщений: 19
Ну а что мне с моим-то синтаксисом сделать, чтобы код заработал?
Если вместо [mc]_alpha +=2; указать явно имя клипа, например, mc_3._alpha +=2; - всё работает как надо.
Помогите, пожалуйста.

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

Регистрация: Sep 2002
Сообщений: 30,787
Использовать мой ответ из четвертого поста и setInterval( this, 'nomer', 3000 ); (между прочим, iNils дал пояснение, почему не работает. Трудно было понять?)

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

Регистрация: Sep 2003
Адрес: Czech
Сообщений: 19
Не могу понять.
Предложенный вами вариант тоже не работает.
Почему этот код работает
Код:
var j = 1;
var intervalId1:Number;
function nomer(id1){
j++;
mc = "mc_"+j;
var i = 2;
	var intervalId2:Number;
function alfa(id2){
	i++;
	if (mc=="mc_1")
	mc_1._alpha +=2;
	else if (mc=="mc_2")
	mc_2._alpha +=2;
	else if (mc=="mc_3")
	mc_3._alpha +=2;
if( i >= 100) clearInterval( intervalId2 );
 }
intervalId2 = setInterval( alfa, 1 );
 if( j >= 3) clearInterval( intervalId1 );
}
intervalId1 = setInterval( nomer, 3000 );
а этот нет?
Код:
var j = 1;
var intervalId1:Number;
function nomer(id1){
j++;
mc = "mc_"+j;
var i = 2;
	var intervalId2:Number;
function alfa(id2){
	i++;

[mc]_alpha +=2;	

if( i >= 100) clearInterval( intervalId2 );
 }
intervalId2 = setInterval( alfa, 1 );
 if( j >= 3) clearInterval( intervalId1 );
}
intervalId1 = setInterval( nomer, 3000 );
ведь, переменную mc видно из второй функции (alfa)?

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

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

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

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

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


 


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


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