我在fla的文档类(variables
)中声明了一些main.as
。我希望我的所有程序variables
都可以访问这些classes
。
深入细节:
main.as
- 类声明了一些公开variables
。然后它继续添加名为scene
的MovieClip实例,该实例基本上用作我程序内容的其余部分的容器。最后,它在children
内添加了一些scene
。这些children
课程从这里开始接管。
所以层次结构基本上是这样的:stage
=> scene
=> children
。
应用程序本身:
当您打开该程序时,您会看到一个迷你游戏列表。一旦你选择了迷你游戏,就会添加child
的迷你游戏,即child
里面scene
。
无论您选择哪种迷你游戏,都会有一个scoreboard
系统来确定您的积分,即variables
。
每个迷你游戏都会以自己的方式操纵这些点和scoreboard
条件。这些条件和点(variables
)仅在main.as
中声明。
所有帮助表示赞赏!
答案 0 :(得分:3)
通常对此问题通常有益的解决方案是:如果对象需要某些内容,则会将此内容作为参数传递给它。
每个迷你游戏都会以自己的方式操纵这些点和
variables
条件。这些条件和点(main.as
)仅在int
中声明。
您的积分不应该是var points:int = 0;
之类的基本变量,例如:
Score
这些问题是你不能通过引用传递它们。这意味着你无法将它们传递给游戏。如果这样做,则会创建一个副本,游戏只会修改其副本。
相反,你应该为你的积分创建一个类,我们称之为package
{
public class Score
{
private var _points:int;
public function Score ()
{
_points = 0;
}
public function get points():int
{
return _points;
}
public function set points(value:int)
{
_points = value;
}
}
}
。
Score
然后在main.as
中实例化var score:Score = new Score();
对象:
var game:Game1 = new Game1(score);
创建游戏时,将该对象传递给每个游戏,例如:
Score
现在每个游戏都知道score.points += 5;
对象,它可以操纵该对象。例如,每个游戏可以通过对其通过构造函数接收的对象的引用来执行以下操作:
Score
scoreboard
类代表main.as
系统。
json_encode
答案 1 :(得分:0)
另一个选项(假设有利的答案)是使用静态关键字
静态 变量或函数随时可用,无需定义任何该类的实例定义于。
请注意,静态函数本身只接受静态变量。
现在例如,如果您在Main
类
public static var myGlobalVariable:*;
要获得对myGlobalVariable
的访问权限,只需在以下任意位置使用:
Main.myGlobalVariable;