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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

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

Регистрация: Dec 2002
Сообщений: 134
Отправить сообщение для Zergy с помощью ICQ
По умолчанию createEmptyMovieClip

Задача такая:
Нужно иметь мувик, который содержит вложеные мувики. Конкретно, это должна быть анимированная кнопка. А в ней есть статические и движущиеся объекты. Поэтому нужно иметь вложенные мувики.

Всё содержимое рисуется средствами Ac tionScript, то есть сначала создаётся "главный" мувик со статической начинкой и внутри его создаётся мувик, который предполагается двигать.
_root.createEmptyMovieClip("мувик_отецъ",0)
with(this){
lineStyle()
....(потом рисование)
}

Проблема в том, что когда я создаю вложеный мувик таким способом
мувик_отецъ.createEmptyMovieClip("имя",1)
он рисуется внутри мувик_отецъ и никак не обозначает своё самостоятельное присутствие на сцене, хотя он виден.

Старый 10.03.2004, 02:21
sergwizard вне форума Посмотреть профиль Отправить личное сообщение для sergwizard Посетить домашнюю страницу sergwizard Найти все сообщения от sergwizard
  № 2  
sergwizard
 
Аватар для sergwizard

Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
Очень загадочная фраза: ...и никак не обозначает своё самостоятельное присутствие на сцене, хотя он виден.

Ну, попробуй такой вариант:
Код:
MovieClip.prototype.moveMe = function(){
	this.onEnterFrame = function(){
		if(this._x<=0){
			right = true;
		}
		if(this._x>=200){
			right = false;
		}
		right ? this._x++ : this._x--;
	}
}
this.createEmptyMovieClip("father",1);
	with(father){
		lineStyle(0,0xC0C0C0,0);
		beginFill(0xC0C0C0,100);
		lineTo(300,0);
		lineTo(300,100);
		lineTo(0,100);
		lineTo(0,0);
		endFill();
		_x = 100;
		_y = 100;
}
father.createEmptyMovieClip("son",1);
	with(father.son){
		lineStyle(50,0xFF0000,100);
		moveTo(50,50);
		lineTo(50.2,50);
		moveMe();
}
father.onRelease = function(){
	click = (click+1)%2;
	click ? father.son._visible = false : father.son._visible = true;
}
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный.
(S.Wizard)

Старый 10.03.2004, 12:17
nuran вне форума Посмотреть профиль Отправить личное сообщение для nuran Найти все сообщения от nuran
  № 3  
nuran

Регистрация: Apr 2003
Адрес: DC
Сообщений: 4,489
По умолчанию Re: createEmptyMovieClip

Цитата:
Оригинал написал(а) Zergy
он рисуется внутри мувик_отецъ и никак не обозначает своё самостоятельное присутствие на сцене, хотя он виден. [/b]
ты бредишь
__________________
flash/flex/unity

Старый 10.03.2004, 17:19
TTS вне форума Посмотреть профиль Отправить личное сообщение для TTS Найти все сообщения от TTS
  № 4  
TTS
 
Аватар для TTS

Регистрация: Jan 2002
Сообщений: 1,323
По умолчанию Re: createEmptyMovieClip

Цитата:
Оригинал написал(а) Zergy
_root.createEmptyMovieClip("мувик_отецъ",0)
with(this){
Может, надо было написать with(_root.мувик_отецъ)... ?
Цитата:
Оригинал написал(а) Zergy
мувик_отецъ.createEmptyMovieClip("имя",1)
Может, надо было написать _root.мувик_отецъ.createEmptyMovieClip("имя",1) ?
__________________
ВКЛЮЧИ МОЗГИ!!!
Одноразовых граблей не бывает. На большинство из них уже кто-то наступал. (c) Dindin

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

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

Старый 10.03.2004, 20:57
Zergy вне форума Посмотреть профиль Отправить личное сообщение для Zergy Найти все сообщения от Zergy
  № 6  
Zergy

Регистрация: Dec 2002
Сообщений: 134
Отправить сообщение для Zergy с помощью ICQ
Спасибо ребята, что откликнулись.

Очень загадочная фраза: ...и никак не обозначает своё
самостоятельное присутствие на сцене, хотя он виден.

Да, э точно. Я имел ввиду что рисование присходит и на сцене он на самом деле появляется, но в Debuggere название дочернего клипа небыло. Но это уже не главная проблема, птому что я не правильно указывал параметры при создании дочернего клипа. Тормознул, потому что в ASP ушёл и ActionScript забыл совсем ((.

sergwizard, у меня почти такой же код, как и ты опубликовал, разница

лиш в том что ты используешь прототипы, а я просто вешаю на нужный дочерний клип
son.onEnterFrame = function(){}

Проблема теперь моя в том, что названия клипов присваиваются произвольные, на примере это так

NameMC="but_mc"; 'название мувика'

this.createEmptyMovieClip(NameMC,1); - отец
eval(NameMC).createEmptyMovieClip(NameMC+"_SubMenu",2); -дочерний
with (NameMC.NameMC+"_SubMenu"){
lineStyle(1,SubMLineColor,100);
...

};

eval(NameMC+"."+NameMC+"_SubMenu").onEnterFrame = function()

{this._y--};

Так вот из за строки типа (NameMC.NameMC+"_SubMenu") в WITH обращение к клипу не происходит....

Старый 11.03.2004, 03:32
sergwizard вне форума Посмотреть профиль Отправить личное сообщение для sergwizard Посетить домашнюю страницу sergwizard Найти все сообщения от sergwizard
  № 7  
sergwizard
 
Аватар для sergwizard

Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
Может быть, тебе лучше выложить исходник и точно сказать, что нужно... А то так, в слепую трудно представить, что ты хочешь сделать.
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный.
(S.Wizard)

Старый 11.03.2004, 03:47
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 8  
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
98% - дело в относительности координат, в которых рисуешь.
Ты бы сделал исходник, организовав бы всё как надо, без прогр.рисования/ручками/. А уж потом ...
Мастера найдутся.

Старый 11.03.2004, 21:50
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 9  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
я может опять невпопад, тогда пардон, но
если ты знаешь что (NameMC.NameMC+"_SubMenu") не существует, зачем пишешь
with (NameMC.NameMC+"_SubMenu"){
lineStyle(1,SubMLineColor,100);
...

};
это тоже, что with({}){...}
в результате рисуешь не в муве, а руте (т.е. видно, но неуправляемо)

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

Регистрация: Dec 2002
Сообщений: 134
Отправить сообщение для Zergy с помощью ICQ
Лучше действительно вывешу пример, чем парить мозги кусками кода.
В архиве два файла, первый untitled-2 - это рабочий файл, где мне необходимо добиться работоспособности и untitled-3, это файл, который я подогнал к рабочему состоянию.
Разница между двумя этими файлами в том, что в untitled-3 имена мувикам я задаю явно, а в untitled-2 имена задаются опираясь на переменную с именем начального мувика.

Проблема в том, что мувики нормально создаются опираясь на имя в переменной, но доступ к ним в WITH, опираясь на конструкцию типа NameMC.NameMC+"_SubMenu" не работает, а работает только если в WITH яно указать мувик but_mc.but_mc_SubMenu
Вложения
Тип файла: zip fla.zip (12.4 Кб, 238 просмотров)

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

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

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


 


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


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