如果我要通过外部类添加一个表单(两个输入和一个按钮)到一个Flash项目,另一个团队成员是否可以更改该表单的外观特征(皮肤,大小,位置等) .fla项目文件?Flash/AS3 ...设计师如何修改以编程方式添加的控件?
现在,我假设我的AS3用户控件是在编译时添加的,因此无法从Flash IDE访问。但是,有没有一种方法可以通过IDE控制按钮的视觉特性,以及它通过外部AS3类的所有功能?
谢谢!
如果我要通过外部类添加一个表单(两个输入和一个按钮)到一个Flash项目,另一个团队成员是否可以更改该表单的外观特征(皮肤,大小,位置等) .fla项目文件?Flash/AS3 ...设计师如何修改以编程方式添加的控件?
现在,我假设我的AS3用户控件是在编译时添加的,因此无法从Flash IDE访问。但是,有没有一种方法可以通过IDE控制按钮的视觉特性,以及它通过外部AS3类的所有功能?
谢谢!
这绝对有可能。就像您可以为FLA定义文档类一样,您可以为MovieClip执行类似的过程。
将图库中的MovieClip(可能包含您的UI)右键单击并选择“属性”并展开该窗口。填写它是这样的:
alt text http://img163.imageshack.us/img163/9787/symbolproperties.png
从那里,你可以在ActionScript文件中定义你的基类,并在顶部定义他们获得您在影片剪辑中定义的实例变量对象你的基类。
MyCustomMC.as位于您class_root/NET/dostrosity/MyCustomMC.as 闪光灯可能会抱怨你指定你的电影剪辑,这个类,如果 它不存在。它将评论有关在该事件中为您创建默认类 。点击复选框是确认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
}
}
}
如果你发现这个答案是有用的,请注明作为公认的答案,否则让我知道你需要澄清,我会很乐意协助。 – Aaron 2009-12-18 05:16:01