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

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

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

Регистрация: Mar 2004
Адрес: Москва
Сообщений: 5
По умолчанию Адрессация вложенных объектов

Парни и девушки помогите разобраться!!


В ообщем есть пустая страница. На ней я программно создаю пустой мувик. В него засовываю ранее срзданную кнопку(из библиотеки используя attachMovie()) + еще картинку(для заднего фона кнопки) подгружаю(в пустой мувик созданный в главном мувике используя loadMovie()). Факт в том что это все работает, но стоит мне обратиться к свойствам(типа _alpha или _x) мувиков, которые вложены в главный мувик, то ничего не получается.

Вот я и спрашиваю вас, умные люди: Как мне быть и что посоветуете?.
Просмотрел весь форум, но ничего не нашел. Пробовал разное, может не догоняю?

Буду очень благодарен за help.
__________________
Eagles will soar. But Funky Beast doesn't have to worry being sucked into the jet engine.

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

Регистрация: Aug 2003
Адрес: Украина, Львов
Сообщений: 129
напиши код!!!! как обращаешься...
к кому обращаешься... поробуем..... может пути... скорей всего

Старый 11.03.2004, 22:11
Funky Beast вне форума Посмотреть профиль Отправить личное сообщение для Funky Beast Найти все сообщения от Funky Beast
  № 3  
Ответить с цитированием
Funky Beast

Регистрация: Mar 2004
Адрес: Москва
Сообщений: 5
По умолчанию Re: Адрессация вложенных объектов

Вот сам код. Он реализован как функция создания кнопки. Подобное видел здесь на flasher'e.

function createButton(x0,y0,bwidth,bheight,bname,k,captionb,captiong,picture){
_root.createEmptyMovieClip(bname,k);
//создаю пустой мувик с именем bname. Он у нас будет главный. В него будет вкладываться все остальное.

eval(bname).attachMovie("button",captionb,2);
// в библиотеке есть кнопка с именем button. Я её засовываю в главный мувик под именем котрое в captionb находится, т.е. "aboutb"

eval(bname).attachMovie("eyeb",captiong,3);
//Тоже самое, что делал с кнопкой button делаю с мувиком eyeb (пихаю его в главный мувик, но на уровень выше).

eval(bname).createEmptyMovieClip(picture,1);
//Создаю пустой клип в главном клипе. Т.е. теперь в главном клипе у нас находится 3 объекта на разных уровнях.
loadMovie("D:/pics/"+picture+".jpg", "_root."+bname+"."+picture);
// Подгружаю картинку в только что созданный клип, который находится в главном клипе. Все это работает. Проблем здесь нет. Свойствами главно клипа тоже могу управлять, а добраться до вложенных объектов и их свойств не могу. Пробовал разные методы и with(){} и просто через _root параллельно следя что выдает trace(). А trace() выдавал undifined. Понятно, что дело в пути. Вот и спрашиваю может кто-то поможет.

Так я, предполагая, пытался добраться до нужных мест нужного мувика.

eval(bname).captionb._x = 20;
eval(banme).captionb._y = 40;
}

createButton(0,0,75,20,"button1",87,"aboutb","aboutg","aboutp");


Если кто знает или хотел бы ответить можно писать и на мыло.
__________________
Eagles will soar. But Funky Beast doesn't have to worry being sucked into the jet engine.

Старый 12.03.2004, 00:04
Lorex вне форума Посмотреть профиль Отправить личное сообщение для Lorex Посетить домашнюю страницу Lorex Найти все сообщения от Lorex
  № 4  
Ответить с цитированием
Lorex
 
Аватар для Lorex

Регистрация: Aug 2003
Адрес: Украина, Львов
Сообщений: 129
Так тьі пытался добраться до нужных мест нужного мувика.

eval(bname).captionb._x = 20;
eval(banme).captionb._y = 40;



а так я пьітаюся...

eval(bname)._x = 20;
eval(banme)._y = 40;


у тебя же нету об"єкта captionb....
а вот в нем содержится имя Linkage'нутого клипа... которьій для манипулирования клипом заданном в bname - не нужно... манипулируем созданньім клипом

