Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 03-02-2012, 20:10   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2008
Beiträge: 11
Erster versuch in AS3 / mit Combobox und Loader

Hey

Wie oben beschrieben wagte ich mich Heute mal ans AS3.
Und habe schnell festgestellgt das loadMovie und unloadMovie nicht mehr Funtkioniert... hab das mal ein par Funktionen aus dem Forum zusammengeschnappt aber irgendwas Funktioniert noch nicht.

Oben sollte die Combobox diverse SWF laden und andre entladen. Hier der Coden und unten noch die Datei.

HTML-Code:
import flash.net.URLRequest;
import flash.display.Loader;
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.net.URLLoader;

stop();
var Xpos:Number = 0;
var Ypos:Number = 180;
var swf:MovieClip;
var loader:Loader = new Loader();
loader.load(defaultSWF);
loader.x = Xpos;
loader.y = Ypos;

///////////////////////////////////////////////////////////////////////////////////////////
///////////////// Navigation ///////////////////////////////////////////////////
combobox.addItem( { label: "News" } );
combobox.addItem( { label: "Update" } );
combobox.addItem( { label: "Bilder" } );

combobox.addEventListener(Event.CHANGE, changeimage);

///////////////// Navigation Anweisungen ///////////////////////////////////////////////////

function changeimage (event:Event) : void{

		
	if(combobox.selectedItem.label == "News") 
		
	var defaultSWF:URLRequest = new URLRequest("load_swf/news_1024x600.swf");
	addChild(loader);
	
	
	if(combobox.selectedItem.label == "Update")
	
	var defaultSWF:URLRequest = new URLRequest("load_swf/test_1024x600.swf");
	
	if(combobox.selectedItem.label == "Bilder") gotoAndStop(4);
}

// Btns Universal function
function btnClick(event:MouseEvent):void {
	
	removeChild(loader);
	var newSWFRequest:URLRequest = new URLRequest("load_swf/" + event.target.name + ".swf");
	loader.load(newSWFRequest);
	loader.x = Xpos;
    loader.y = Ypos;
	addChild(loader);
}
// Btn listeners
News.addEventListener(MouseEvent.CLICK, btnClick);
Update.addEventListener(MouseEvent.CLICK, btnClick);
Bilder.addEventListener(MouseEvent.CLICK, btnClick);
Angehängte Dateien
Dateityp: zip Combobox.zip (569,0 KB, 2x aufgerufen)
docma ist offline   Mit Zitat antworten
Alt 03-02-2012, 21:47   #2 (permalink)
+ Zimt & Zucker
 
Registriert seit: Mar 2006
Ort: hinterm Mond gleich links
Beiträge: 2.041
loader.load(defaultSWF);

an der stelle ist ja defaultSWF noch gar nicht definiert.

Und wenn du deinen Request änderst:
var defaultSWF:URLRequest = new URLRequest("load_swf/news_1024x600.swf");
oder hier:
var defaultSWF:URLRequest = new URLRequest("load_swf/test_1024x600.swf");

dann musst du die load() methode noch mal aufrufen.

es reicht aus, den loader ein mal (nachdem er erzeugt wurde (also new Loader()) der Anzeigeliste hinzuzufügen.
__________________
anbei Grüße vom milchreis: Viva la [Silb]

[Von null auf Flash in einem Klick.] <<< klick
milchreis ist gerade online   Mit Zitat antworten
Alt 03-02-2012, 22:25   #3 (permalink)
NCC 1701 D
 
Benutzerbild von speedjunkie
 
Registriert seit: Oct 2009
Ort: Metropolregion Hamburg
Beiträge: 586
ActionScript:
  1. stop();
  2. var loader:Loader, container:Sprite;
  3.  
  4. function init():void
  5. {
  6.     addChildAt(container = new Sprite(), 0);
  7.     loader = new Loader();
  8.     loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
  9.     loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioHandler);
  10.     loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
  11.     /*combobox Properties*/
  12.     combobox.addItem( { label: "News" } );
  13.     combobox.addItem( { label: "Update" } );
  14.     combobox.addItem( { label: "Bilder" } );   
  15.     /*combobox Listener*/
  16.     combobox.addEventListener(Event.CHANGE, changeHandler)
  17.     return;
  18. }
  19.  
  20. function changeHandler(e:Event):void
  21. {
  22.     /* nav */
  23.     trace(e.currentTarget.selectedItem.label);
  24.    
  25.     switch(e.currentTarget.selectedItem.label)
  26.     {
  27.         case "News":
  28.        
  29.             loadSWF("load_swf/news_1024x600.swf");
  30.        
  31.         break;
  32.         case "Update":
  33.        
  34.             loadSWF("load_swf/test_1024x600.swf");
  35.        
  36.         break;
  37.         case "Bilder":
  38.        
  39.             loadSWF("load_swf/as3.swf");
  40.        
  41.         break;
  42.     }
  43. }
  44.  
  45. function loadSWF(path:String):void
  46. {
  47.     try
  48.     {
  49.         loader.load(new URLRequest(path));
  50.     }
  51.     catch(err:Error)
  52.     {
  53.         trace("err_msg: " + err.message);
  54.     }
  55.     return
  56. }
  57.  
  58. function initHandler(e:Event):void
  59. {
  60.     eraseLastContent(container);
  61.    
  62.     if(e.target.actionScriptVersion == 3)
  63.     {
  64.         var movieAVM2:MovieClip = container.addChild(e.target.content) as MovieClip;
  65.         movieAVM2.gotoAndStop(1);
  66.     }
  67.     else
  68.     {
  69.         container.addChild(loader);
  70.     }
  71.     trace("container Childs: " + container.numChildren);
  72.     return;
  73.    
  74. }
  75.  
  76. function eraseLastContent(container:Sprite):void
  77. {
  78.     if (container.numChildren)
  79.     {
  80.         var lastContent:DisplayObject = container.removeChildAt(0);
  81.         lastContent = null;
  82.     }
  83.     return;
  84. }
  85.  
  86. function progressHandler(e:ProgressEvent):void
  87. {
  88.     trace("progressHandler: " + e.currentTarget.bytesLoaded / e.currentTarget.bytesTotal * 100);
  89.     return;
  90. }
  91.  
  92. function ioHandler(e:IOErrorEvent):void
  93. {
  94.     trace(e.text);
  95.     return;
  96. }
  97.  
  98. init();
