私は現在、単純な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
}
}
}