代码:
//Widget.opCode会返回两个值:1 和 2 , //当动态元件被拖进画布时会返回 1(初始化), //每当检测到用户改变了动态元件的属性就会返回 2(侦听变化); switch (Widget.opCode){ case 1: setDefaultValues(); break; case 2: applyCurrentValues(); break; }
//初始化函数 function setDefaultValues(){ var values = new Array();
//建立 Label 和 State 属性,并赋予初始值; values.push({ name:"Label", type:"text", value:"My Button" }); values.push({ name:"State", type:"ComboBox", value:"normal,normal,mouseOver,mouseDown,unavailable"});
//用内置方法把初始值记录起来; Widget.elem.customData["currentValues"] = values; }
function applyCurrentValues(){ //取得当前值 var vals = Widget.elem.customData["currentValues"]; //获得 State 状态列表当前项的名称 var state = vals[1].value.split(",")[0].toString();
//遇到错误时可以用 alert(); 来Debug; //alert(state);
//根据用户输入改变 label 标签的值 Widget.GetObjectByName("label").textChars = vals[0].value; //根据用户在下拉列表选择项来显示或隐藏对应的按钮背景图; Widget.GetObjectByName("normal").visible = (state=="normal"); Widget.GetObjectByName("mouseOver").visible = (state=="mouseOver"); Widget.GetObjectByName("mouseDown").visible = (state=="mouseDown"); Widget.GetObjectByName("unavailable").visible = (state=="unavailable"); }
8.输入完代码后保存(注意要存为 ANSI 编码),然后进入 Fireworks 新建文件、Reload一下公用库、再重新把自定义动态元件拖进画布即可见到效果:

经典论坛交流:http://bbs.blueidea.com/thread-2993506-1-1.html
本文链接:http://www.blueidea.com/tech/graph/2010/7848.asp
出处:蓝色理想
责任编辑:bluehearts
上一页 用firework创建动态元件(二) [1] 下一页
◎进入论坛Photoshop、Fireworks版块参加讨论,我还想发表评论。
|