Flash AS3中的全局变量

Flash AS3中的全局变量,flash,actionscript-3,Flash,Actionscript 3,好的,我希望能够从Flash文件中的任何地方访问某些变量,或者从该Flash文件加载的Flash文件中访问某些变量。我该怎么做?我不知道什么是类,我不想知道什么是类,我不想导入任何东西,我只想能够从任何地方初始化和访问某些变量 谢谢:)好吧,没有比as2更全局的了——因为你不想使用类,所以不能使用静态变量(如果你感兴趣的话,我可以解释这些)。因此,您只需要在根上使用变量。例如,您可以在主时间线上定义一个变量,如下所示: var myGlobal:Number = 100; 如果您想在其他地方访

好的,我希望能够从Flash文件中的任何地方访问某些变量,或者从该Flash文件加载的Flash文件中访问某些变量。我该怎么做?我不知道什么是类,我不想知道什么是类,我不想导入任何东西,我只想能够从任何地方初始化和访问某些变量


谢谢:)

好吧,没有比as2更全局的了——因为你不想使用类,所以不能使用静态变量(如果你感兴趣的话,我可以解释这些)。因此,您只需要在根上使用变量。例如,您可以在主时间线上定义一个变量,如下所示:

var myGlobal:Number = 100;
如果您想在其他地方访问它。。。也就是说,在其他电影的时间表上,你需要说:

MovieClip(root).myGlobal;
如果你以前没见过的话,这可能看起来很荒谬。基本上,我们是将根投射到movieClip,以使我们能够访问它的动态属性。幸运的是,您可以设置它,这样您就不必一直编写MovieClip(root):

// do this on any movieClip where you want to access globals
var global:MovieClip = MovieClip(root);

trace(global.myGlobal);
因此,最终只需要一行额外的代码就可以让功能恢复到AS2中的状态

编辑

  • 转到主时间线并将其添加到您的操作中:var myGlobal:Number=100
  • 制作一部新电影,确保它在舞台上
  • 进入新的movieClip并将其添加到您的操作中:

    var全局:MovieClip=MovieClip(根); trace(global.myGlobal)

  • 测试你的电影


  • 好的,没有像as2中那样的_global了——因为您不想使用类,所以不能使用静态变量(如果您感兴趣,我可以解释这些)。因此,您只需要在根上使用变量。例如,您可以在主时间线上定义一个变量,如下所示:

    var myGlobal:Number = 100;
    
    如果您想在其他地方访问它。。。也就是说,在其他电影的时间表上,你需要说:

    MovieClip(root).myGlobal;
    
    如果你以前没见过的话,这可能看起来很荒谬。基本上,我们是将根投射到movieClip,以使我们能够访问它的动态属性。幸运的是,您可以设置它,这样您就不必一直编写MovieClip(root):

    // do this on any movieClip where you want to access globals
    var global:MovieClip = MovieClip(root);
    
    trace(global.myGlobal);
    
    因此,最终只需要一行额外的代码就可以让功能恢复到AS2中的状态

    编辑

  • 转到主时间线并将其添加到您的操作中:var myGlobal:Number=100
  • 制作一部新电影,确保它在舞台上
  • 进入新的movieClip并将其添加到您的操作中:

    var全局:MovieClip=MovieClip(根); trace(global.myGlobal)

  • 测试你的电影


  • 对不起,我一点也不明白。我要回到AS2,在那里我可以做任何事情。如果你告诉我你不懂什么,我可以试着解释。我将添加一个编辑,可能会把事情弄清楚。我不明白什么是“在任何电影唇上做这个”,如果我必须在一百部电影唇上做任何事情怎么办?基本上,页面上的每个按钮和每个项目都是一个movieClip,它们中的大多数都需要访问某些全局可验证文件(如使用的语言、用户首选项等),因此我不想在AS2中处理它,因为它可以正常工作。好吧,基本上是一样的。您可以通过使用MovieClip(root)使用完全相同的技术。您不需要在特定位置初始化语言变量的任何地方使用语言。。。它的输入稍微多了一点,但在大多数情况下,它会做与0级相同的事情。我建议将MovieClip(root)存储在一个变量中,这样更容易键入,但您不必这样做。大约需要一个月的时间来适应as3及其恼人的月份。但一旦你得到它,它是值得的。我们得到了你的书。《你好,世界》在第一章,所以你比那个投手科林·穆克早了200页。:)对不起,我一点也不明白。我要回到AS2,在那里我可以做任何事情。如果你告诉我你不懂什么,我可以试着解释。我将添加一个编辑,可能会把事情弄清楚。我不明白什么是“在任何电影唇上做这个”,如果我必须在一百部电影唇上做任何事情怎么办?基本上,页面上的每个按钮和每个项目都是一个movieClip,它们中的大多数都需要访问某些全局可验证文件(如使用的语言、用户首选项等),因此我不想在AS2中处理它,因为它可以正常工作。好吧,基本上是一样的。您可以通过使用MovieClip(root)使用完全相同的技术。您不需要在特定位置初始化语言变量的任何地方使用语言。。。它的输入稍微多了一点,但在大多数情况下,它会做与0级相同的事情。我建议将MovieClip(root)存储在一个变量中,这样更容易键入,但您不必这样做。大约需要一个月的时间来适应as3及其恼人的月份。但一旦你得到它,它是值得的。我们得到了你的书。《你好,世界》在第一章,所以你比那个投手科林·穆克早了200页。:)正如那句老话所说:“知识就是力量”。他们也说“无知就是幸福”。真相可能是在中间的某个地方。此外,由于我问的是关于Stackoverflow的问题,而不是阅读参考书,这可能意味着我现在需要一个快速的解决方案,而不是在两周内全面理解主题。正如古语所说:“知识就是力量”。他们还说“无知就是幸福”。真相可能是在中间的某个地方。另外,由于我问的是关于Stackoverflow的问题,而不是阅读参考书,这可能意味着我现在需要一个快速的解决方案,而不是在两周内全面理解主题。