| |||||||
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: Jul 2009
Beiträge: 10
| flex in flash
Hallo zusammen, ich beiße mir gerade an einem Problem die Zähne aus und komme einfach nicht weiter. Ich versuche zur Zeit über ein kleines Flash eine Flex-Applikation zu laden. Das laden an sich funktioniert soweit und ist auch kein Problem. Nur die Flex-Applikation bekommt den resize nicht ordentlich hin, auch die Scrollbalken werden nicht angezeigt. Hab schon überall gesucht und komm und komm einfach nicht weiter. Vlt. hat einer von euch so was schon mal gemacht und könnten mir ein bisschen helfen. Anbei ein Beispiel wie ich das Laden im Moment veranstalte. Das Beispiel hab ich auch aus dem Netz gefischt und noch ein wenig angepasst. Viele Grüße seb Code: package {
import flash.display.Loader;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.net.URLRequest;
import flash.system.ApplicationDomain;
import flash.system.LoaderContext;
public class Boot extends Sprite {
/**
* The URL of the application SWF that this bootstrap loader loads.
*/
private static const applicationURL:String = "mein.swf";
/**
* Constructor.
*/
public function Boot() {
super();
if (ApplicationDomain.currentDomain.hasDefinition("mx.core::UIComponent"))
throw new Error("UIComponent should not be in the bootstrap loader.");
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
if (!stage)
isStageRoot = false;
root.loaderInfo.addEventListener(Event.INIT, initHandler);
}
/**
* The Loader that loads the main application's SWF file.
*/
private var loader:Loader;
/**
* Whether the bootstrap loader is at the stage root or not.
* It is only the stage root if it was the root
* of the first SWF file that was loaded by Flash Player.
* Otherwise, it could be a top-level application but not stage root
* if it was loaded by some other non-Flex shell or is sandboxed.
*/
private var isStageRoot:Boolean = true;
/**
* Called when the bootstrap loader's SWF file has been loaded.
* Starts loading the application SWF specified by the applicationURL property.
*/
private function initHandler(event:Event):void {
loader = new Loader();
addChild(loader);
loader.load(new URLRequest(applicationURL),new LoaderContext(false, this.loaderInfo.applicationDomain));
loader.addEventListener("mx.managers.SystemManager.isBootstrapRoot",
bootstrapRootHandler);
loader.addEventListener("mx.managers.SystemManager.isStageRoot",
stageRootHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadCompleteHandler);
loader.contentLoaderInfo.addEventListener(Event.ADDED_TO_STAGE, onApplicationAdded);
stage.addEventListener(Event.RESIZE, resizeHandler);
//resizeHandler();
}
private function bootstrapRootHandler(event:Event):void {
// Cancel event to indicate that the message was heard.
event.preventDefault();
}
private function stageRootHandler(event:Event):void {
// Cancel event to indicate that the message was heard.
if (!isStageRoot)
event.preventDefault();
}
private function loadCompleteHandler(evt:Event):void {
loader.content.addEventListener(Event.ADDED_TO_STAGE, onApplicationAdded);
loader.content.addEventListener("applicationComplete", onApplicationComplete);
}
private function onApplicationAdded(e:Event):void {
Object(loader.content).setActualSize(stage.stageWidth, stage.stageHeight);
}
private function onApplicationComplete(e:Event):void {
//resizeHandler();
}
private function resizeHandler(event:Event=null):void {
loader.width = stage.stageWidth;
loader.height = stage.stageHeight;
Object(loader.content).setActualSize(stage.stageWidth, stage.stageHeight);
if (loader.content && Object(loader.content).application)
Object(Object(loader.content).application).setActualSize(stage.stageWidth, stage.stageHeight);
}
}
} |
| | |
| | #2 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.146
|
Für die Richtung ist Flex nicht gedacht. Das ist schlicht weg ein schlechter Ansatz. Flex soll genau das übernehmen.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Jul 2009
Beiträge: 10
|
Vielen Dank, für die schnelle Antwort. Ich weiß, dass es nicht optimal ist und Flex das eigentlich übernehmen sollte. Dieses Konstrukt brauche ich jedoch für die Einbindung in ein CMS. Dadurch kann ich meine Flex-Applikationen ggf. austauschen. Das ganze könnte ich auch mit einer weitere Flex-Applikation bewerkstelligen, die die eigentlich Flex-Anwendung lädt, jedoch wird die über 100kb groß. Wohingegen das Flash gerade mal 10kb groß wird. Wie gesagt das Laden usw. funktioniert einwandfrei. Nur das Resizing funktioniert nicht sauber. Vlt. hat doch noch jemand eine Idee. Viele Grüße Seb |
| | |
| | #4 (permalink) |
| Perverted Hermit Registriert seit: Mar 2004 Ort: Delmenhorst
Beiträge: 12.146
|
Naja, die zu ladende Flex Applikation musst du doch auch irgendwie angeben. Baue dann doch lieber eine generische Form der Einbindung mit JavaScript.
__________________ http://icodeapps.net | Meet me at the Flex user group Hamburg talking about CoffeeScript |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Flex/Flash Debugger stürzt in Flex immer ab | Wuschey | Flex allgemein | 7 | 15-11-2009 14:39 |
| Adobe Flex User Group Hamburg: Flex und BlazeDS | marc | Konferenzen und Treffen | 6 | 04-02-2009 08:42 |
| Adobe Flex User Group München: Flex Builder 4 & Flash Catalyst Preview (27.01.09) | marc | Konferenzen und Treffen | 0 | 13-01-2009 13:37 |
| Vortrag: Next Flex Workflow - Flex 4 und Flash Catalyst (Sven Claar) | marc | FFK09 | 0 | 12-12-2008 19:54 |
| Flex für nicht kommerziellen Einsatz kostenlos erhältlich (inkl. Flex Builder) | bort | Flex allgemein | 0 | 05-10-2004 16:37 |