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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 31.12.2006, 00:08
romulko вне форума Посмотреть профиль Отправить личное сообщение для romulko Найти все сообщения от romulko
  № 1  
Ответить с цитированием
romulko
[+3 31.07.08]
 
Аватар для romulko

Регистрация: Jan 2006
Сообщений: 150
По умолчанию непонятица со строкой.

День добрый, форумяне.
Сначала о главном – с новым всех годом! Желаю крепкого здоровья, быстродействие мозга как у четырех ядерного Intel Core Extreme, и всегда много щедрых заказчиков!!!

Пожелал бы больше, но, сейчас у меня очень глубокий деприсняк из-за одной проблемы с кодом. У меня есть восем мувиков и восем кнопок, овтечающим восми мувикам. Когда кликается на первую кнопку, в переменную link заносится идентификатор копки (если копка 1, то заносится 1, если 2, то 2). У нас в переменной link занеслось 1. Когда нажимается на копке два, вызывается функция playmc();, после чего заносится в переменную link число два, так как была нажата вторая кнопка. Функция проигрует мувик один с середины (то есть, он прячется), и вместо него выезжает мувик два (код на копке deg.mc1.gotoAndPlay("sp1"). Вот код –

Код:
link = null;
function playmc() {
	deg["mc"+link].gotoAndPlay("s2");
}
На кнопках код –

Код:
on (press) {
	if (link<>1) {
		playmc();
		deg.mc1.gotoAndPlay("sp1");
		link = 1;
	}
}

Код работает, переменные заносятся (отслеживал через trace), но вот при нажатии на вторую кнопку, первый мувик не воспроизводится.
Интересует, правильно ли я написал строку

Код:
deg["mc"+link].gotoAndPlay("s2");
так как думаю, именно она не работает. При составлении переменных в строку, она должна иметь вид (если в переменной link стоит 1)

Код:
deg.mc1.gotoAndPlay("s2");
Пожалуйста, помогите мне разобраться с этим, так как именно на этой проблеме зациклился уже два дня!!!
Перерыл весь свой бук по АС, ничего не нашел.
Еще раз всех с праздником!
Вложения
Тип файла: rar 1.rar (31.1 Кб, 35 просмотров)

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

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
romulko, с наступающим тебя, всех благ..!!
не мог бы ты сгенерить пример проблемы попроще..
а то помочь хочется, а понять не хватает ресурсов..


Последний раз редактировалось silin; 31.12.2006 в 00:41.
Старый 31.12.2006, 00:45
CCCPirate вне форума Посмотреть профиль Отправить личное сообщение для CCCPirate Найти все сообщения от CCCPirate
  № 3  
Ответить с цитированием
CCCPirate
 
Аватар для CCCPirate

Регистрация: Jun 2006
Сообщений: 1,061
Ага, я тож прочитал - сломал мозг

Старый 31.12.2006, 02:16
romulko вне форума Посмотреть профиль Отправить личное сообщение для romulko Найти все сообщения от romulko
  № 4  
Ответить с цитированием
romulko
[+3 31.07.08]
 
Аватар для romulko

Регистрация: Jan 2006
Сообщений: 150
СССПират и Силин, спасибо что откликнулись.
Думаю, надо было вначале объяснить, что нужно сделать, чем чтобы вы поняли, как я хотел это сделал (у меня мозг еще хорошо не работает с АS, тому, то, как я програмлю понять очень сложно - все настолько запутано, что ой ой ой .

Вот, сейчас на меня упало прозрение, и я сделал все, что надо, но опять же, “по-своему”.


Но, все же на будущее хотелось бы узнать, почему мой код не работал. Для этого, пожалуйста, объясните, какой вид будет иметь код, после того, как флеш в него вставит переменную (то есть, скомпилирует для активации).
Вот код –
Код:
link = null;
deg["mc"+link].gotoAndPlay("s2");

Заносим в переменную link, допустим, число 5. И вот, здесь собака зарыта (то есть, это истинна моего непонимания) – какой вид будет в этой строки –

Код:
deg.mc5.gotoAndPlay("s2");
else

Код:
degmc5.gotoAndPlay("s2");
else ченить другое?
Готовый рабочий swf в аттаче.
Вложения
Тип файла: rar 1.rar (8.6 Кб, 43 просмотров)

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

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
да просто все, на самом деле:
Код:
link = null;
trace("mc"+link);//mcnull
deg["mc"+link].gotoAndPlay("s2");//≡deg.mcnull.gotoAndPlay("s2");
link = 5;
trace("mc"+link);//mc5
deg["mc"+link].gotoAndPlay("s2");//≡deg.mc5.gotoAndPlay("s2");

Старый 31.12.2006, 12:53
romulko вне форума Посмотреть профиль Отправить личное сообщение для romulko Найти все сообщения от romulko
  № 6  
Ответить с цитированием
romulko
[+3 31.07.08]
 
Аватар для romulko

Регистрация: Jan 2006
Сообщений: 150
Silin, спасибки!

Старый 31.12.2006, 15:24
romulko вне форума Посмотреть профиль Отправить личное сообщение для romulko Найти все сообщения от romulko
  № 7  
Ответить с цитированием
romulko
[+3 31.07.08]
 
Аватар для romulko

Регистрация: Jan 2006
Сообщений: 150
НеТ, все таки интересно, почему же не работает фукция?
Вот, рабочий код -

Код:
link = null;
function playmc() {
	if (link == 1) {
		deg.mc1.gotoAndPlay("sp2");
	} else if (link == 2) {
		deg.mc2.gotoAndPlay("sp2");
	} else if (link == 3) {
		deg.mc3.gotoAndPlay("sp2");
	} else if (link == 4) {
		deg.mc4.gotoAndPlay("sp2");
	} else if (link == 5) {
		deg.mc5.gotoAndPlay("sp2");
	} else if (link == 6) {
		deg.mc6.gotoAndPlay("sp2");
	} else if (link == 7) {
		deg.mc7.gotoAndPlay("sp2");
	} else if (link == 8) {
		deg.mc8.gotoAndPlay("sp2");
	}
}
Я хотел сделать так

Код:
link = null;
function playmc() {
           deg["mc"+link].gotoAndPlay("s2");
}
Почему эе этот код не работает?

Старый 31.12.2006, 15:41
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 8  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
предположение: не работает, потому нет в них метки "s2", а есть "sp2" ..
посерьезнее надо, заметь как встретишь НГ, так и проведешь: а оно тебе надо весь год из-за описок страдать..

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

Регистрация: Feb 2006
Сообщений: 580
Цитата:
Сообщение от romulko
Код:
link = null;
function playmc() {
	if (link == 1) {
		deg.mc1.gotoAndPlay("sp2");
	} else if (link == 2) {
		deg.mc2.gotoAndPlay("sp2");
	} else if (link == 3) {
		deg.mc3.gotoAndPlay("sp2");
	} else if (link == 4) {
		deg.mc4.gotoAndPlay("sp2");
	} else if (link == 5) {
		deg.mc5.gotoAndPlay("sp2");
	} else if (link == 6) {
		deg.mc6.gotoAndPlay("sp2");
	} else if (link == 7) {
		deg.mc7.gotoAndPlay("sp2");
	} else if (link == 8) {
		deg.mc8.gotoAndPlay("sp2");
	}
}
Для таких конструкций используйте оператор switch.

Старый 31.12.2006, 15:53
romulko вне форума Посмотреть профиль Отправить личное сообщение для romulko Найти все сообщения от romulko
  № 10  
Ответить с цитированием
romulko
[+3 31.07.08]
 
Аватар для romulko

Регистрация: Jan 2006
Сообщений: 150
Ой, РАБОТАЕТ!!!!




pkfun и silin, СПАСИБО!!! С этого момента буду два раза проверять код на валидность меток, пременны и всего прочего!!!!

Еше раз с НГ!!!!

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

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

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


 


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


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