gpt4 book ai didi

actionscript-3 - 使用 ActionScript 3 在帧之间传递变量

转载 作者:行者123 更新时间:2023-12-04 22:08:23 25 4
gpt4 key购买 nike

我是 actionscript 3.0 的新手,我在尝试将在第 1 帧中创建和设置的变量传递到在第 4 帧中添加到舞台的动态文本框时遇到了困难。

在第 1 帧上,变量是根据用户输入的信息设置的:
var input_dia = "";
input_dia = pdia_input.text;

并且应该显示在第 4 帧的动态文本框中:
dia_alert.text=input_dia;

我收到以下错误:
1120:访问未定义的属性 input_dia。

最佳答案

您必须想象 - 不同的场景很像单独的电影,而 Flash 在它们之间无法共享。

正确的做法是开始使用 AS3 的 OOP(面向对象编程)。
您将需要创建一个称为文档类的东西。这是在幕后永远存在的有效代码(没有双关语)。您可以将内容存储在该类中,以后可以随时阅读。

它比听起来更容易,一旦设置 - 它将允许您开始将代码移出您的时间线。

首先创建一个名为“DocumentClass.as”的文件。这真的可以叫任何东西,但是这样称呼它是非常好的做法。

将此文件保存在与您正在使用的 FLA 相同的位置 - 相同的文件夹。

在 CS3 中 - 在屏幕底部的属性面板中 - 当您选择了舞台时,会出现一个小框,允许您在其中键入文档类的名称。输入您刚刚创建的文件名称“DocumentClass”*,不带“.as”扩展名 - 如果您不确定需要输入的位置,请单击该链接。

http://curtismorley.com/wp-content/uploads/2007/07/documentclasspath_bad.JPG

请注意大写 - 这是一个好习惯

在 Flash 中打开此文件并编写以下代码。和我写的一模一样

文档类

package {

//Call this class the SAME NAME as the file - VERY IMPORTANT
class DocumentClass extends MovieClip
{

//This is an example of a variable - a container
//of information of which is public - and can be
//seen by all the scenes in your flash movie.
public var myName:String = "Jay Jagpal";

//This is called a construct - this function automatically
//runs when this class is seen by flash.
public function DocumentClass()
{
//nothing needs to go here for you today...
}
}

}

你可以看到我为你写的所有 guff 里面我有一个名为 myName 的变量 - 你可以创建你想要的东西 - myAge... textToBeInAllScenes...friendsWeightToday... 然后调用任何东西。

进一步说明

类是需要时在内存中创建的代码块。 DocumentClass 就是这样 - 但在您的应用程序的整个生命周期中一直存在。

一个包 - 就像 3 所说的“把这些东西放在一个盒子里”一样 - 它可以变得更先进,但这就是 jist。

class DocumentClass extends MovieClip - 你告诉 flash “我的类叫做 DocumentClass” - 这扩展了一个叫做 MovieClip 的东西。

MovieClip 是一个类,与您的完全一样 - 但它是为您量身打造的,并且存在于 Flash 中。这包含许多代码来使动画工作。您的 Flash 场景本身只是此 MovieClip 事物的可见版本。

你必须扩展这个类,因为你很想[以一种虚假的方式]复制粘贴所有完成的代码并在你的文档类中使用它。您现在正在扩展 MovieClip,通过这样做,您的代码将堆积在现有内容之上。

公共(public)函数 DocumentClass() - 是的,这是一个函数。但它被称为“构造”。它是一种特殊类型的函数,存在于类中。首先它具有相同的名称。这使 Flash 可以很容易地找到它。它的特殊工作是当这个类被创建并在 flash 中看到时立即开始自动运行它的代码。全自动看...

对您来说重要的部分是 public var我补充道。这是一个可以存储信息的存储桶。

公共(public)部分告诉flash,任何想看的都可以看,场景,其他类……街上的人- 任何东西!

变量(或存储桶)名称后面的 :string,它告诉 flash 将在 var 中存储什么类型的信息。这不是应用程序破坏重要 - 但对于好的 OOP 代码 - 做到这一点。 (谷歌 AS3 变量转换)

var 类型有很多,String、Number、int、Boolean 等等……大概有 7 个基本的。

我认为这对于 StackOverflow 来说已经足够了——它会起作用——

警告 大多数错误是您的拼写错误... Flash 不喜欢拼写错误。

享受!

关于actionscript-3 - 使用 ActionScript 3 在帧之间传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4028250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com