2010-12-20 16 views
0

Hallo Ich habe ein Projekt, das mit Flash CS3 IDE und ActionScript 3 erstellt wird. Jetzt muss ich ein Feature mit Datei Reference-Klasse integrieren. das gibt es nur im flex. Also ich möchte nach flex (MXML) migrieren ..Flash IDE Projekt ActionScript 3 To Flex: Wie konvertiert man?

wie ist das möglich?

ich einige Code tat, aber nicht richtig funktioniert

ProjectFile.mxml 
<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete = "initApp()" > 
    <mx:Script> 

    <![CDATA[ 

     import mx.core.UIComponent; 


     public function initApp():void { 

      var app:Applications = new Applications(this); 
      addChild(app); 


     } 
    ]]> 
    </mx:Script> 

</mx:Application> 

Applications.as Die Anwendungen Klasse von der FLA früher genannt wird, jetzt muss ich hinzufügen meine Basisklasse nach mxml.

package { 

    import com.AnotherClass; 

    import flash.display.*; 
    import flash.events.*; 

    public class Main extends Sprite { 

     public var _mystage:Stage; 
     public function Main() { 
      var app:AnotherClass= new AnotherClass(this); 
      addChild(app); 
     } 

    } 
} 

Aber ich bin nicht in der Lage, das Applicatios-Klassenobjekt auf dem MXML zu laden.

+3

FileReference-Klasse? Das ist in der Flash-IDE verfügbar. – Zevan

+0

aber wir können externe Dateien nicht von der IDE speichern, ich möchte einige Dateien auf dem lokalen Rechnerpfad speichern, wo sich das swf befindet. – coderex

+1

@coderex Das Speichern lokaler Dateien über die IDE von Flash Pro hat keine Beziehung zur FileReference-Klasse, mit der Sie den Benutzer bitten können, Dateien zur Laufzeit über den Flash Player zu speichern. Sie sollten Ihre Frage entsprechend ändern. Es ist schwer zu sagen, aus Ihren kleinen Code-Schnipsel, warum das nicht funktioniert. – JeffryHouser

Antwort

1

Natürlich können Sie FileReference.save verwenden, ohne AIR-Inhalt und/oder Portierung auf Flex zu verteilen. Das einzige Problem ist: FileReference.save ist in Flash Player 10 oder höher verfügbar, aber CS3 wird nur bis zu Flash Player 9 bereitstellen.

Es stellt sich heraus, dass Sie es immer noch tun können, aber es ist ein bisschen chaotisch, und Sie müssen verwenden ein wenig Hack:

  1. den Flashplayer 10 AS3 Bibliotheken holen. Sie sind ein Teil von Flex SDK, das Sie kostenlos von Adobe herunterladen können.
  2. Erstellen Sie ein Flash 9 AS3-Dokument.
  3. Fügen Sie die Bibliotheken Ihrem Klassenpfad hinzu, statt den Standardpfaden.
  4. Verwenden Sie FileReference.save in Ihrem Programm.
  5. Bereitstellen auf FP 9. Ignoriere Compilerwarnungen, falls vorhanden.
  6. Öffnen Sie die SWF in einem Hex-Editor.
  7. Ändern Sie das vierte Byte von 09 in 0A (er gibt die Versionsnummer an).
  8. Speichern Sie die SWF.
  9. Öffnen Sie Ihre SWF in Flash Player 10 - alles sollte funktionieren.

(Die meisten dieser Hinweise stammen von ZEROSEVEN's german page).

Verwandte Themen