| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| AIRcrobat Registriert seit: Mar 2009 Ort: München
Beiträge: 78
|
Hallo Forum, ich steh mal wieder vor einem Problem und weiss nicht weiter. Ich würde gerne eine selbst erstellte Flex Komponente in einer AS3 Klasse instanziieren. Doch wird die Komponente, die ich per AS3 anspreche nicht angezeigt. Warum? Meine Testanwendung sieht wie folgt aus: Test2.mxml Code: <?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:local="*"
creationComplete="init(event)">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
private var _testVar:TheClass = null;
protected function init(event:FlexEvent):void {
_testVar = new TheClass();
this.addElement(_testVar);
}
]]>
</fx:Script>
</s:WindowedApplication> Code: <?xml version="1.0" encoding="utf-8"?> <s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="300"> <s:BorderContainer borderColor="0xFF0000"> <s:Label text="Das ist die Komponente" /> </s:BorderContainer> </s:Group> Code: package {
import mx.flash.UIMovieClip;
public class TheClass extends UIMovieClip {
public var flexComp:theComponent = null;
public function TheClass() {
flexComp = new theComponent();
this.addChild(flexComp);
}
}
} Schönen Gruß, Tom |
| | |
| | #2 (permalink) |
| undefined Registriert seit: Jul 2001 Ort: Stuttgart
Beiträge: 1.839
|
Flex Komponenten kannst du nicht in reinen AS3 Projekten verwenden. Die benötigen das Flex Framework (Systemmanager / LayoutManager etc.) damit diese korrekt funktionieren.
__________________ mfg Frank |
| | |
| | #3 (permalink) | |
| AIRcrobat Registriert seit: Mar 2009 Ort: München
Beiträge: 78
| Zitat:
MXML Code: //.. Script _testVar = new TheClass(testComp); //... <local:theComponent id="testComp" /> //... Schönen Gruß, Tom | |
| | |
| | #4 (permalink) |
| undefined Registriert seit: Jul 2001 Ort: Stuttgart
Beiträge: 1.839
|
ah ok jetzt habe ich verstanden was du vorhast. UIMovieCLip hat keine Logik für das Handling für Children dafür ist diese Klasse nötig: mx.flash.ContainerMovieClip - ActionScript 3.0 Reference for the Adobe Flash Platform Alternativ kannst du diese auch mit dem FlexComponentKit erstellen. Allerdings mischt du mit deinem jetzigen Ansatz FlashUI + Halo + Spark. Eventuell solltest du den Flash Part als Spark-Komponente neu aufziehen. Für eine genaue Beurteilung bräuchte ich mehr Informationen um was es sich bei der Anwendung konkret handelt.
__________________ mfg Frank Geändert von mildesign (29-03-2011 um 09:14 Uhr) |
| | |
| | #5 (permalink) | |
| AIRcrobat Registriert seit: Mar 2009 Ort: München
Beiträge: 78
| Zitat:
Mein Problem ist, dass ich per Flash einen MC gezeichnet habe, den ich in meiner Flex Anwendung nur Anzeigen will und mit ein wenig Logik (AS-Klasse) verbinden will. Mit der FlexComponentKit funktioniert das auch. Aber das Ansprechen mit der AS3 Klasse klappt nicht. Zu "ContainerMovieClip": Also wenn ich die AS-Klasse den ContainerMovieClip extenden lasse, wird dennoch nix in meiner AIR-Anwendung angezeigt. Irgendwie steh ich auf dem Schlauch oder habe deinen Ansatz nicht ganz verstanden. Vielen Dank nochmal! Tom Geändert von TheChucky (29-03-2011 um 09:17 Uhr) | |
| | |
| | #6 (permalink) | ||
| undefined Registriert seit: Jul 2001 Ort: Stuttgart
Beiträge: 1.839
|
Nur von ContainerMovieClip extenden bringt leider nix da die Klasse noch mehr informationen benötigt. Video tutorial: Create Flex container components with Flash CS4 | Serge Jespers Zitat:
Zitat:
Wie schon gesagt ich finde die Archtektur deiner Anwendung etwas konfus. momentan hab ich folgendes Scenario im Kopf : <Flex Air Spark Application > < Halo MovieContainer mit Flash Logik> <Spark BorderContainer> <Spark Label/>
__________________ mfg Frank | ||
| | |
| | #7 (permalink) |
| AIRcrobat Registriert seit: Mar 2009 Ort: München
Beiträge: 78
|
Da geb ich dir Recht, dass das alles etwas konfus ist. Deswegen hole ich mal etwas weiter aus. Vielleicht wird es dann klarer was ich vorhabe. Als Basis meines Projektes habe ich eine AIR Anwendung. In dieser sollten alle Teile zusammenlaufen. Um die Logik zu strukturieren verwende ich mehrere AS3 Klassen, die ich in mein AIR Projekt einbinde. Zusätzlich dazu gibt es in Flash gezeichnete MCs, die ich mit Hilfe des FlexComponentKit als SWC exportiert habe und in AIR eingebunden habe. Da ich die Logik aller Komponenten gerne in meinen (Flex-)AS3 Klassen unterbringen würde und nicht in Flash selbst implementieren will, möchte ich auf die Komponenten zugreifen. Ich hatte gehofft, dass ich in AS3 einfach auf Flex/AIR Komponenten zugreifen und diese instanziieren kann. Um mein Beispiel im ersten Beitrag aufzugreifen: theComponent.mxml sollte lediglich als Bsp. dienen. Eigentlich binde ich hier ausschließlich von Flash exportierte Flex Komponenten ein. Also habe ich in etwa sowas: Code: <?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:local="*" creationComplete="init(event)"> ... <local:eigeneFlashComponente id="eigeneComp" /> <local:eigeneFlashComponente2 id="eigeneComp2" /> </s:WindowedApplication> Code: <?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:local="*"
creationComplete="init(event)">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
private var _testVar:eigeneFlashComponenteLogik = null;
protected function init(event:FlexEvent):void {
_testVar = new eigeneFlashComponenteLogik();
this.addElement(_testVar);
}
]]>
</fx:Script>
</s:WindowedApplication> Code: package {
public class eigeneFlashComponenteLogik {
public var flexComp:eigeneFlashComponente = null;
public function TheClass() {
flashComp = new eigeneFlashComponente ();
return flashComp;
}
// ... weiter funktionen, die diese FlashComp bewegen, an- und ausblenden etc.
}
} Vielen Dank für deine Hilfe, Tom |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| ansprechen, as3, erzeugen, flex, komponente |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Flex Webservice-Komponente in Flash | sobo | ActionScript 3 | 0 | 12-05-2009 16:11 |
| Per Flex SWC erzeugen und in Flash nutzen | s.h.a.r.k | ActionScript 3 | 2 | 19-02-2009 08:18 |
| Aus FLVPlayback Komponente Metadaten erzeugen | Lorraine | ActionScript 3 | 1 | 11-09-2008 14:54 |
| Problem mit Flash-Komponente in Flex | murray | Flex programmieren | 1 | 03-07-2008 17:14 |
| CS3/Flex Komponente & Fonts | gio*lemon | ActionScript 3 | 1 | 27-05-2007 14:35 |