__________________
just be Daniel
JUNK FOOD: JavaScript Core Reference
speedjunkie ist offline   Mit Zitat antworten
Alt 04-02-2012, 10:17   #4 (permalink)
Neuer User
 
Registriert seit: Jun 2008
Beiträge: 11
wow... echt Super Danke.
Muss gestehen das noch einiges Bahnhof ist... da muss ich noch hinter die Bücher. Gibt es irgendwo eine Seite mit neuen AS3 Befehlen und Info dazu?

Noch eine Grundlegende fragen...
Ich habe noch SWF Daten die in AS2 geschrieben sind und wollte diese hier mit einbinden. Das Funktioniert wunderbar beim ersten mal wo das SFW geladen wird, sprich die AS2 Button usw. funktionieren...
wechsle ich jetzt Combobox und kehre zurück ins selbe SWF funktionieren die Buttons nichtmehr...

Ist das allgemein ein Problem bei AS3 >load>AS2.swf oder hatt das mit dem Code zu tun?
docma ist offline   Mit Zitat antworten
Alt 04-02-2012, 10:28   #5 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Zitat:
Zitat von docma Beitrag anzeigen
Gibt es irgendwo eine Seite mit neuen AS3 Befehlen und Info dazu?
Die mit Abstand wichtigste Ressource ist die ActionScript3-Referenz, in der alle Klassen und Funktionen der FlashPlayer-API dokumentiert sind. Weiter Informationslinks findest Du in meiner Signatur oder unserer Linksammlung.
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 04-02-2012, 10:43   #6 (permalink)
Neuer User
 
Registriert seit: Jun 2008
Beiträge: 11
super Danke

Zitat:
Zitat von docma Beitrag anzeigen
Noch eine Grundlegende fragen...
Ich habe noch SWF Daten die in AS2 geschrieben sind und wollte diese hier mit einbinden. Das Funktioniert wunderbar beim ersten mal wo das SFW geladen wird, sprich die AS2 Button usw. funktionieren...
wechsle ich jetzt Combobox und kehre zurück ins selbe SWF funktionieren die Buttons nichtmehr...

Ist das allgemein ein Problem bei AS3 >load>AS2.swf oder hatt das mit dem Code zu tun?
Als nach einer recherche müsste es kein Problem sein AS2codes.swf in einem AS3 abzuspielen... es sei man möchte da diese miteinander Kommunizieren aber dies ist bei mir eigentlich nicht der fall.

Habt ihr Erfahrungen damit?

Gruss
docma ist offline   Mit Zitat antworten
Alt 04-02-2012, 12:27   #7 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Wie sieht den der Code der AS2.swf aus?
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 04-02-2012, 12:41   #8 (permalink)
Neuer User
 
Registriert seit: Jun 2008
Beiträge: 11
Hauptsächlich sind es Tweens die auf Buttons liegen.

