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

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

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

Регистрация: Jul 2011
Сообщений: 121
По умолчанию Переназначение имён мувиклипов

Есть мувик r1 состоит из трёх кадров, В каждом из этих трёх кадрах находятся по два мувики с одинаковыми названиями r1r и r1e. В каждом кадре мувики разные, но названия соответственно идентичны.
Такая проблема: Когда запускаю функцию goRight или goFeft в мувике r1 меняется кадр, но имя r1r и r1e не переназначаются и они не взаимозаменяется, это происходит после нажатия кнопок torus_btn и toeng_btn.
Как заставить оперативу забыть привязанность к мувику, чтоб это имя можно было использовать относительно другого мувика, но названного так же.

Вот Код


Код AS3:
var lang:String="rus";
var i:Number=1;
 
r1.r1r.visible=true;
r1.r1e.visible=false;
toeng_btn.visible=false;
inv.gotoAndStop(1);	
inv1.gotoAndStop(1);
 
function toRus (e:MouseEvent):void {
	lang=="rus";
	toeng_btn.visible=true;
	torus_btn.visible=false;
	inv.gotoAndStop(1);	
	inv1.gotoAndStop(1);
	r1.r1r.visible=true;
	r1.r1e.visible=false;
}
function toEng (e:MouseEvent):void {
	lang=="eng";
	torus_btn.visible=true;
	toeng_btn.visible=false;
	inv.gotoAndStop(2);	
	inv1.gotoAndStop(2);
	r1.r1r.visible=false;
	r1.r1e.visible=true;
}
function goRight (e:MouseEvent):void {
	r1.nextFrame();
           //переназначение области памяти для r1r и r1e на следующем кадре r1//
	if (lang=="rus") {
           	r1.r1r.visible=true;
	r1.r1e.visible=false;
}else{
	r1.r1r.visible=false;
	r1.r1e.visible=true;
}
}
 
function goLeft (e:MouseEvent):void {
	r1.prevFrame();
           //переназначение области памяти для r1r и r1e на предыдущем кадре r1//
	if (lang=="rus") {
	r1.r1r.visible=true;
	r1.r1e.visible=false;
}else{
	r1.r1r.visible=false;
	r1.r1e.visible=true;
}
}
 
torus_btn.addEventListener(MouseEvent.CLICK, toRus);
toeng_btn.addEventListener(MouseEvent.CLICK, toEng);
 
left_btn.addEventListener(MouseEvent.CLICK, goLeft);
right_btn.addEventListener(MouseEvent.CLICK, goRight);
Конечно можно прописать разные названия для мувиков 1-го 2-го и 3-го кадра и при переходе проверять условие и менять их всех, но в r1 я предпологаю включить до 25 кадров, так что вот хочу избежать громозкого кода.

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

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
Так не получится, меняй политику. Избежать громоздкого кода поможет цикл.
__________________
Нормально делай — нормально будет!

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

Регистрация: Dec 2008
Сообщений: 305
Записей в блоге: 1
Цитата:
В каждом из этих трёх кадрах находятся по два мувики с одинаковыми названиями r1r и r1e. В каждом кадре мувики разные, но названия соответственно идентичны.
по моему логичнее 2 мувика с 3мя разными кадрами в каждом

Старый 02.08.2011, 00:59
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 4  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Не пишите в кадрах, не используйте кадры ни для чего, кроме просто анимаций (и встроенного загрузчика).
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

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

Регистрация: Jul 2011
Сообщений: 121
Идея про цилк заинтересовала, но как правильно построить переменные, чтоб всё работало. Поковыряемся в циклах значит. Если есть идеи как его организовать - пишите, мне облегчите поиск, буду премного благодарен.

Добавлено через 10 минут
-De- я с тобой по поводу этого согласен. Код всегда должен быть на mainTimeLine. Но у меня немного не тот случай. Мне нужно в текущем мувике основного мувика переходить от Frame1 к Frame2 не меняя имён в функции. (Во фразу загнул - прочитал и сам почти понял). Буду ковыряться через цикл.

Добавлено через 10 минут
Ещё вопрос: а если через
Код AS3:
var tar:* = e.currentTarget;


Последний раз редактировалось Sweet07; 02.08.2011 в 01:54.
Старый 02.08.2011, 02:21
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 6  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Код должен быть в классах! Кадры mainTimeLine - тоже кадры! Смена фреймов только в спокойно играющейся себе анимации. Иначе вечные проблемы, которые неприятно разгребать.
Вместо 3-х кадров - 3 мувика в одном кадре, сменяют друг друга через добавление/убирание на сцену или visible им меняется. У всех 3-х есть эти r1r и r1e. Завести переменную - текущий мувик и менять её при "смене кадров". И тогда currentMovie.r1r и currentMovie.r1e - будут доступны где надо и будут означать что надо.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

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

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

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


 


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


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