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

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

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

Регистрация: Aug 2007
Сообщений: 28
По умолчанию ExternalInterface - Ошибка в Help'e к Flash 8?

Вызов из Флеш внешних функций и вызов функций Флеша извне.

1. Макромедия предоставила готовые файлы примера работы ExternalInterface.
2. Файлы примера находятся в каталоге: Program Files\MacroMedia\Flash 8\Samples and Tutorials\Samples\ActionScript\ExternalAPI\
3. Пример не работает.
4. Ошибка в коде примера, глюк AS, JS или .... ?
5. Линки, правда, у себя изменил на локальные.
6. Например, в локалке, если "коротнуть" в AS Флеша метод playVideo(sobaka.flv), то работает, т.е. видео организовано и боеготово.
7. Чего только не лопатил и HTML и JS...
8. Узнать бы, где "собака порылась".
9. Для тех, кто не хочет открывать папку с примером:

Флеш ролик состоит из 2-х слоёв:
В 1-м содержится только AS.
Во 2-м находится объект типа Video (ActionScript-controlled) с именем-идентификатором "selectedVid".

Можно загрузить исходник примера от макромедии


Последний раз редактировалось Vitowd; 18.08.2007 в 09:45.
Старый 12.08.2007, 09:06
screamge вне форума Посмотреть профиль Отправить личное сообщение для screamge Посетить домашнюю страницу screamge Найти все сообщения от screamge
  № 2  
Ответить с цитированием
screamge
Ветеран форума
 
Аватар для screamge

Регистрация: Jul 2006
Адрес: Грузия, Тбилиси
Сообщений: 2,675
Что значит пример не работает? Флеш вызывает метода JS, из HTML'a вызываются метода во флеш, что там не работает?

З.Ы. Оформите код, а то придут модераторы ругаться будут
__________________
Free-lance | Twitter | Me

Старый 12.08.2007, 12:29
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Vitowd, отредактируйте свой пост и оформите код тегами [code][/code]. А лучше такую простыню прикреплять в виде архива с html и fla, дабы не заставлять форумчан собирать исходник для теста.

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

Регистрация: Aug 2007
Сообщений: 28
По умолчанию Пояснения.

1.Уважаемому screamge.
Не работает - означает, что не загружается внешниее видео во флеш, как подразумевелось авторами примера т.е. Macromedia inc. Поскольку, как я предполагаю, не происходит(не выполняется или не доходит до "адресата") обращения JS к AS.

2. Уважаемому __etc:
2.1. Я впервые здесь. Что видно из раздела форума. Спасибо за замечания! Учту, постараюсь отредактировать и разобраться в вопросах оформления.
2.2 Собирать исходник для теста нет необходимости, поскольку он стандартный Sample в стандартной поставке Flash 8. Место, Где находятся ВСЕ готовые к употреблению файлы я указал в п.2 своего вопроса-обращения. Для тех, у кого не установлен Flash 8 подготовлю архив.

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

Регистрация: Aug 2007
Сообщений: 28
По умолчанию Уточнение.

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

2. В форуме на тему об "ExternalInterface" часто упоминалась не корректная работа с IE. Сама же Macromedia в файле к тесту readme.txt предупреждает, что для выполнения этого примера достаточно броузера IE5.

3. Проблема: Не устанавливается взаимосвязь между JS и AS.
3.1. Внешнее проявление - локальный FLV видеофайл во флеш не подгружается.
3.2 Не получается вызвать ни alert() в JS, ни trace() в AS.

4. Поскольку, я нашёл всего лишь один ("имхо" или по моему л. мнению, не принципиальный) изъян в коде JS. И, пока что, не вижу порочности алгоритма примера, то повторю вопрос:

Ошибка в коде примера, глюк AS, JS или .... ?

5. Сам исходник от ММ прикреплён архивом "external_sample.rar" Вложение 1. Локальный видео файл, я думаю, у каждого найдётся свой.
Вложения
Тип файла: rar external_sample.rar (6.5 Кб, 72 просмотров)

Старый 12.08.2007, 23:32
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Vitowd, что я не вижу вашего «учту». Первый пост до сих пор без оформленного кода. На этом форуме можно редактировать свои сообщения. Так что, будьте добры, оформите код. У нас с этим строго и лишние плюсы вам ни к чему.

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

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Цитата:
Сообщение от Vitowd
3.2 Не получается вызвать ни alert() в JS
Код:
import flash.external.*;
onMouseDown = function(){
ExternalInterface.call('alert', 'hello');
}
Проблема с исходником от ММ одна - он в Опере не работает, потому что опера притворяется ие. Лечится просто.
Код:
 
var OPERA = Boolean(window["opera"]);
var IE = !OPERA && navigator.appName.indexOf("Microsoft") != -1;
flashVideoPlayer = (IE) ? window['videoPlayer'] : document['videoPlayer'];
Чтобы избежать возни с нахождением флешки, можно заюзать SFWObject, тогда флешка находится универсальным document.getElementById
Ну а тот пример у меня работает во всех броузерах.

Старый 16.08.2007, 05:46
Vitowd вне форума Посмотреть профиль Отправить личное сообщение для Vitowd Найти все сообщения от Vitowd
  № 8  
Ответить с цитированием
Vitowd

Регистрация: Aug 2007
Сообщений: 28
Для уважаемого __etc:
Кажется, милостивейший государь, вы должны быть удовлетворены. Ну, хотя бы, в первом приближении. Ещё раз раз извиняюсь за моё нулевое.

Теперь по поводу Флеш:

Спасибо г-ну Kikasso!
Но у меня остаются вопросы:
1. Действительно ли загружается и видеофайл? И всё остальное также работает именно в этом наборе файлов примера?

2. Но, в JS (в исх. примере),есть шунт, который закорачивает обращения на собственную JS функцию, минуя AS. Хотя в AS специально предусмотрена для этого "videoNs.onStatus"
Код:
function callFlashPlayVideo() {
  var comboBox = document.forms['videoForm'].videos;
  var video = comboBox.options[comboBox.selectedIndex].value;
  updateStatus("____" + video + "____"); // непосредственный вызов нижеобъявленной JS функции
  flashVideoPlayer.playVideo("http://www.helpexamples.com/flash/video/" + video);
}
3. Даже замена в JS процедуре callFlashPlayVideo() вызова flashVideoPlayer.playVideo("...") на вызов с прямым обращением к объекту document.getElementById("videoPlayer").playVideo("..") ничего не дала. Т.е. видео не загружается.
3.1. В AS вставил вызов alert'a по клику мышки. как предлагали, JS Не отзывается.

4. Возможно дело в системе или в железе?
4.1 WinXP SP1 на Athlon XP 1700. Материнка с чипсетом nForce 2. Browser IE6. Всегда каталоги и имена файлов пишу только латиницей.


Последний раз редактировалось Vitowd; 16.08.2007 в 05:49.
Старый 16.08.2007, 10:45
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 9  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Мне кажется, что в html-коде не хватает параметра swLiveConnect со значением true.

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

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Вот алерт во вложении - неужели оно не работает?
Тот пример макромедийный, с учетом фикса для оперы (только я написал большими буквами, а там маленькие), работает без вопросов.
У меня был глюк в работе с видео, оно не хотело грузится командой js - убрал папку из "Рабочего Стола" и все заработало.
насчет LiveConnect - возможно, для младших версий оперы и мозиллы.
Вложения
Тип файла: rar alert.rar (4.4 Кб, 72 просмотров)

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

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

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


 


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


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