PDA

Просмотр полной версии : Не видать переменной


gflirt
25.07.2010, 18:37
Создал переменную в файле main.as
public var i:int;
Из стейджа ее видно, а когда создаю мувиклип к примеру "start" , то уже не могу ее обнаружить (код пишу в одном из кадров мувиклипа)
Что нужно импортировать или вообще как быть, если код должен быть именно в кадре мувиклипа.

КорДум
25.07.2010, 18:44
Ее следует сделать статичной, обращаться ГлавныйКласс.i
Также следует не писать в кадрах и забыть уже as1, от этого только проблемы.

Хемуль
25.07.2010, 18:57
2 gflirt:
Допустим, у вас есть флешка с Document Class'ом в файле Main.as и вам нужно создать на сцене какой-то обьект и получить доступ к свойству класса Main...

Main.as:

package
{
import flash.display.Sprite;
import SomeSprite;

public class Main extends Sprite
{
public var i:int;

public function Main()
{
super();
i = 1;
var someSprite:SomeSprite = new SomeSprite();
addChild(someSprite);
}
}
}


SomeSprite.as:

package
{
import flash.display.Sprite;
import flash.events.Event;
import Main;

public class SomeSprite extends Sprite
{
public function SomeSprite()
{
super();
addEventListener(Event.ADDED_TO_STAGE, addedToStage);
}

private function addedToStage(event:Event):void
{
removeEventListener(Event.ADDED_TO_STAGE, addedToStage);
trace((root as Main).i);
}
}
}


В кадрах точно так же можно:
(root as Main).i

gflirt
25.07.2010, 19:08
спасибо большое