Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Внедрение SWF (http://www.flasher.ru/forum/showthread.php?t=184846)

Error202 28.09.2012 11:15

Внедрение SWF
 
Вложений: 1
Есть скрипт AS
Код AS1/AS2:

package {
  import flash.display.*;
  import flash.events.*;
  import flash.geom.*;
  [SWF(backgroundColor="0xFFFFFF" , width="613" , height="800")]
 
  public class p1 extends Sprite {
      [Embed(source="C:/Users/Orion/Documents/p7/Temp/SWFS/p1.swf")]
      private var SWFpage:Class;
      [Embed(source="C:/Users/Orion/Documents/p7/Temp/PDFS/p1.swf")]
      private var SWFlink:Class;
 
      public function p1() {
          var Rect:Shape = new Shape();
          Rect.graphics.beginFill(0xFFFFFF, 1);
          Rect.graphics.lineStyle(2, 0xFFFFFF);
          Rect.graphics.drawRect(1, 1, 611, 798);
          Rect.graphics.endFill();
          addChild(Rect);
 
          var pp:MovieClip = new SWFpage();
          addChild(pp);
          pp.width = parent.width;
          pp.height = parent.height;
 
          var ll:MovieClip = new SWFlink();
          addChild(ll);
}}}

pp - нестандартная по размеру, приводится к нужному 613х800
ll - уже нужного размера

В теории должна получится SFW 613х800, где фон - pp и наложенный на него ll
Компилирую с помощью mxmlc.exe (Flash SDK)

В результате получается свф с фоном, а ll не накладывается поверх... Почему?


P.S.
Если компилировать через Flash, то вылетает ошибка при запуске уже готовой флешки:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at p1()

P.P.S.
Содержимое ll (исходник), вложил

i.o. 28.09.2012 12:06

Код AS3:

      [Embed(source="C:/Users/Orion/Documents/p7/Temp/SWFS/p1.swf")]
      private var SWFpage:Class;
      [Embed(source="C:/Users/Orion/Documents/p7/Temp/PDFS/p1.swf")]
      private var SWFlink:Class;

Эти файлы точно разные?

Error202 28.09.2012 14:02

Да...

NikolyA 28.09.2012 17:12

Цитата:

C:/Users/Orion/Documents/p7/Temp/SWFS/p1.swf
зачем такие пути использовать?

maxkar 28.09.2012 17:25

Во-первых, поставьте debug player. Он вам строчку скажет, в какой ошибка. Это проще, чем руками все искать.
Во-вторых, в 23-24 строках у вас parent == null. Поэтому там конструктор падает. Странно, правда, что объект все равно используется. Видимо, это особенность такая у document class.

Error202 28.09.2012 19:32

NikolyA, Это для наглядности... Мне так удобнее тестировать
maxkar, включал... Компилируется без ошибок, все ок...
ххх= parent.ххххх; заменял на реальный размер, все равно тот же результат...

Может быть особенность какая во вкладываемых SWF? Т.к. точно такой же код без проблем сливает 2 другие SWF...

caseyryan 28.09.2012 19:41

Цитата:

NikolyA, Это для наглядности... Мне так удобнее тестировать
Как это может быть удобно? Гораздо правильнее использовать относительные пути. Иначе этот проект привязан не просто к операционке, а еще и к конкретному пользователю. Стоит что-то из этого поменять, как весь проект ляжет. Очень плохая практика.

Error202 28.09.2012 20:08

Этот путь генерится, как и весь скрипт программой... Потом автоматом компилится...

Прошу прощения за беспокойство...
Недоглядел...

Тут у меня основной класс p1 и в одном из вкладываемых мувиков тоже... Исправил, все работает!

Спасибо большое за помощь!

iliacmd 03.10.2012 09:38

народ подскажите, почему если встраивать флэшку с помощью [Embed...] то операторы stop в кадрах встраиваемой флэшки не срабатывают?

и еще может кто сталкивался с такой ситуацией?

http://www.flasher.ru/forum/showthread.php?t=184862


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

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