Flash / AS3 ...设计人员如何修改以编程方式添加的控件?
Posted
技术标签:
【中文标题】Flash / AS3 ...设计人员如何修改以编程方式添加的控件?【英文标题】:Flash / AS3... how would a designer modify an control that was added programmatically? 【发布时间】:2010-12-27 19:35:37 【问题描述】:如果我要通过外部类向 Flash 项目添加一个表单(两个输入和一个按钮),其他团队成员是否可以在.fla 项目文件?
就目前而言,我假设我的 AS3 用户控件是在编译时添加的,因此无法从 Flash IDE 访问。但是有没有一种方法可以通过 IDE 控制按钮的视觉特征,并通过外部 AS3 类控制按钮的所有功能?
谢谢!
【问题讨论】:
【参考方案1】:这绝对是可能的。正如您可以为您的 FLA 定义一个文档类一样,您可以为 MovieClip 执行类似的过程。
将您的 MovieClip 放入库中(大概其中包含您的 UI),右键单击并选择“属性”并展开该窗口。填写如下:
alt text http://img163.imageshack.us/img163/9787/symbolproperties.png
从那里,您可以在 ActionScript 文件中定义基类,并通过在基类顶部定义它们来访问您在 MovieClip 中定义的实例变量对象。
MyCustomMC.as 位于您的 class_root/net/dostrosity/MyCustomMC.as Flash 可能会抱怨您将 MovieClip 分配给此类,如果 它还不存在。它将评论创建默认类 在那个事件中为你。点击复选框是一种确认 Flash 找到您的文件,点击铅笔将打开该文件进行编辑。
package net.dotstrosity.MyCustomMC
import flash.display.MovieClip;
public class MyCustomMC extends MovieClip
private var okBtn:MovieClip;
private var cancelBtn:MovieClip;
private var nameField:TextInput;
public function MyCustomMC()
//constructor that can add mouse events
//to okBtn and cancelBtn that were placed
//inside your MovieClip on the stage and
//given the instance names "okBtn" and "cancelBtn".
okBtn.addEventListener(MouseEvent.CLICK, pressedOk);
private function pressedOk(e:MouseEvent):void
//do something else...maybe...
nameField.txt.enabled = false; //pseudo crap code
【讨论】:
如果您觉得此答案有用,请标记为您接受的答案,否则请告诉我您需要澄清的地方,我很乐意为您提供帮助。以上是关于Flash / AS3 ...设计人员如何修改以编程方式添加的控件?的主要内容,如果未能解决你的问题,请参考以下文章
在 AS3 Flash Builder 中为 SWF 创建预加载器
如何使用 Flash (AS3) 从远程域调用 Flex SWF?