| |||||||
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) |
| Neuer User Registriert seit: Mar 2008 Ort: Pfaffen-Schwabenheim
Beiträge: 2
|
Hallo zusammen ![]() Zunächst einmal möchte ich das Forum ausdrücklich loben! Hab hier schon unzählige male Lösungen zu meinen Problemen gefunden. Bisher wurde ich immer über die Suchfunktion fündig, da meine Probleme meist allgemeiner Natur waren. Möchte nun nicht ausschließen dass es bei meinem ersten Eintrag nicht anders ist. Ich bin diesmal allerdings schon seit Wochen (ungelogen!) am SuchenGoogeln&Grübeln und kann mit ähnlichen Threads nichts anfangen bzw. scheinen die dort genannten Lösungsansätze in meinem Fall nichts zu nutzen. Doch nun zum Grund meiner schlaflosen Nächte: Ich bastle an einem recht umfangreichen Projekt und poste deshalb nur ein MinimalBeispielsnippet, das allein dazu dient mein Problem herauszuarbeiten und nicht mehr. Dies sei nur vorab erwähnt um Antworten auszuschließen, die mir raten es in diesem Fall in irgendeiner Weise einfacher anzugehen. Also, worum geht es? Ich habe ein FlexProjekt (nutze FlexBuilder 3) auf einem Tomcat laufen. Ein FrontEnd soll in mehreren Layern dynamisch hinzugeladene Bilder anzeigen, Lauftext (Bauchbinde) darstellen, Videoloops abspielen usw... Die Medien (Stills, Loops, etc.) befinden sich im flex_src/media/stills Ordner auf dem Server und können in meinem Fall nicht embeddet werden. Nun habe ich mir - um eine klare Struktur hinzubekommen und eine gute Wartbarkeit zu erlauben - überlegt eine Verwaltungsklasse anzulegen, die mir die einzelnen CustomLayerklassen instanziiert und in der ich die depths schön verwalten kann (bringe mir diesen Layer in den Vordergrund, den anderen in den Hintergrund, usw.). Die einzelnen Layerklassen erlauben dann eine Steuerung der beinhaltenden DisplayObjects (BildLayer: blende Bild ein&aus, Videolayer: spiele Video ab, blende ein&aus...) Ich glaube das Prinzip ist klar geworden. Also habe ich mit der scheinbar einfachsten Layerklasse angefangen. Und dort tauchte dann folgendes Problem auf: Wie gesagt - ist jetzt nur ein Beispielcode... Also, meine wasanderes.mxml: HTML-Code: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"> <mx:UIComponent id="Container" name="Container" x="0" y="0" height="800" width="800"/> <mx:Script source="aussen/Probieren.as"/> </mx:Application> hier das externe Script Probieren.as: Code: // externes ActionScript file "Probieren.as"
import aussen.Probe;
import mx.controls.Image;
private function init():void
{
var prob:Probe = new Probe();
Container.addChild(prob);
} "Probe" stellt jetzt halt mal exemplarisch meine BildLayerKlasse dar. Code: package aussen
{
import flash.display.Sprite;
import mx.controls.Image;
public class Probe extends Sprite
{
public function Probe()
{
var square:Sprite = new Sprite();
square.graphics.beginFill(0x28);
square.graphics.drawRoundRect(10, 10, 200, 200, 0, 0);
square.graphics.endFill();
square.alpha = 0.3;
addChild(square);
var img:Image = new Image();
img.source = "media/stills/friedrich.jpg";
img.x = 0;
img.y = 0;
img.width = 400;
img.height = 400;
addChild(img);
}
}
} ![]() Bin mir sicher jetzt schnuppern schon einige den Braten, aber vielleicht ist es sinnvoll vorab mögliche Ursachen des Problems auszuschließen.
Vielen lieben Dank im Voraus und noch ein schönes Wochenende |
| | |
| | #2 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
In Flex erbt mal nicht von Sprite sonders UIComponent und implementiert den Component livecycle (steht in der Dokumentation beschrieben).
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #3 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.142
|
... und dimensionieren mag wichtig sein ...
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Jan 2006
Beiträge: 23
|
ja, ich denke dass das problem ist, dass Probe sprite erweitert und du diesem dann eine uicomponent (bzw. eine unterklasse davon) als kind hinzufügen willst. das geht nicht. (einer uicomponent können über rawchildren sprites hinzugefügt werden aber soweit ich mich erinnere kann einem sprite keine uicomponent als kind hinzugefügt werden). deshalb müsstest du meiner meinung nach, wie oben schon gesagt, nicht sprite sondern uicomponent (oder eine unterklasse davon) entsprechend erweitern. Geändert von chris21121983 (21-09-2009 um 12:00 Uhr) |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Mar 2008 Ort: Pfaffen-Schwabenheim
Beiträge: 2
|
Yippiiieeeee, *jubel* Das war's!!!!! Jetzt funzt's wunderbar... Danke für den Tip zum Component LiveCycle - der hat's dann letztendlich wirklich verständlich gemacht! War's halt vom Flashen früher gewohnt immer von Sprite zu erben ![]() Jetzt wird von UIComponent geerbt und das Basteln macht wieder Spaß... Super Danke nochmal! |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| addchild, addchild(), displaylist, displayobjectcontainer, flex 3 |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Image (Sprite) / width = 0? | shoq | ActionScript 3 | 2 | 26-05-2009 09:24 |
| Was genau passiert bei "addChild" aus einer Klasse heraus | TianK | ActionScript 3 | 3 | 06-10-2008 16:47 |
| addChild() in einer Klasse verwenden | sara11 | ActionScript 3 | 26 | 25-09-2008 09:23 |
| Klasse erbt von LoadVars | Senifor | Softwarearchitektur und Entwurfsmuster | 4 | 03-01-2005 12:47 |