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

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

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

Регистрация: Aug 2009
Сообщений: 101
По умолчанию Обращения к элементам второго фрейма

Такая проблема, если кнопка находиться на первом фрейме внутри мувика то ее легко использовать:
Код AS1/AS2:
 Mc.btn.onRelease = function() {
}
Но если кнопка находиться на остальных фреймах, скажим на втором, то просто так к ней обратиться не получаеться, подозреваю что нужно использовать в имени путь к кадру или как-нибудь так О_о
Подскажите пожалйста.
__________________
Кто к нам с мечом придет, тот появиться на респауне уже без меча.

Старый 12.09.2009, 19:46
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
По существу: нет, не так, к кадру обратиться нельзя, ролик туда может только перейти - сам в процессе воспроизведения или через gotoAndStop или gotoAndPlay.
Вам следует следить за тем, чтобы размещать кнопки и мувики там, где для них написан код. Нет ничего проще - сделайте слой, общий для всего ролика и разместите там элементы навигации.
При этом если в какой-то момент кнопка на сцене не нужна, задавайте ей _visible=false, а в нужных кадрах - проявляйте.
Что вам мешает написать код во втором фрейме, кстати?

Не очень понятна ситуация, зачем вам обращаться к кнопке, которой еще нет на сцене?
Или вам нужно просто выполнить действие, которое завязано на кнопке, то есть нажать ее программно?


Последний раз редактировалось mooncar; 12.09.2009 в 19:50.
Старый 12.09.2009, 20:51
LanSelven вне форума Посмотреть профиль Отправить личное сообщение для LanSelven Найти все сообщения от LanSelven
  № 3  
Ответить с цитированием
LanSelven
 
Аватар для LanSelven

Регистрация: Aug 2009
Сообщений: 101
Вы меня немного не поняли, мувик уже есть, а кнопка скрыта с мувике, когда она появляется, нужно использовать условие, нажав на кнопку.
Вот пример:
Мувиклип, первый кадр пустой, а на втором кнопка, понятное дело что сначала надо перейти к фрейму с кнопкой, ну это не трудно сделать с помощью Mc.goto, однако кнопка всеровно не реагирует. Этой кнопке надо дать задание, причем код к кнопке должен быть на главной рабочей школе.
Вот скажем, мы переключили мувиклив на 2 фрейм и кнопка появлюсь на сцене, нужно сделать так, чтобы при нажатии выполнялось какое-нибудь действие, ну например trace("text");
Код AS1/AS2:
 Mc.btn.onRelease = function() {
     trace("text");
}
на первый взгляд простое дело но вся проблема во Мувиклипе, а точнее в том что находясь на второстепенных фреймах мувиклипа кнопка не запускается и не понимаю почему, так как в главной рабочей шкале такой проблемы не возникает.
А вообще задумка была в том, чтобы кнопка появлялась по какому-нибудь событию, на нее можно было нажать и она опять исчезла. И _visible я ей тоже не могу задать, так как не могу обратиться к ней впринцепи....
Ну, вот для наглядности flash документик.
Вложения
Тип файла: rar Primer.rar (11.0 Кб, 35 просмотров)
__________________
Кто к нам с мечом придет, тот появиться на респауне уже без меча.

Старый 12.09.2009, 20:56
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Пересохраните для CS3, помните, что CS4 установлен не у всех.
Чувствую я, у вас всё там совсем с ног на голову...

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

Регистрация: Aug 2009
Сообщений: 101
Вот та же флешка во Flash 8
Вложения
Тип файла: rar Primer2.rar (10.6 Кб, 36 просмотров)
__________________
Кто к нам с мечом придет, тот появиться на респауне уже без меча.

Старый 12.09.2009, 21:42
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
А вам принципиально важно, чтобы внутри кнопки было два кадра и при начале проигрывания происходил моментальный переход на 2-ой кадр кнопки?

Добавлено через 7 минут
Она же у вас все равно видимой сразу делается, для чего нужен второй кадр?

Старый 12.09.2009, 21:55
LanSelven вне форума Посмотреть профиль Отправить личное сообщение для LanSelven Найти все сообщения от LanSelven
  № 7  
Ответить с цитированием
LanSelven
 
Аватар для LanSelven

