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

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

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

Регистрация: Mar 2011
Сообщений: 6
По умолчанию Перейти из swf, на определенный кадр другого swf

Вопрос такой: есть два файла index.sfw и centr.sfw
При клике на кнопку (button) внутри index.swf подгружается centr.sfw
Реализованно это так:

Код AS3:
button.addEventListener(MouseEvent.CLICK, page1content);
function page1content(myevent:MouseEvent):void {
var myURL:URLRequest=new URLRequest("centr.swf");
myLoader.load(myURL);
addChild(myLoader);
Вопрос: как сделать так, чтоб подгружался определнный кадр centr.swf? Или еще лучше, метка кадра?


Последний раз редактировалось Котяра; 22.03.2011 в 19:36.
Старый 22.03.2011, 15:00
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Код нужно офромлять тегами <as3> </as3> при создании темы есть такой тег. так же и при написании

.
Цитата:
Вопрос: как сделать так, чтоб подгружался определнный кадр centr.swf? Или еще лучше, метка кадра?
Ответ - никак. Кадр подгрузить нельзя, можно перейти на него после полной загрузки файла.

Код AS3:
button.addEventListener(MouseEvent.CLICK, page1content);
function page1content(myevent:MouseEvent):void {
var myURL:URLRequest=new URLRequest("centr.swf");
myLoader.load(myURL);
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE , frame)
addChild(myLoader);
} 
function frame(e:Event) {
 
 (e.currentTarget.content as MovieClip).gotoAndStop('metka')

Старый 24.07.2014, 18:38
Nooob вне форума Посмотреть профиль Отправить личное сообщение для Nooob Найти все сообщения от Nooob
  № 3  
Ответить с цитированием
Nooob
 
Аватар для Nooob

Регистрация: Mar 2007
Сообщений: 319
Цитата:
Сообщение от in4core Посмотреть сообщение
Ответ - никак. Кадр подгрузить нельзя, можно перейти на него после полной загрузки файла.
Не совсем так, первый кадр доступен после события Event.INIT, остальные по порядку будут доступны в процессе загрузки ProgressEvent.PROGRESS (смотреть сколько уже доступно через Loader#.content.framesLoaded).
Все кадры доступны после события Event.COMPLETE.
Это особенно актуально для флеш мультиков, когда можно уже показывать загруженные кадры по порядку не дождавшись полной загрузки всего ролика.

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

Регистрация: Mar 2011
Сообщений: 6
in4core, спасибо все заработало, отлично!

Вопрос еще такой: возможно ли упростить этот код:

Код AS3:
button.addEventListener(MouseEvent.CLICK, page1content);
function page1content(myevent:MouseEvent):void {
var myURL:URLRequest=new URLRequest("centr.swf");
myLoader.load(myURL);
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE , frame)
addChild(myLoader);
} 
function frame(e:Event) {
 
 (e.currentTarget.content as MovieClip).gotoAndStop('metka')
Делов том, что у меня много кнопок (порядка 20 на странице, а страниц около 50). Итого получается 1000 кнопок. Для каждой соответственно нужно прописывать уникальный номер определения функции page1...1000content
Что очень затрудняет работу. Есть ли код, без уникальных номеров функции?

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

Регистрация: Mar 2011
Сообщений: 6
Спасибо, все отлично заработало! то что надо)

Вопрос еще такой: если ли код, который позволяет так же подгружать внешний swf, но без этого геморроя в виде определения функции page1..100content. Дело в том, что у меня около 100 кнопок, и для каждой писать свой уникальный номер - брррр.

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

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Да можно. Можно создать одну функцию и передавать туда параметр URL . Можете сделать например так

Код AS3:
function page1content(myevent:MouseEvent):void {
var myURL:URLRequest=new URLRequest(myevent.currentTarget.name);
myLoader.load(myURL);
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE , frame)
addChild(myLoader);
}
А при определении кнопки делать myButton.name = 'someUrl.swf' Как вариант ))) Можно хмл подключить. Да что угодно. вариантов тьма.

Старый 22.03.2011, 18:50
bars_ue вне форума Посмотреть профиль Отправить личное сообщение для bars_ue Найти все сообщения от bars_ue
  № 7  
Ответить с цитированием
bars_ue

Регистрация: Mar 2011
Сообщений: 6
Отлично, спасибо!

Старый 21.02.2012, 15:44
Blizzart вне форума Посмотреть профиль Отправить личное сообщение для Blizzart Найти все сообщения от Blizzart
  № 8  
Ответить с цитированием
Blizzart

Регистрация: Feb 2011
Сообщений: 13
Я попробовал по разному, но кнопку сделать не получилось (
Код AS3:
var loadtitle:Loader = new Loader()
var reqtitle = new URLRequest("title.swf");
time=setTimeout(function loadtit(){
/*loadtitle.contentLoaderInfo.addEventListener(Event.COMPLETE , frame)*/
loadtitle.load(reqtitle);
addChildAt(loadtitle, 0);
			  			  },500);
 
lost.addEventListener(MouseEvent.CLICK, frame, false, 0, true );
function frame(e:MouseEvent) {
 (loadtitle.content as MovieClip).gotoAndStop(701);
 }
#1009: Не удается вызвать свойство или метод со ссылкой на объект "null"

всё понял! и исправил


Последний раз редактировалось Blizzart; 21.02.2012 в 16:23.
Старый 24.07.2014, 16:40
47_GrAnd_74 вне форума Посмотреть профиль Отправить личное сообщение для 47_GrAnd_74 Найти все сообщения от 47_GrAnd_74
  № 9  
Ответить с цитированием
47_GrAnd_74

Регистрация: Nov 2013
Сообщений: 3
Чтобы не плодить темы, спрошу тут.
У меня подгружается swf мультик в основной проект, как только он проиграется нужно загрузить второй, после второго - третий. Подскажите как это лучше реализовать или хотя бы как определить что проигрался последний фрейм в мультике?

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
47_GrAnd_74, здесь уже нечего стесняться, топ достаточно старый. Создайте новую тему.
Nooob, поздравляю! Вы ответили на некроответ некропоста. Интересно, а in4core сейчас знает о том, чего не знал три года назад?
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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


 


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


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