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

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

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

Регистрация: May 2012
Сообщений: 12
Question Переходы по кадрам и loadMovie

Добрый день, у меня следующая проблема:
Есть главный файл - main.swf в нем есть 4, так скажем экрана, или кадра с метками (titul, work, modul, demo)

Мы переходим в этом файле в modul, и там нажимаем на кнопку, где вызывается открытие work и туда грузится второй файл -Россия.swf, следующим кодом:
Код ActionScript 3

Код AS1/AS2:
on(release){
    _root.gotoAndStop("work");
    _root.emty_mc.unloadMovie();
    _root.emty_mc._x = 85;
    _root.emty_mc._y = 100;
    _root.emty_mc.loadMovie("content/Россия.swf");
}
Отлично, тут все работает...

Теперь в файле Россия.swf мы имеем кнопку, со следующим кодом:
Код ActionScript 3
Код AS1/AS2:
on (release) {
    _root.gotoAndStop("demo");
    _root.emty_mc_demo.unloadMovie();
    _root.emty_mc_demo._x = 127;
    _root.emty_mc_demo._y = 97;
    _root.emty_mc_demo._width = 900;
    _root.emty_mc_demo._height = 500;
    _root.emty_mc_demo.loadMovie("content/scrolling_movie_clip.swf");
    _root.emty_mc_demo._lockroot = true;
}
При этом происходит следующее: кнопка работает, нас перебрасывает на наш demo, только ничего в наш emty_mc_demo не грузится, и мы видим просто красную площадку в которую должен был загрузится scrolling_movie_clip.swf

А теперь, что я выявил, если на кнопку в нашей Россия.swf повесить вместо верхнего кода, вот этот:
Код ActionScript 3
Код AS1/AS2:
on (release) {
    _root.gotoAndStop("work");
    _root.emty_mc.unloadMovie();
    _root.emty_mc._x = 127;
    _root.emty_mc._y = 97;
    _root.emty_mc._width = 900;
    _root.emty_mc._height = 500;
    _root.emty_mc.loadMovie("content/scrolling_movie_clip.swf");
    _root.emty_mc._lockroot = true;
}
То он отлично, не перебрасывая на другой кадр (work - это там же, где и был загружен файл Россия.swf, причем как Россия так и новый файл грузится в emty_mc), загружает файл. То есть все работает...

В чем может быть проблема? Как её решить?

Так как, я являюсь любителем, и что-либо мог не верно обозвать, выкладываю скрины:
Нажмите на изображение для увеличения
Название: main.JPG
Просмотров: 165
Размер:	119.3 Кб
ID:	30209
Нажмите на изображение для увеличения
Название: россия.JPG
Просмотров: 147
Размер:	158.5 Кб
ID:	30208

Старый 25.11.2013, 12:10
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 2  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Проще выложить исходник .fla вместо тучи скринов.

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

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
ArtDenis, не совсем понятно, что у вас не получается.

Сформулируйте, пожалуйста, свою проблему в одном лаконичном предложении.
__________________
hauts.ru

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

Регистрация: May 2012
Сообщений: 12
У меня не получается загрузить 2внешний ролик в главный из 1внешнего ролика, загруженного в главный. При том что, если грузить 2внешний ролик в тоже место где загружен 1внешний ролик - все работает.

Выкладываю исходник:
Исходник.rar
Здесь надо нажать на большую надпись "Всемирная история" -> "Россия" -> справа будет кнопка "Анимация"
После того как нажмем, увидим что не так...
Затем надо нажать назад - треугольник слева, попадем опять на титульную, там выбрать "Аннотацию" - увидим как должно быть...


Последний раз редактировалось ArtDenis; 25.11.2013 в 19:43.
Старый 26.11.2013, 08:59
ArtDenis вне форума Посмотреть профиль Отправить личное сообщение для ArtDenis Найти все сообщения от ArtDenis
  № 5  
Ответить с цитированием
ArtDenis

Регистрация: May 2012
Сообщений: 12
Люди, никто не может помочь?
Очень нужно решить эту проблему...

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

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Флэша под рукой нет. Но помочь могу.

