我希望在游戏的底角有一个分数。我创建了一个名为Score
的新图层,拖出了一个文本区域,将其转换为符号并将其命名为Score
。然后我将其实例名称设置为Score
。
我的Flash游戏的主要类别称为Main.as
。但是,我似乎无法访问我在代码中创建的Score
文本区域。我收到这个错误:
1046:未找到类型或不是编译时常量:得分。
我错过了什么?如何更新代码中的文本区域文本?
编辑:忘记提及我在将其转换为符号时单击“导出为ActionScript”框。如果重要的话,它就是MovieClip类型。
答案 0 :(得分:2)
导出ActionScript 3的符号时,Flash会为其创建一个具有给定名称的类(与您在类定义和实例中使用的名称相同)。
_mc
e.g。在您的情况下,您应该使用Score
作为类,并将实例命名为score_mc
(或仅使用小写S命名score
。
答案 1 :(得分:0)
图层名称没有区别。您需要设置动态文本字段的实例名称,而不是包含它的剪辑。也无需将其转换为MovieClip。在舞台上创建文本字段,确保它不是静态的,为其指定可用于访问它的实例名称。
示例,我将文本字段命名为scoreText_txt
//inside main.as
scoreText_txt.text="new text";
如果要将文本归档到MovieClip中,则需要为剪辑和文本字段指定名称。然后,您将使用。
访问它MyMovieClip.MyText.text="new text"
答案 2 :(得分:0)
除非您打算为文本字段创建其他逻辑(因为它将拥有自己的类)或者想要动态地将其添加到舞台(通过addChild()
),否则不要导出ActionScript。
如果实例名称为Score
,请执行以下操作:
Score.text = "822";
我建议使用小写实例名称来区分用于类的CamelCase。以上内容会向更有经验的开发人员宣读更新班级static
中的text
属性Score
。