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

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

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

Регистрация: Jan 2007
Сообщений: 302
Post Не получается при загрузке поставить ролик на stage

Есть 3 кнопки. По нажатию на каждую грузится видео.
Мне нужно, чтоб при загрузке ролика сразу грузилось первое видео, тоисть при нажатии на певую кнопку

Вот главная функция
Код AS3:
 public function Main() {
 
  if(stage) init();
  else addEventListener(Event.ADDED_TO_STAGE, init);
 
  v.addEventListener(Event.COMPLETE, onVideoLoad); // подписываемся на созданное событие загрузки
  v.loadMoviesXML("Mov.xml");
  v.loadMovie(v.loaded[0]);
 }
Вот код кнопок
Код AS3:
 private function click(event : MouseEvent) : void { 
 
  switch (event.target) {
 
   case btn1: {
    trace("1->>>>" + v.loaded[0]);
    v.loadMovie(v.loaded[0]);
    } break;
 
   case btn2:
    v.loadMovie(v.loaded[1]);
    trace("2->>>>" + v.loaded[1]);
    break;
 
   case btn3:
    v.loadMovie(v.loaded[2]);
    trace("3->>>>" + v.loaded[2]);
    break;
  }
 } 
}
в функцию просто добавил такой код, как и по нажатию на кнопку, почему не срабатывает? Спасибо.

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

Регистрация: Oct 2008
Сообщений: 28
А покажите, пожалуйста, этот самый код, который добавили в функцию?

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

Регистрация: Jan 2007
Сообщений: 302
вот
Код AS3:
v.loadMovie(v.loaded[0]);
просто добавил код который грузит ролик при нажатии 1 кнопки.

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

Регистрация: Oct 2008
Сообщений: 28
скорее всего загвоздка в том, что stage еще нет при при срабатывании этого кода. попробуйте перенести этот код в функцию init, которая запускается при stage==true

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

Регистрация: Jan 2007
Сообщений: 302
та же ошибка,

Код AS3:
11->>>>undefined
Load new movie:  null
TypeError: Error #2007: Параметр url не должен быть равен нулю.
	at flash.display::Loader/_load()
	at flash.display::Loader/load()
	at VideoLoader/loadMovie()
	at Main/init()
	at Main()
вот не пойму, почему при клике на кнопку идет, а само по себе не хочет..

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
У вас XML в этот момент еще не загрузился. Дождитесь пока список загрузится.

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

Регистрация: Jan 2007
Сообщений: 302
Понятн, а куда мне тогда этот кусочек кода поставить,
Код AS3:
v.loadMovie(v.loaded[0]);
чтоб грузился ролик сразу при загрузке?

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Судя по-всему в onVideoLoad, хотя не понятно что из себя представляет этот самый "v".

Старый 25.12.2009, 12:14
Killer_13 вне форума Посмотреть профиль Отправить личное сообщение для Killer_13 Найти все сообщения от Killer_13
  № 9  
Ответить с цитированием
Killer_13
 
Аватар для Killer_13

Регистрация: Jan 2007
Сообщений: 302
Ставил в onVideoLoad - ничего не получается.
v экземпляр класса VideoLoader вот код

Код AS3:
package {
import flash.display.Sprite;
import flash.display.Loader; 
import flash.display.LoaderInfo; 
import flash.net.URLLoader; 
import flash.net.URLRequest; 
import flash.events.Event;
import flash.text.*;
 
public class VideoLoader extends Sprite {
 
private var loadStatus : TextField = new TextField();
public var loaded : Array = [];
public var loader : Loader = new Loader();
 
public function VideoLoader() {
 trace("11->>>>" + loaded[0]);
 addChild(loader);
 loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onMovieLoaded);
}
 
private function onMovieLoaded(e : Event) : void {
 //loaded.push((e.currentTarget as LoaderInfo).content.parent);  // parent для AVM1
 trace('Movie Loaded #', loaded.length, (e.currentTarget as LoaderInfo).content);
 dispatchEvent(new Event(Event.COMPLETE)); // создаем событие на загрузку
}
 
public function loadMovie(url : String) : void {
 trace('Load new movie: ', url);
 
 loader.load(new URLRequest(url));
}
 
public function loadMoviesXML(xmlUrl : String) : void {
 trace('Load XML', xmlUrl);
 var loader : URLLoader = new URLLoader();
 loader.addEventListener(Event.COMPLETE, onMoviesXMLLoad);
 loader.load(new URLRequest(xmlUrl));
}
 
private function onMoviesXMLLoad(e : Event) : void {
 trace('XML loaded');
 var xmlData : XML = new XML((e.target as URLLoader).data);
 var movies : XMLList = xmlData..datname;
 for (var i : int = 0;i < movies.length();i++) {
          loaded.push(movies[i].toString());
 }
// loadMovie(this.loaded[0]); // новая строка
}
}
}

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

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
onMovieLoaded срабатывает когда загружено видео (по событию Event.COMPLETE). Т.е. что бы вызвался этот метод, предварительно надо вызвать loadMovie. Если тебе надо автоматом загрузить видео (с событиями ты судя по всему не дружишь) раскомментируй строку // loadMovie(this.loaded[0]); // новая строка в onMoviesXMLLoad.

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

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

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


 


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


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