我目前正在尝试组合一个简单的 Illustrator 插件,并且来自设计背景,这被证明是一项艰巨的任务,我有 JS 经验,但没有 Flex 经验。
我想要做的是在 Illustrator 中有一个面板,带有一个输入字段和一个按钮。您在输入中键入内容并按下按钮,然后将带有所需文本的文本框添加到画布中。
但是如何将值从 mx:Textinput 传递到 Controller.as 文件?我在网上找不到答案。
这是我的 main.mxml 文件:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" historyManagementEnabled="false">
<mx:Script>
<![CDATA[
private var c:Controller = new Controller();
]]>
</mx:Script>
<mx:VBox height="100%" width="100%" verticalAlign="middle" horizontalAlign="center">
<mx:Label text="myVariable"></mx:Label>
<mx:TextInput name="TextValue"/> // I want the text value to be passed to the Controller class so I can pass it on to my JSX function
<mx:Button label="Run" click="c.run()"/>
</mx:VBox>
</mx:Application>
这是我的 Controller.as 文件:
package
{
import flash.external.HostObject;
public class Controller
{
[ Embed (source="myScript.jsx" , mimeType="application/octet-stream" )]
private static var myScriptClass:Class;
public function run():void {
var jsxInterface:HostObject = HostObject.getRoot(HostObject.extensions[0]);
jsxInterface.eval( new myScriptClass ().toString());
//calling from AS to JSX
jsxInterface.myJSXFunction (myVariable); //This is where I want the value to be passed to
}
}
}