我是actionscript 3.0的新手,我在尝试将创建并在第1帧中设置的变量传递给第4帧中添加到舞台的动态文本框时遇到了困难.
在第1帧,变量是根据用户输入的信息设置的:var input_dia =""; input_dia = pdia_input.text;
并应显示在第4帧的动态文本框中:dia_alert.text = input_dia;
我收到以下错误:1120:访问未定义的属性input_dia.
你必须想象 - 不同的场景很像单独的电影,闪光灯在它们之间分享有困难.
正确的方法 - 开始使用AS3的OOP(面向对象编程).您需要创建一个称为文档类的东西.这是有效的代码,永远存在于幕后(没有双关语).您可以在此课程中存储内容,并在以后随时阅读.
它比听起来更容易,一旦设置 - 它将允许您开始从时间线上移动代码.
首先创建一个名为"DocumentClass.as"的文件.这实际上可以被称为任何东西,但是调用它是非常好的做法.
将此文件保存在与您正在使用的FLA相同的位置 - 相同的文件夹.
在CS3 - 在在屏幕底部的属性面板 - 当你有选择的阶段都会有一个小盒子让你键入文档类的名称进去.输入你刚才提出"的DocumentClass"*的文件名,不带".至于分机 - 如果你不能确定它在哪里,你需要输入点击链接.
http://curtismorley.com/wp-content/uploads/2007/07/documentclasspath_bad.JPG
请注意capitlization - 这是一个很好的做法
在Flash中打开此文件并编写以下代码.正如我写的那样
DocumentClass.as
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... } } }
你可以写我对你所有的废话里面看到我有一个变量,名为MYNAME - 您可以创建你想要的 - myAge ... textToBeInAllScenes ... girlfriendsWeightToday ......然后打电话什么.
类是在需要时在内存中创建的代码块.DocumentClass就是这样 - 但它一直存在于应用程序的整个生命周期中.
一包 -是"把这个东西在一个盒子"只是看中AS3说话-它可以得到更高级的,但多数民众赞成在JIST.
一流的DocumentClass扩展影片剪辑 -你告诉闪光"我的类被称为的DocumentClass" -这延长一些所谓的电影剪辑.
MovieClip是一个类,与你的完全一样 - 但是为你而生,并且生活在flash中.这包含许多使动画工作的代码.你的Flash场景本身只是这个MovieClip的可见版本.
你必须扩展这个类,因为你非常希望[以一种假的方式]复制粘贴所有已完成的代码并在DocumentClass中使用它.您现在正在扩展MovieClip,通过这样做,您的代码将堆积在已有的东西之上.
public function DocumentClass() - 是的,这是一个函数.但它被称为"构造".它是一种特殊类型的功能,存在于一个类中.首先它具有相同的名称.这使Flash可以很容易地找到它.它的特殊工作是在flash中创建这个类时立即自动运行它的代码.全自动看...
public var
我补充说,对你来说重要的部分是.这是一个可以存储您信息的存储桶.
该公共部分讲述闪,什么都可以看出来,如果他们想,场景,其他类......人们在大街上-什么!
:变量(或桶)名称后面的:字符串,它告诉flash将在var中存储哪种类型的信息.这不是重要的应用程序 - 但对于良好的OOP代码 - 这样做.(谷歌AS3变量铸造)
有很多var类型,String,Number,int,Boolean等等...大约7个基本类型.
我认为这足以解决StackOverflow的问题 - 它会起作用 -
警告大多数错误都是你的拼写错误... Flash不喜欢拼写错误.
请享用!