| |||||||
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) |
| Ohne Worte Registriert seit: Jul 2004 Ort: Berlin
Beiträge: 472
|
Wenn man auf einen Button drückt (der Button ist ein mc) dann soll ein movieclip, der einen Tween beinhaltet aus der Bibliothek werden. Drücke ich auf einen anderen Button, soll ein weiterer mc über den alten geladen werden, ohne diesen jedoch zu löschen (also durch swapDepth). Das Problem ist, dass ich in diesem Forum immer nur Beiträge finde, wo die Movieclips, die sich durch swapDepth überlagern sollen, immer schon auf der Bühne vorhanden sind und diese Movieclips die Button selbst sind. Also habe ich mir gedacht, ich bau mir nen Script = Fehlanzeige. Denn ich hab kein Plan, wie ich rauskriegen soll, auf welcher Ebene der aktuell geladene mc überhaupt liegt um den nächsten dann eine Ebene Höher laden zu können. Also eigentlich brauche ich sowas = button1 onPress = load mc1 button2 onPress = load mc2 über mc1 durch swapDepth button3 onPress = load mc3 über mc2 " " wieder button1 onPress = load mc1 über mc 3 Für Lösungsansätze wäre ich wirklich dankbar. Prinzipiell weiß ich, dass ich swapDepth und getDepth brauche. Ich habe halt nur keine Ahnung, wie ich das in AS umsetzten soll und vor allem, wie ich das Button kombiniere, da ich dazu nirgends was gefunden habe!!! VIELEN DANK mfg Masterpi
__________________ Wie kommt mein Öl unter deinen Boden? |
| | |
| | #3 (permalink) |
| Ohne Worte Registriert seit: Jul 2004 Ort: Berlin
Beiträge: 472
|
Ja nextHighestDepth habe ich auch zuerst als Lösungsansetz gehabt, aber dann habe ich swapDepth im Forum entdeckt und dachte mir, dass man damit besser fährt. Aber danke, dann muss ich jetzt nur mal suchen, wie man die aktuelle Tiefe in einer Variable speichert und diese wieder ausliest!!! für weitere Vorschläge wäre ich natürlich wie immer verbunden. bis dann
__________________ Wie kommt mein Öl unter deinen Boden? |
| | |
| | #4 (permalink) | |
| voidboy Registriert seit: Sep 2004 Ort: München
Beiträge: 5.588
| Zitat:
PHP-Code: | |
| | |
| | #6 (permalink) | |
| ................ Registriert seit: Jun 2004
Beiträge: 15.890
| Zitat:
__________________ ternärer Konditionaloperator +++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++ | |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Dec 2005
Beiträge: 73
|
hi folks, wie binde ich den swapdepth am besten ein? mein folgendes geht leider nicht: function main(){ pc = new PictureChangerClass( 1000, 500, 10); pc.PictureChanger_mc.swapDepth(0); pc.setPicList(["1.jpeg", "2.jpeg", "3.jpeg", "4.jpeg"], "../HG_BILDER/"); pc.createUI( _root, "PictureChanger_mc", 1, 10, 10); // ich will ja die anzeige auf 0 laufen lassen, da die bilder im moment das ganze verblenden. aufgerufen wird das ganze in einem leeren frame (ganz oben in der zeitleiste), dann wird wieder ein AS aufgerufen usw. ich dachte mir schon das ich den AS-Frame mal nach ganz unten lege, haut aber auch nicht hin .plz hlp,thx |
| | |
| | #9 (permalink) |
| voidboy Registriert seit: Sep 2004 Ort: München
Beiträge: 5.588
|
Der Befehl heißt "swapDepths()" und wie man den verwendet kannst du in Flash selber nachlesen. Einfach mal die F1-Taste drücken und dann nach dem Befehl suchen... Kleiner Tipp, guck dir auch mal selber deinen geposteten Code an, kann ja nicht sein das alle anderen die dir helfen das tun und du hast keine Ahnung. PHP-Code: Geändert von rendner[i] (09-01-2006 um 11:45 Uhr) |
| | |
| | #10 (permalink) |
| Neuer User Registriert seit: Dec 2005
Beiträge: 73
|
hi, da steht leider nichts anwendbares. ist denn meine überlegung da flash so wie ich es gepostet habe? ich kriegs nicht raus, habe alles ausprobiert. ich konnte die bilder schon auf andere ebenen darstellen. das jene aber im hintergrund liegen klappt nicht. im flash_MC habe ich ganz normale menües etc. im ersten frame oben ist der as-aufruf etc. im as muss ich doch irgendwie den swap einbinden und zwar an der stelle wo er das leere mc-feld erzeugt oder nicht? und da beiße ich mich gerade aus ohne erfolg. das mit den pc.createUI( _root, "PictureChanger_mc", 0, 10, 10); wäre ja auch normale, aber da spricht er nichts drauf an. der fehler muss woanders sein.. Geändert von Compumaster (09-01-2006 um 11:48 Uhr) |
| | |
| | #12 (permalink) |
| Neuer User Registriert seit: Dec 2005
Beiträge: 73
|
was das script macht habe ich schon verstanden... warum aber die ebene nicht zu ändern ist, ist mir schleierhaft, da über die 1te koordi im creatUI nichts mit den ebenen zu ändern ist. drum dachte ich das ich das explizit mit einer funktion (swap...) beheben kann und frage nach. es läuft ja auch sonst alles bestens, nur das die eingebunden bilder alles verdecken. im ausgabefenster sehe ich das sie es auf dem _level0 ausstrahlen.?!? und bitte mal ne hilfe hierzu, danke.. in der fla sind nur ein paar buttons und grafiken, die ich jetzt aber nicht posten kann da es für einen kunden ist. die eigentliche arbeit und der erste aufruf ist mit dem AS verbunden und fängt im ersten obersten frame mit folgendem an: #include "../include/main.as" hier die main: /* PictureChanger main @author @version 1.0 @lastChange */ #include "../include/com.qlod.app.LoaderClass.as" #include "../include/WrapListClass.as" #include "../include/easing_equations.as" #include "../include/TransitionClass.as" #include "../include/TransitionAlphaCrossfadeClass.as" #include "../include/TransitionRotateAndScaleClass.as" #include "../include/TransitionRandomDotsClass.as" #include "../include/TransitionEvenOddStripesClass.as" #include "../include/TransitionSqueezeClass.as" #include "../include/PictureChangerClass.as" //-------------------------------------------------------------- // Das Hauptprogramm // Erzeuge eine Instanz der neuen Klasse, // initialisiere sie und starte den Bilderwechsler var XMLdaten = new XML(); XMLdaten.ignoreWhite = true; XMLdaten.load("../XML/textfelder_daten.xml"); XMLdaten.onLoad = function(success) { Area1Row1.Text = XMLdaten.firstChild.childNodes[0].attributes.title; Area1Row2.Text = XMLdaten.firstChild.childNodes[0].attributes.text1; Area1Row3.Text = XMLdaten.firstChild.childNodes[0].attributes.text2; Area1Row4.Text = XMLdaten.firstChild.childNodes[0].attributes.more; Area2Row1.Text = XMLdaten.firstChild.childNodes[1].attributes.title; Area2Row2.Text = XMLdaten.firstChild.childNodes[1].attributes.text1; Area2Row3.Text = XMLdaten.firstChild.childNodes[1].attributes.text2; Area2Row4.Text = XMLdaten.firstChild.childNodes[1].attributes.more; Area3Row1.Text = XMLdaten.firstChild.childNodes[2].attributes.title; Area3Row2.Text = XMLdaten.firstChild.childNodes[2].attributes.text1; Area3Row3.Text = XMLdaten.firstChild.childNodes[2].attributes.text2; Area3Row4.Text = XMLdaten.firstChild.childNodes[2].attributes.more; Area4Row1.Text = XMLdaten.firstChild.childNodes[3].attributes.title; Area4Row2.Text = XMLdaten.firstChild.childNodes[3].attributes.text1; Area4Row3.Text = XMLdaten.firstChild.childNodes[3].attributes.text2; Area4Row4.Text = XMLdaten.firstChild.childNodes[3].attributes.more; Area5Row1.Text = XMLdaten.firstChild.childNodes[4].attributes.title; Area5Row2.Text = XMLdaten.firstChild.childNodes[4].attributes.text1; Area5Row3.Text = XMLdaten.firstChild.childNodes[4].attributes.text2; Area5Row4.Text = XMLdaten.firstChild.childNodes[4].attributes.more; Area6Row1.Text = XMLdaten.firstChild.childNodes[5].attributes.title; Area6Row2.Text = XMLdaten.firstChild.childNodes[5].attributes.text1; Area6Row3.Text = XMLdaten.firstChild.childNodes[5].attributes.text2; Area6Row4.Text = XMLdaten.firstChild.childNodes[5].attributes.more; }; function main(){ pc = new PictureChangerClass( 1000, 500, 20); pc.setPicList(["1.jpeg", "2.jpeg", "3.jpeg", "4.jpeg"], "../HG_BILDER/"); pc.createUI( _root, "PictureChanger_mc", 1, 10, 10); // // in das Array können weitere Transitionklassen eingefügt werden pc.setTransitions([ new TransitionSqueezeClass(), new TransitionEvenOddStripesClass(), new TransitionRandomDotsClass(), new TransitionAlphaCrossfadeClass(), new TransitionRotateAndScaleClass() ]) pc.start(); } // main(); hier noch die changerclass /* PictureChangerClass @author @version 1.0 @lastChange */ // Erzeuge Instanz der Klasse o = _global.PictureChangerClass = function(){ if(arguments[0] == 'NO_INIT') return; this.init.apply( this, arguments); } // o = o.prototype; // // initialisiere die Instanzeigenschaften // und den Loader o.init = function( showtimeMs, transitionMs, transitionStepMs){ this.showtimeMs = showtimeMs; this.transitionMs = transitionMs; this.transitionStepMs = transitionStepMs; // this.ui = null; this.actPic = 0; this.picList = new WrapListClass(); // this.loader = new LoaderClass(); this.loader.setParamStyleObject(); this.loader.setMinSteps(5); this.loader.addListener( this); } // // erzeuge die Movieclips für die Anzeige o.createUI = function( base, name, depth, x, y){ this.ui = base.createEmptyMovieClip( name, depth); this.ui.createEmptyMovieClip("pic0", 0); this.ui.createEmptyMovieClip("pic1", 1); this.setPos( x, y); } // // positioniere die Anzeige o.setPos = function( x, y){ this.ui._x = x; this.ui._y = y; } // // intialisiere die Bilderliste o.setPicList = function( picList, directory){ this.picList.init( picList); this.directory = directory; } // o.setTransition = function(){ this.transition = this.transitions.get(); this.transitions.next(); this.transition.setTransitionCompleteHandler( this); } // o.setTransitions = function( transitions){ this.transitions = new WrapListClass( transitions); } // // liefere den Mc, der aktuell sichtbar ist o.getActPicMc = function(){ return this.ui["pic" + (this.actPic % 2)]; } // // liefere den Mc, der aktuell unsichtbar ist o.getNextPicMc = function(){ return this.ui["pic" + ((this.actPic + 1) % 2)]; } // // o.exchangePics = function(){ ++this.actPic % 2; } // // wird vom Loader aufgerufen, wenn das Laden beginnt // das neue Bild soll zunächst unsichtbar sein o.onLoadStart = function( loaderObj){ this.getNextPicMc()._alpha = 0; } // // wird vom Loader während des Ladens aufgerufen // zeigt eine feine rote Linie als Ladeanzeige o.onLoadProgress = function( loaderObj){ this.ui.clear(); this.ui.moveTo(0,-1); this.ui.lineStyle(0, 0xff0000); this.ui.lineTo( Math.floor(loaderObj.getStepPercent()), -1); } // // wird vom Loader aufgerufen, wenn das Laden endet // die rote Linie wird gelöscht und die Blende gestartet // wenn das Bild nicht geladen werden konnte, wird // die nächste Url geladen o.onLoadComplete = function( success, loaderObj){ this.ui.clear(); // if( success){ this.setTransition(); this.startTransition(); } else { this.exchangePics(); this.loadNextPic(); } } // // starte die Anzeigeschleife o.start = function(){ this.loadNextPic(); } // // stoppe die Anzeigeschleife o.stop = function(){ clearInterval( this.interval); } // // starte die Überblendung o.startTransition = function(){ this.transition.start( this.getActPicMc(), this.getNextPicMc(), this.transitionMs, this.transitionStepMs); } // // Überblendung ist ferti, start die Warteschleife o.onTransitionComplete = function(){ this.interval = setInterval( this, "onShow", this.showtimeMs); } // // wird im Interval aufgerufen // zeige das nächste Bild o.onShow = function(){ clearInterval( this.interval); this.loadNextPic(); } // // lade das nächste Bild o.loadNextPic = function(){ this.exchangePics(); this.loader.load( this.getNextPicMc(), this.getPicUrl()); this.picList.next(); } // // liefere die komplette Url des nächsten Bilds o.getPicUrl = function(){ var url = this.directory + this.picList.get(); //trace("getPicUrl " + url); return url; } // delete o; // die includes sind aber auch hier zu finden: OOP Spiel: Bildübergänge die restlichen AS sind für die Funktionen FadeIn und FadeOut Geändert von Compumaster (09-01-2006 um 12:37 Uhr) |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |