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

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

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

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
Smile клонирование клипов с переменными

День добрый.
скажу сразу, поиск я рыл.
хэлп по чаилду читал.
но ввиду своего нюбства в AS3 не могу понять банальшины.

имеется код, который из библиотеки вытаскивает мувик fr_sp

Код AS3:
var cl:MovieClip = new fr_sp();
main.spisok.addChild(cl);
как мы видим вытаскивает он его далеко не на stage
так вот.я хочу в этому мувику прописать координаты, чтобы после создания он подвинулся и дал место другим)))
делаю это так.
Код AS3:
main.spisok.cl.x = 300;
из того, что я находил в поисках на этом ресурсе, вроде все верно.НО.не работает.
так же мне надо туда передать параметры.
например чтобы текстовое поле внутри приняло значение.делаю так

Код AS3:
main.spisok.cl.mes.text = "hello MIR";
реакция так же по нолям.


и сразу спрощу.
если я делаю так

Код AS3:
		for(var i:Number = 0;i<50;i++){
var cl:MovieClip = new fr_sp();
main.spisok.addChild(cl);
main.spisok.cl.x = 30*i;
				}
создаются клоны или нет?я сделал внутри каждого по треису, дабы изучить вопрос.но у меня треисы по нолям.
код трейса

Код AS3:
trace("Ok");
помогите пожалуйста, переползти с AS2 на AS3 %)

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

Регистрация: Feb 2007
Сообщений: 563
Dezar
обращайтесь к клипм на прямую -
Код AS3:
for(var i:Number = 0;i<50;i++){
var cl:MovieClip = new fr_sp();
main.spisok.addChild(cl);
cl.x = 30*i;
				}
в as3 не создается автоматической ссылки для вложенных объектов.

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

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
блин))
спасибо.действительно все заработало.
либо я что-то плохо читал, либо настолько привык к as2, чт не смог принять такое.
по логике клип создается в Stage.main.spisok
каким образом он доступен по сl?
или это только на время создания клипа?
то есть если я через некоторое время по этои ссылке обращусь реакция будет вообще?
а если я например хочу обратиться через некоторое время к одному из мувиков.это как сделать?
или надо переменные внутри каждого мувика создать?

Старый 02.04.2010, 18:56
Vier вне форума Посмотреть профиль Отправить личное сообщение для Vier Посетить домашнюю страницу Vier Найти все сообщения от Vier
  № 4  
Ответить с цитированием
Vier

Регистрация: Sep 2004
Сообщений: 90
Ты в своем классе получил экземпляр класса fr_sp (именуй лучше с большой буквы)
var cl:MovieClip = new fr_sp();
И можешь менять все доступные ему свойства. (То есть свойства объекта типа мувиКлип).

Потом, у экземпляра main, у которого есть поле spisok, которое само является экземпляром класса, вызвал метод addChild;
main.spisok.addChild(cl);

main.spisok.cl.x = 300;
не работает, т.к. у spisok нет поля cl.
Плохо знаю синтаксис, но по идее сработало бы main.spisok.getChild(index).x=300;
где index номер добавленного cl. Но смысла в этом нет ) cl.x = 300 правильней и проще.


Последний раз редактировалось Vier; 02.04.2010 в 18:58.
Старый 02.04.2010, 19:12
Dezar вне форума Посмотреть профиль Отправить личное сообщение для Dezar Найти все сообщения от Dezar
  № 5  
Ответить с цитированием
Dezar

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
а в as2 такои код сработал бы )))
потому как .addChild(cl); обозначало бы , что я там создал поле.
ну да фиг с ним.
а как мне в дальнейшем юзать свойства мувиков?
в каждом мувике есть по 3 кадра.в первом кадре строго стоп стоит.

как нажав на кнопку(не важно где она находится) включить следующий кадр???

Старый 02.04.2010, 19:24
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 6  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
а как мне в дальнейшем юзать свойства мувиков?
в каждом мувике есть по 3 кадра.в первом кадре строго стоп стоит.
как нажав на кнопку(не важно где она находится) включить следующий кадр???
Ээ... ну в обработчике нажатия на кнопку переходите на кадр.

Dezar, изучение основ AS3 методом тыка, по-моему, плохая идея. Потратьте день другой лучше на прочтение того же Мука. Потому что отличия от AS2, а тем более от AS1, мягко говоря довольно существенные. И такие вопросы теоретического характера, замучаетесь спрашивать.

Старый 02.04.2010, 19:25
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 7  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Присоединяем листенер кнопке, при нажатии обрабатываем:

Код AS3:
cl.gotoAndStop(кадр);
То есть все так же по синтаксису, как в AS2

Старый 02.04.2010, 19:35
Dezar вне форума Посмотреть профиль Отправить личное сообщение для Dezar Найти все сообщения от Dezar
  № 8  
Ответить с цитированием
Dezar

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
udaaff,спасибо
изучаю.
но кому не хочется побыстрее))

но вопрос по моему несовсем вам понятен.
так как ответ странный.


представьте.
имеется 5 клипов созданных чаилдом.( группа С)
имеется 1 большая кнопка вне клипов.(буттон А)
имеется мувик с 2 кадрми(первый кадр пустои, в втором кадре кнопка) (мувик Б)
так вот.
нажимаем на буттон А.она включает второи кадр мувика Б.
в группе С в каждом клипе создана прослушивалка для перетаскивания их.
их создал таким кодом, когда аттачил на экран.
Код AS3:
cl.addEventListener(MouseEvent.MOUSE_DOWN, function(e){
cl.startDrag(true);
  	  });
cl.addEventListener(MouseEvent.MOUSE_UP, function(e){
stopDrag();
  	  });
они все вдигаются.то есть все ок.
так вот.перетащили мы какои-то мувик из группы С
а теперь мы должны нажать на мувик б(кнопку) и тут должно случится чудо.
мувик из группы С, который мы таскали последним должен включить следующий кадр себя.

вот.
если создать прослушивалки, то это сколько цать штук надо их сделать-то?
нельзя как-то узнать либо номер слоя,где находится мувик, и уже по номеру слоя мучать его..или какое-то имя.аля инстанс(где-то читал что по дефолту такое генерит).

Старый 02.04.2010, 19:43
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 9  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
При нажатии на мувик из группы C, заносите в какую-нибудь переменную ссылку на этот мувик. Ну а затем уже, через эту ссылку, обращайтесь в обработчике нажатия на Б к этому мувику.
События нажатия на мувики С можно ловить одним обработчиком на фазе всплытия, например. И там уже записывать ссылку на нажатый мувик.

Старый 02.04.2010, 19:51
Dezar вне форума Посмотреть профиль Отправить личное сообщение для Dezar Найти все сообщения от Dezar
  № 10  
Ответить с цитированием
Dezar

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
вот и подошли к сути)
переменнную для таких манипуляции создал.
Код AS3:
var obj:String;
А тепер сижу и думаю, а что приравнять-то?)))
вот чему этот obj может быть равен?
что за ссылка?
я читал про замены бедных рутов,глобалов, но ничего аналогиного не обнаружил.

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

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

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


 


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


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