В основной флэшке пропишите метод для загрузки роликов в глобальной области видимости:

Код AS1/AS2:
_global.loadNewMovie = function(src){
 // тут код для загрузки ролика
}
И из загруженной, вызывайте:

Код AS1/AS2:
_global.loadNewMovie("someMovie")
Это прям на скорую руку, если.

В общем, поменяйте немного устройство. Я так понимаю, что вы из загружаемого ролика пытаетесь управлять основным, перекидывать его на нужный кадр, загружать в клип основного ролика что-то.

А поменять следовало бы на то, что вы не контролируете основной (родительский ролик), а, скорее, просите его, мол, "давай теперь покажем то-то".

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

Передаете, к примеру, в этот метод "work", внутри метода определяется, на какой кадр основной временной шкалы основного ролика нужно перейти, что загрузить.

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

Вы, кстати, не преподавателем работаете?
__________________
hauts.ru


Последний раз редактировалось Hauts; 26.11.2013 в 10:09.
Старый 27.11.2013, 21:05
ArtDenis вне форума Посмотреть профиль Отправить личное сообщение для ArtDenis Найти все сообщения от ArtDenis
  № 7  
Ответить с цитированием
ArtDenis

Регистрация: May 2012
Сообщений: 12
Hauts, огромное Вам спасибо) Направили в нужное русло, причем понятным языком)
Функции должны знать все)
Я не работаю преподавателем, я студент, недавно устроился на работу, пишем такие учебники, как на скрине, для школьников)

Может кому-нибудь пригодится расписанное решение:
1. На основном (main) ролике в первом слое "actions" создал две функции, они ничего не возвращают:
Код AS1/AS2:
_global.loadNewMovieWork = function(src){
 	_root.gotoAndStop("work");
	_root.emty_mc.unloadMovie();
	_root.emty_mc._x = 85;
	_root.emty_mc._y = 100;
	_root.emty_mc.loadMovie(src);
	_root.emty_mc._lockroot = true;
}
 
_global.loadNewMovieDemo = function(src){
	_root.gotoAndStop("demo");
	_root.emty_mc_demo.unloadMovie();
	_root.emty_mc_demo._x = 127;
	_root.emty_mc_demo._y = 97;
	_root.emty_mc_demo._width = 900;
	_root.emty_mc_demo._height = 500;
	_root.emty_mc_demo.loadMovie(src);
	_root.emty_mc_demo._lockroot = true;
}
2. А теперь для кнопок, причем не важно где они находятся, там где надо загрузить файл в "work" вызываем функцию loadNewMovieWork:
Код AS1/AS2:
on(release){
_global.perem =	"content/Россия.swf";
_global.loadNewMovieWork(perem);
}
А там где в "demo":
Код AS1/AS2:
on(release){
_global.perem =	"content/scrolling_movie_clip.swf";
_global.loadNewMovieDemo(perem);
}
Еще раз, огромное спасибо за помощь))))

Старый 28.11.2013, 09:16
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 8  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Ну.. это не совсем то, но если работает, то и ок. Тут уж не до правильности, как я понимаю.

Добавлено через 51 минуту
Цитата:
Я не работаю преподавателем, я студент, недавно устроился на работу, пишем такие учебники, как на скрине, для школьников)
Мне, честно говоря, немного жаль школьников. Вам бы толкового дизайнера с неплохим знанием ас найти, вот тогда было бы лучше намного. Ну или просто толкового дизайнера, запрогать такой примитив всегда можно.
__________________
hauts.ru

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

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
_global - это как глас вопиющего в пустыне.
Когда ничего не помогает, и непонятно как быть?

Код поработает немножко и перестанет. Все не так сделано.
Рекомендую призадуматься сразу, а не когда уже будет написано неск тысяч строк кода....
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 28.11.2013, 15:39
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 10  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,112
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
dark256, да, _global как взлетный режим при плоском штопоре в секундной высоте над землей.
__________________
hauts.ru

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

Теги
flash книга , loadmovie , кадры , метки
Опции темы
Опции просмотра

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

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


 


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


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