Регистрация: Aug 2009
Сообщений: 101
Ну вы даете... Я же вам четко объяснил что мне нужно. Во флешке просто наглядный пример.
Мне нужно просто чтобы кнопка появилась в связи с каким-нибудь действием, а потом могла снова исчезнуть(Это можно сделать перемещая кнопку, но это плохой тон)
Так вы знаете как обратиться к элементу второстепенного фрейма? Или как можно проделать появление и исчезновение кнопки.
__________________
Кто к нам с мечом придет, тот появиться на респауне уже без меча.

Старый 12.09.2009, 22:03
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 8  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Нужно, чтобы на момент назначения на события кнопки функций, кнопка как-то реально присутствовала на сцене, а у вас внутри Mc2 - первый кадр пустой.
Вариант 1. Ставим в первый кадр любой мувик с альфа = 0;
Вариант 2. Убираем второй кадр и оставляем один кадр, все равн кнопка сразу же делается видимой.

Вариант 3. Пишем функцию для выполнения в корне:

Код AS1/AS2:
function Mc2Release() {
 blink.gotoAndPlay(2) //просто наглядное действие
}
Внутри Mc2 - во втором кадре, где появляется сама кнопка, пишем ссылку на объявленную в _root функцию:
Код AS1/AS2:
btn.onRelease = _root.Mc2Release;
3 вариант - наиболее толерантен к имеющейся структуре (менять ничего не нужно, только код вписать)

Добавлено через 15 минут
А "даю" я .. просто не организовывают так как у вас. Много ненужный проблем исчезает при правильном построении ролика..
Я же говорил: сделайте слой, общий для всего ролика и разместите там элементы навигации. И управляйте ими как хотите - через _visible и _alpha сообразно вашим событиям.
Я делаю так. Например, чтобы кнопка сперва не была видна сразу, в среде разработки, в свойствах, я ставлю ей alpha на 0%, в коде пишу _visible = false или enabled = false;
Затем в нужный момент программно включаю
Код AS1/AS2:
btn._alpha = 100;
btn._visible = true ;
Вот вам живой пример из проекта:

Код AS1/AS2:
// ф-я управления кнопками сохранить, отменить;
function manageCancelBut (dir) {	
	switch (dir) {
	case 'on':
	cancel_btn.enabled = true;	
	cancel_btn._alpha = 100;	
	break ;
	case 'off':
	cancel_btn.enabled = false  ;
	cancel_btn._alpha = 0;	
	break ;		
	}
};
function manageSaveBut (dir) {	
	switch (dir) {
	case 'on':
	saveData_btn.enabled = true ;	
	saveData_btn._alpha = 100;	
	break ;
	case 'off':
	saveData_btn.enabled = false ;
	saveData_btn._alpha = 0;	
	break ;		
	}
};
В начале кода у меня на _root у меня выключается все:
Код AS1/AS2:
manageSaveBut('off');
manageCancelBut('off');
При этом альфа в авторской среде выставлена на 0%, чтобы не было первоначального мигания, при выключении, а кнопки были невидимы сразу.
А потом, когда нужно, я их проявляю:
Код AS1/AS2:
_root.manageCancelBut('on');
То есть вызываю из абсолютно любого места ролика.
Естественно все onRelease и прочее прописаны на _root сразуи прекарсно работают.


Последний раз редактировалось mooncar; 12.09.2009 в 22:29.
Старый 12.09.2009, 22:20
LanSelven вне форума Посмотреть профиль Отправить личное сообщение для LanSelven Найти все сообщения от LanSelven
  № 9  
Ответить с цитированием
LanSelven
 
Аватар для LanSelven

Регистрация: Aug 2009
Сообщений: 101
Ну, 3 способ равно силен тому, что я задам действие прямо кнопке
Код AS1/AS2:
on(release) {}
Не удобный способ...Мне нужно будет сделать таких кнопок окола 50 штук, и я хотел весь код уместить лишь на главной рабочей школе.
Не понял как делать "Вариант 1"
Вариант 2 не подходит. Я же вам говорил, то что кнопка сразу же делаеться видемой это ВАМ для наглядного примера "т.е нажал на первую - работает, на вторую - нет" в реалльной обстановке она появлится лиш когда например coose будет true, или когда на какой-нибудь кнопке сработает действиет
Код AS1/AS2:
Mc.gotoAndStop(2)
__________________
Кто к нам с мечом придет, тот появиться на респауне уже без меча.

Старый 12.09.2009, 22:22
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 10  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
См. пример выше. пользуйтесь подготовленными функциями, это даст вам гибкость.

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

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

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


 


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


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