我將一個大文件分隔成多個文件以清除它,現在我遇到了問題。使用另一個類的變量as3
我有我的main.as,character.as,camera.as。
我想要做的是從另一個類中訪問一個變量,然後在該類上設置一個變量。我會告訴你我的意思。
從我的main.as im加載每個類,並將它們添加爲孩子,以便它顯示在屏幕上。
public function buildGame()
{
var loadMap:Sprite = new nf_MapBuilder();
var xChar:Sprite = new nf_Character();
var xCam:Sprite = new nf_Camera();
var UserControl:nf_UserControl = new nf_UserControl();
addChild(loadMap);
addChild(xChar);
addChild(xCam);
addChild(UserControl);
}
一切都顯示在屏幕上,就像它需要的一樣。然後它轉到我的角色上。:
package as3
{
import flash.display.Sprite;
import flash.events.Event;
public class nf_Character extends Sprite
{
public var character_pos:Array = new Array();
public var character_is_moving:Boolean = false;
public var character_x_dir:int = 0;
public var character_y_dir:int = 0;
public var character:hero = new hero();
public function nf_Character()
{
addEventListener(Event.ADDED_TO_STAGE,xCharLoad);
}
public function xCharLoad(e:Event)
{
character_pos = [2,2];
character.x=64*(character_pos[1]);
character.y=64*(character_pos[0]);
addChild(character);
}
}
}
存在問題。我需要使用這些變量i設置有在我的character.as在我camera.as使用它:
package as3
{
import flash.display.Sprite;
import flash.events.Event;
import flash.geom.Rectangle;
import flash.display.StageScaleMode;
import as3.nf_Character;
public class nf_Camera extends Sprite
{
private var xChar:nf_Character = new nf_Character();
//Camera variables
var stageW2:Number;
var stageH2:Number;
var view:Rectangle;
public function nf_Camera()
{
addEventListener(Event.ADDED_TO_STAGE,xCamGo);
}
public function xCamGo(e:Event):void
{
trace("Camera pos - " + xChar.x + " " + xChar.character.y);
view = new Rectangle(0,0,stage.stageWidth,stage.stageHeight)
stageW2 = stage.stageWidth/2 - 32;
stageH2 = stage.stageHeight/2 - 32;
addEventListener(Event.ENTER_FRAME,CamView);
}
public function CamView(e:Event):void
{
view.x = xChar.character.x - stageW2;
view.y = xChar.character.y - stageH2;
scrollRect = view;
}
}
}
當這一切都在一個大文件也沒關係,我只是必須設置在變並通過每個功能來處理它,但現在我有點困惑。任何人都看到我可以做到這一點?
哇,工作!我現在可以移動,所有的東西都會從我的main中調用,比如net.uk建議的。我也用你的方法bwroga來傳遞我的變量。這是我認爲看起來更清晰的好方法。我仍然不能移動相機,但生病讓它現在工作,現在我可以走動:P – Aenil 2013-05-05 01:40:37
它也修復了很多事實上,我有一個跟蹤在我的相機發生,並看到跟蹤4時間行走可能導致它是用所有這種意大利麪實例化了許多時間。有了這個,我只能看到它一次,就像它被認爲是一樣!無論如何,我很開心! :P – Aenil 2013-05-05 01:45:20