Actionscript 3 此[字符串]可以';不能添加到电影剪辑中
假设我有一个叫做“盒子”的电影唇,“字符串”实际上是“盒子”,只是它不是电影唇 我现在面临的问题是我不能使用circle.addChild(这个[String])之类的东西 我尝试跟踪这个[Strin]==框,结果返回true。 当我删除circle.addChild(这个[String])时,它不会将框添加到其中。 但是,当我追踪是否有任何新对象添加到圆中时,数量仍然保持不变Actionscript 3 此[字符串]可以';不能添加到电影剪辑中,actionscript-3,string,addchild,Actionscript 3,String,Addchild,假设我有一个叫做“盒子”的电影唇,“字符串”实际上是“盒子”,只是它不是电影唇 我现在面临的问题是我不能使用circle.addChild(这个[String])之类的东西 我尝试跟踪这个[Strin]==框,结果返回true。 当我删除circle.addChild(这个[String])时,它不会将框添加到其中。 但是,当我追踪是否有任何新对象添加到圆中时,数量仍然保持不变 你知道这里的问题是什么吗?如果我理解你的意思,你是在另一个MovieClip调用框中添加一个MovieClip名为(实
你知道这里的问题是什么吗?如果我理解你的意思,你是在另一个
MovieClip
调用框中添加一个MovieClip
名为(实例名为)的字符串,对吗
嗯,您不能为对象指定名称字符串,因为String
是ActionScript 3.0中的类名您不能使用任何类名或受保护关键字命名任何对象,例如
if
,for
,class
,Boolean
。这些是ActionsScript在全球范围内使用的词(它们是顶级关键字) 另外,请注意,尽管您可以命名对象(给它一个实例名)
MovieClip
、Sprite
、Loader
、Stage
等等,但ActionScript将所有这些名称作为类名,在包内,可以导入到动画/应用程序中,Flash将自动为您导入几乎每一个文件。如果你用这些词来命名你的对象,你会有一些风险,比如代码不能正常工作或者根本无法编译 正如@Bosworth99和@merv所指出的那样,您还可以注意到ActionScript使用的命名约定,大写字母和小写字母 类(按照惯例)是用大写字母(第一个字母大写)编写的,这表示名称是类名。
通常,对象是用小写字母(第一个字母较低,每个新合成的单词都用大写字母)书写的,这表明单词是一个对象名(或另一个关键字,可能已经被保留)。您的语法有点奇怪-您说您有一个名为“Box”的MC。您是在FlashIDE中创建的,还是通过编程创建的?无论哪种方式-您似乎在引用类,而不是类(对象)的实例。尝试: 和-正如大家普遍同意的做法,类名大写,实例名小写。我也喜欢在private vars前面加下划线 NemoStein是绝对正确的-保留关键字每次都会损坏您的代码
祝你好运你已经正确地识别了黄的问题,但我认为你应该更准确地区分顶级类(如String)和Flash库类(如MovieClip)。从技术上讲,后者不受限制,只要不包括它们的库。此外,您可能希望指出AS3中用于对象的lowerCamelCase约定。
var _circle:MovieClip;
var _box:Sprite;
private function createDisplayObjects():void
{
_circle = new MovieClip();
this.addChild(_circle);
_box = new Sprite();
_circle.addChild(_box);
}