возникла скользкая проблема. Дабы не выкладывать весь код представлю схематично основные моменты.
Есть исполняемый класс
A (по имени .fla файла) в безымянном пакете и в той же директориию
В этом классе создается экземпляр класа
B и
С (AS-файлы находится в отдельной папке уровнем ниже и принадлежат одному пакету). У класса
B есть свойство
bb (класса МувиКлип).
На новом кадре скрипт должен вызывать функцию, которая (при определенном положении курсора мыши относительно стола) должна двигать мувиклип внутри экземпляра класса
B .
Но вместо этого (по адресу C.AS, line *) я вижу ошибку 1120 сразу на два слова. Т.е. неизвестное значение на stage и на
b (экземпляр класса
B, созданный в исполняемом классе
A)
Это точно не из-за
import ...;. Импортировал в класс
С все "родные" классы. Не помогло ни для одного, ни для другого.
Выглядит примерно так:

Код AS3:
package
{
import uti.*;
...
public class A
{
public var b:B;
public var c:C;
public function A
{
b = new B;
addChild(b)
c = new C;
addEventListener(Event.ENTER_FRAME, c.eventFrame)
}
}
}
package uti
{
import ...;
...
public class B
{
public var bb:MovieClip;
public function B
{
...
bb.x = 0;
bb.y = 0;
addChild(bb);
}
}
}
package uti
{
import ...;
...
public class C
{
public var mover:Number = 5;
public function C
{
}
public function eventFrame():void
{
if (stage.mouseX >= 520 && stage.mouseY >= 370)
{
b.bb.x -= mover;
b.bb.y -= mover;
}
}
}
}
с другой стороны. В обычном таймлайне прекрасно работает такой код и выполняет нужную операцию:

Код AS3:
var bb:Kvadrat = new Kvadrat();
bb.x = 300;
bb.y = 200;
addChild(Map);
addEventListener(Event.ENTER_FRAME, mover);
function mover(e:Event):void
{
if (stage.mouseX >= 520&&stage.mouseY >= 370)
{
bb.x += 1;
bb.y += 1;
}
}