Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Error #2012: Obj_mc class cannot be instantiated. (http://www.flasher.ru/forum/showthread.php?t=90812)

Nirth 19.01.2007 19:43

У тебя есть свф, с классом MyLoadee (мувик который будет загружатся, если не понятно из названия ;)

Код:

package display
{
    public class MyLoadee
    {
        public function MyLoadee()
        {
        }
    }

Я оставил его пустым, ты сам знаешь какие там должны быть методы.

Теперь в swf в который ты загружаешь у тебя есть класс MovieWrapper - оболочка. предположим, тебе нужна функция которая возвращает площадь мувика (ширина*высота)

Код:

package display
{
    public class MovieWrapper
    {
          private var _managed:DisplayObject;
          //это функционал
          public function get area():Number
          {
              return managed.width*managed.height;
          }
         
          //это метод который обволакливает
          public function wrap(managed:DisplayObject):DisplayObject
          {
              if(managed.parent != null)
              {
                managed.parent.removeChild(managed);
              }
              _managed = managed;
              addChild(managed);
              return managed;
        }
    }
}

кроме этих методов, те делегируешь и другие методы в управляемый класс

например, если тебе нужно добавлять туда мувики, можно написать в MovieWrapper:

Код:

override public function addChild(do:DisplayObject):DisplayObject
{
    return _managed.addChild(do);
}

и тд и тп.

аналогично, когда менеджер это поле загруженого мувика, просто там наоборот.

farmonol 19.01.2007 20:18

Ты имеешь ввиду сделать еще один класс extends от Sprite, добавить в него свои методы и на него addChild мувиклипа? А потом уже объект этого класса addChild на stage?

Nirth 19.01.2007 20:23

именно

farmonol 19.01.2007 21:52

спасибо Nirth, всё понял


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

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