z.B.
PHP-Code:
on (release) {
    
/*Bilder*/
    
= new mx.transitions.Tween(S0101"_x"mx.transitions.easing.Regular.easeOutS0101._x407.91true);
    
= new mx.transitions.Tween(SS0101"_x"mx.transitions.easing.Regular.easeOutSS0101._x407.91true); 
Ich befürchte das es etwas mit dem Container zu tun hat. In dem die SWF geladen wird. Da die erste SWF korrekt abgespielt wird bis ich den in der Navigation ein neuer Menüpunkt lade -> ab dann werden sie nur noch angezeigt aber die Buttons Funktionieren nichtmehr.
docma ist offline   Mit Zitat antworten
Alt 04-02-2012, 13:03   #9 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 6.164
Versuch's mal hiermit:
ActionScript:
  1. import flash.display.Loader;
  2. import flash.display.Sprite;
  3. import flash.events.Event;
  4. import flash.events.IOErrorEvent;
  5. import flash.events.ProgressEvent;
  6. import flash.net.URLRequest;
  7.  
  8. stop();
  9.  
  10. var loader:Loader;
  11.  
  12. var pathsByLabel:Object = {
  13.     "News": "load_swf/news_1024x600.swf",
  14.     "Update":"load_swf/test_1024x600.swf",
  15.     "Bilder":"load_swf/as3.swf"
  16. }
  17.  
  18. function init():void {
  19.     addChildAt(container = new Sprite(), 0);
  20.     for (var label:String in pathsByLabel) combobox.addItem( { label: label } );
  21.     combobox.addEventListener(Event.CHANGE, changeHandler);
  22. }
  23.  
  24. function changeHandler(e:Event):void {
  25.     var label:String = e.currentTarget.selectedItem.label;
  26.     if (label in pathsByLabel) loadSWF(pathsByLabel[label]);
  27. }
  28.  
  29. function loadSWF(path:String):void {
  30.    
  31.     if (loader) {
  32.         loader.unloadAndStop();
  33.         loader.contentLoaderInfo.removeEventListener(Event.INIT, initHandler);
  34.         loader.contentLoaderInfo.removeEventListener(IOErrorEvent.IO_ERROR, ioHandler);
  35.         loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressHandler);
  36.         if (loader.parent) loader.parent.removeChild(loader);
  37.     }
  38.    
  39.     loader = new Loader();
  40.     loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
  41.     loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioHandler);
  42.     loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
  43.    
  44.     try {
  45.         loader.load(new URLRequest(path));
  46.     } catch (err:Error) {
  47.         trace("err_msg: " + err.message);
  48.     }
  49. }
  50.  
  51. function initHandler(e:Event):void {
  52.     // Was auch immer Du bei Init tun willst
  53. }
  54.  
  55. function progressHandler(e:ProgressEvent):void {
  56.     trace("progressHandler: " + e.currentTarget.bytesLoaded / e.currentTarget.bytesTotal * 100);
  57. }
  58.  
  59. function ioHandler(e:IOErrorEvent):void {
  60.     trace(e.text);
  61. }
  62.  
  63. init();
__________________
Viele Grüße // Martin

Martin Kraft // Interaktionsdesign

Hilfreiche Websites:
// Hilfe zur Adobe Flash Plattform
// ActionScript 2 Referenz
// ActionScript 3 Referenz
// ActionScript 3 Arbeitshandbuch
// weitere Flash Ressourcen

Bitte keine Flashfragen per PM oder Profilnachricht! Dafür ist das Forum da!
Martin Kraft ist offline   Mit Zitat antworten
Alt 05-02-2012, 19:09   #10 (permalink)
NCC 1701 D
 
Benutzerbild von speedjunkie
 
Registriert seit: Oct 2009
Ort: Metropolregion Hamburg
Beiträge: 586
Ich dachte es liegt an Tweenengine und hab mit Tweenlite probiert da gibt’s zumindest eine Meldung.

"256 levels of recursion were exceeded in one action list.
This is probably an infinite loop.
Further execution of actions has been disabled in this movie."

Der Hauseigene Tween wird auch gekillt. Mag Flash das nicht, wenn AVM1Movie’s irgendetwas anstellen?!

Hätte auch gerne mal den ProLoader ausprobiert. Hab aber kein CS5.5
__________________
just be Daniel
JUNK FOOD: JavaScript Core Reference

Geändert von speedjunkie (05-02-2012 um 19:12 Uhr)
speedjunkie ist offline   Mit Zitat antworten
Alt 06-02-2012, 11:57   #11 (permalink)
Neuer User
 
Registriert seit: Jun 2008
Beiträge: 11
Hey. Habe am WE auch noch einiges ausprobiert...
Bei einer normalen Einbindung klapt es problemlos, sobald ich aber if anweisungen dazugebe funktioniert es plötzlich nicht mehr...

Ich werden die alten SWF Daten in AS3 umschreiben, dann lerne ich wenigstens was...

THX für eure Hilfe.
docma ist offline   Mit Zitat antworten
Alt 06-02-2012, 12:02   #12 (permalink)
NCC 1701 D
 
Benutzerbild von speedjunkie
 
Registriert seit: Oct 2009
Ort: Metropolregion Hamburg
Beiträge: 586
Zitat:
Zitat von docma Beitrag anzeigen
Ich werden die alten SWF Daten in AS3 umschreiben, dann lerne ich wenigstens was...
Das ist denke ich der beste Ansatz.
__________________
just be Daniel
JUNK FOOD: JavaScript Core Reference
speedjunkie ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Erster Versuch mit flv hirst Flash MX 2004 3 12-01-2006 14:39
erster Versuch MVC, so richtig? SunboX Softwarearchitektur und Entwurfsmuster 3 04-09-2003 21:42


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:12 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele