Flash Panel Problem
hi,
ich habe ein flash panel bekommen (swf und jsx), welches auch super funktioniert.
ich muss aber etwas panel ändern, kann ich aber nicht, da ich nur die swf habe. ich mithilfe von flash builder ein neues panel kreieren und die alte jsx verwenden.
aber natürlich funktioniert es nicht...
das skript macht folgendes:
- system aussuchen aus einer dropdownliste, bzw. ich musste eine combo box nehmen...
- spielnamen eingeben
- system + spielnamen einen vorher definierten pfad anhängen und dort einen ordner erstellen mit dem spielnamen. ( beispielsweise ist der vordefinierte teil "d:\test", dahinter dann das system + spielnamen -> "d:\test\supernintendo\tetris")
- dann werden dateien in den ordner kopiert und ebenfalls umbenannt.
mein erstes problem war, dass ich die exportierte swf öffnen konnte und auch die combo cox funktioniert hat. sobald ich in photoshop öffne, geht die combo box nichtmehr auf, bzw ich sehe nur den ersten eintrag.
ich habe es jetzt hinbekommen, die werte der combobox und des textfeldes, in einer variablen zu speichern (path). allerdings muss ich diese variable beim funktionsaufruf von createfolder(), mit übergeben. das bekomme ich nicht hin...
hier mal der code der mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:application xmlns:mx="http://www.adobe.com/2006/mxml"
width="418" height="232" layout="absolute">
<mx:script>
<![cdata[
import com.adobe.csxs.core.csxsinterface;
import mx.controls.alert;
import mx.events.listevent;
import flash.external.externalinterface;
public function calladddocument():void{
csxsinterface.instance.evalscript("adddocument");
}
public function callclosedocument():void{
csxsinterface.instance.evalscript("closedocument");
}
public function init():string{
var path:string;
path = string(sys.value);
path += "=" + game.text;
//alert.show(path);
return path;
}
public function callcreatefolder(path:string):void{
csxsinterface.instance.evalscript("createfolder");
}
public function callcopyrenamefile():void{
csxsinterface.instance.evalscript("copyrenamefile");
}
public function callcopyallfolder():void{
csxsinterface.instance.evalscript("copyallfolder");
}
protected function sys_changehandler(event:listevent):void
{
// todo auto-generated method stub
}
]]>
</mx:script>
<mx:label id="yoyo" x="20" y="81" fontsize="16" fontweight="bold" text="system:"/>
<mx:label x="20" y="120" fontsize="16" fontweight="bold" text="gamename:"/>
<mx:image x="118" y="10" width="175" height="43"
source="file:xxx.png"/>
<mx:textinput id="game" x="171" y="119"/>
<mx:combobox id="sys" x="171" y="81" change="sys_changehandler(event)" editable="false"
enabled="true" name="systemo">
<mx:string>xxx</mx:string>
<mx:string>yyy</mx:string>
<mx:string>zzz</mx:string>
</mx:combobox>
<mx:button x="171" y="178" label="button" click="init();callcreatefolder(document.path)"/>
</mx:application>
und die dazugehörige jsx:
// javascript document
function adddocument() {
app.documents.add();
}
function closedocument() {
app.activedocument.close();
}
function createfolder(path) {
var osspecificprepath = "";
if ($.os.search(/windows/i) != -1) {
filelinefeed = "windows";
osspecificprepath = "e:/"; //m:/
} else {
filelinefeed = "macintosh";
osspecificprepath = ""; //yyy/xxx/ccc/
}
var arguments = path.split("=");
var type = arguments[0];
var gamename = arguments[1];
gamename = gamename.replace(/\s/g, "");
gamename = gamename.replace(/\,/g, "");
gamename = gamename.replace(/\&/g, "");
gamename = gamename.replace(/\-/g, "");
gamename = gamename.replace(/\´/g, "");
gamename = gamename.replace(/\_/g, "");
gamename = gamename.replace(/\./g, "");
// templates
var commondesigntemplatespath = osspecificprepath
+ "xxx/yyy";
//target
var gamedesignpagepath = osspecificprepath + "xxx/yyy" + type + "/" + gamename;
copyallfolder(commondesigntemplatespath, gamedesignpagepath, type, gamename);
remsign(gamename);
}
wie gesagt, die jsx war und hat auch funktioniert. ich muss nur die mxml dazu anpassen.
wenn mir jemand helfen könnte, wäre das traumhaft
vielen dank im voraus
uebel
dies ist ein englisch-sprachiges forum.
außerdem solltest du vielleicht auf
http://forums.adobe.com/community/flash_builder
posten.
edit: du scheinst von dort hierher verwiesen worden zu sein.
this english-language forum.
moreover may want post on at
http://forums.adobe.com/community/flash_builder
edit: seem have been directed here there.
More discussions in Photoshop Scripting
adobe
Comments
Post a Comment