_root.createEmptyMovieClip(bname,k);

соответственно:


eval(bname)._x = 20;
eval(banme)._y = 40;

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

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
вот так работает
eval(bname+"."+captionb)._x = 20;
eval(bname+"."+captionb)._y = 40;

Старый 12.03.2004, 00:23
Lorex вне форума Посмотреть профиль Отправить личное сообщение для Lorex Посетить домашнюю страницу Lorex Найти все сообщения от Lorex
  № 6  
Ответить с цитированием
Lorex
 
Аватар для Lorex

Регистрация: Aug 2003
Адрес: Украина, Львов
Сообщений: 129
так да.. но тьі тогда двигаешь только кнопку...
А понятно.. тебе енто и нужно бьіло.... сорри

Старый 12.03.2004, 12:11
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 7  
Ответить с цитированием
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
тавагисчи :)
евал никому уже давнооо не нужен.

к любому методу/свойству объекта можно обратиться двумя способами:
1. имя_объекта.имя_свойства
2. имя_объекта["имя_свойства"]

в первом случае имя_свойства - это любой допустимый идентификатор

во втором случае имя_свойства - это строка. (или любое выражение в результате выполнения которого получается строка)

на данном примере:
есть объект _root, внутри него создаем объект с именем bname. (а bname - это строка)
значит после создания можно будет обратиться к нему так: _root[bname]

но тут даже это не нужно - функция createEmptyMovieClip возвращает ссылку на созданный ею клип.

я обычно, чтобы не писать лишнего, делаю как-то так:
var mc = _root.createEmptyMovieClip(bname, k);

и после этого обращаюсь к mc, чтобы установить какие-то свойства клипа.

функция attachMovie, кстати, тоже возвращает ссылку на приаттаченный клип. этим удобно пользоваться:

var btn = _root[bname].attachMovie("button", captionb, 2);
btn._x = 123;
btn._y = 456;

запись получается гораздо короче..

но можно конечно и так:
_root[bname].attachMovie("button", captionb, 2);
_root[bname][captionb]._x = 123;
_root[bname][captionb]._y = 456;

..такое обращение уже смотрится как операция с двумерным ассоциативным массивом

Старый 12.03.2004, 18:48
Funky Beast вне форума Посмотреть профиль Отправить личное сообщение для Funky Beast Найти все сообщения от Funky Beast
  № 8  
Ответить с цитированием
Funky Beast

Регистрация: Mar 2004
Адрес: Москва
Сообщений: 5
По умолчанию Thanks a lot!!!!

Все замечательно работает!!! Большое всем спасибо!!!

Попробовал все способы, чтобы никого не обидеть. Все в ажуре и без глюков!!

Даже не поверил сначала, что мне так быстро ответят знающие люди. Еще раз спасибо за помощь!! Вы спасли мой мозг! Целых 3 дня думал только об этом. Даже моя девушка сказала, что я охладел по отношению к ней. Вот что делает Flash с людми.
__________________
Eagles will soar. But Funky Beast doesn't have to worry being sucked into the jet engine.

Старый 12.03.2004, 19:29
Lorex вне форума Посмотреть профиль Отправить личное сообщение для Lorex Посетить домашнюю страницу Lorex Найти все сообщения от Lorex
  № 9  
Ответить с цитированием
Lorex
 
Аватар для Lorex

Регистрация: Aug 2003
Адрес: Украина, Львов
Сообщений: 129
Рекомендую Flash переименовать на чтото вроде Fire!
Будет горячей....

Старый 12.03.2004, 20:04
Funky Beast вне форума Посмотреть профиль Отправить личное сообщение для Funky Beast Найти все сообщения от Funky Beast
  № 10  
Ответить с цитированием
Funky Beast

Регистрация: Mar 2004
Адрес: Москва
Сообщений: 5
Можно и так!

А можно и Flire.
__________________
Eagles will soar. But Funky Beast doesn't have to worry being sucked into the jet engine.

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

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

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


 


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


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