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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

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

Регистрация: May 2011
Сообщений: 3
По умолчанию дубликат муви клипа

Привет. Находил похожие темы, но ответа на вопросы я так и не нашел.

Я делаю текстовое флеш-меню для своей игры. Юзаю AS2 и Flash CS5.
Проблема:
Я создал муви клип с текстом внутри, который меняет цвет в зависимости от действий мышки (over, out, press и т.д.). На нем надпись: "New Game".
Я делаю дубликат клипа и меняю надпись на "Exit", но анимация остается строй и содержит старый текст "New Game". Если сделать дубликат анимации, то непонятно как её назначить для "Exit".
Пунктов меню будет много, а каждый раз делать новую анимацию для каждой кнопки очень долго, т.к. меняться будет только название.

Как мне назначить дубликат анимации для "Exit" ?
Как сделать так, чтобы если я захочу поменять цвет в анимации, он поменялся для всех пунктов меню?

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

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Сделать мувик с пустыми текстовыми полями.

Потом придумать клас-обертку которая будет создавать новую кнопку.
В коде использовать надо будет не ваш мувик а тот класс-обертку.

Нужно только учесть что текстовое поле в каждом кадре разное и надписи придется менять в каждом кадре. Для удобства рекомендую инстансНейм текстового поля делать во всех кадрах Одинаковым и потом прокатит такая мулька:
Код AS3:
public class MyButton 
{
 
	private var _buttonMc:MovieClip = new ButtonMc(); //Ваш мувик кнопки
 
	private var _title:String;
 
    public function MyButton(title:String = "New Button")
    {
		_title = title;
 
		// Пробегаемся по всем кадрам
		while (_buttonMc.currentFrame <= _buttonMc.totalFrames)
		{
			// меняем тайтл
			(_buttonMc.getChildByName("title") as TextField).text = _title;
 
			_buttonMc.nextFrame();
		}
    }
}
Добавлено через 2 минуты
Впринципе вместо этого:
Код AS3:
_buttonMc.getChildByName("title") as TextField).text
Может прокатить и вот это:
Код AS3:
_buttonMc.title.text
__________________
Кто к нам с чем для чего - тот у нас того от того.

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

Регистрация: May 2011
Сообщений: 3
Спасибо за ответ.
Первый вариант не подходит. Я буду юзать сторонний флеш плеер, а он не скорее всего не держит классы (только AS2 и FP6).
На второй вариант ругается "Синтаксическая ошибка".

Последний варианта работает только если написан в кадре, в котором находится текст. А если в соседнем кадре, то не работает. Вы не знаете, почему?
И ещё после присвоения сбрасывается параметры шрифта.

Сейчас так:
Код AS3:
txt_test.text = "12345";
//txt_test.getChildByName("text") as TextField).text = "12345"; //ошибка
stop();

Старый 04.05.2011, 10:14
mmortall вне форума Посмотреть профиль Отправить личное сообщение для mmortall Найти все сообщения от mmortall
  № 4  
Ответить с цитированием
mmortall

Регистрация: May 2011
Сообщений: 3
Мой ответ больше 12 часов на проверке. Наверное не прошло что то.
В любом случае у меня получилось по третьему способу.

Код AS3:
var txtFormat:TextFormat;
 
txtFormat = new TextFormat();
txtFormat.font = "Arial";
txtFormat.bold = true;
txtFormat.size = 17;
txtFormat.letterSpacing = 8;
 
txt_new_game.txt.txt.text = "New Game";
txt_new_game.txt.txt.setTextFormat(txtFormat);
На второй способ рагуеться "синтаксическая ошибка".

Проблему можно считать решенной.

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

Теги
дубликат , муви клип

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

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


 


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


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