Antworten auf deine Fragen:
Neues Thema erstellen

Bestimten Frame abspielen und zu anderem springen mit einem Knopfdruck?!

arcticfoxx

Noch nicht viel geschrieben

Hallo Leute.

Ersteinmal ich bin absoluter Flash-Anfänger!
Ich habe mal angefangen eine Webside zu basteln ganz schlicht um reinzukommen.
Hat soweit alles funktioniert mit verlinken und so.
Jetzt habe ich eine kleine Bildergallery hinzugefügt.

Zum Problem:
Die Bilder sind alle nacheinander auf der timeline aufgereit circa 40 frames pro Bild
wegen einer Animation.
Jedesmal wenn ich auf next klicke fährt ein weisser Balken von links nach rechts verdeckt das Bild fährt zurück und das nächste Bild kommt zum vorschein.
Das funktioniert soweit ganz gut. Nur wenn ich eben zurück möchte muss ja die Szene wie der Balken über das Bild fährt sich wiederholen (soweit kein Problem) nur an der Stelle an der das Bild komplet verdeckt sollte es zu dem Frame des Bildes davor springen und das vorherige Bild freigeben.

Bsp. erstes Bilder verdecken und nächstes Bild freigeben wäre von 60 - 100
(bei frame 80 Bild ganz verdeckt).
Das wäre eine Szene die sich durch drücken von next abspielt.

Bei prev sollten nun frame 60 - 80 (stoppen) und dann frame 40-60 abgespielt werden jetzt ganz vereinfacht.

Was für ein Befehl müsste ich da einbauen?

Vielen Dank schonmal im Voraus.
Und bitte nich vor dem PC zusammenbrechen warscheinlich ist das totaler uatsch wie ich das Aufbaue aber ich weis es nunmal nicht besser :)

http://www.jonathanwaiter.com/index.html
Diese Seite hat auch eine sehr schöne Bildergallery!
Wie würde man sowas generell aufbauen. Kann mir nicht vorstellen das ich mit meinem
Versuch auf dem richtigen Weg bin!
 
Zuletzt bearbeitet:

A

ad86

Guest

AW: Bestimten Frame abspielen und zu anderem springen mit einem Knopfdruck?!

Hi,

1. wäre es ja schon mal nicht schlecht zu wissen, ob AS2 oder AS3

2. Würde ich das komplett übers Script (und dem Laden einer XML-Datei) machen:

Ich geh mal von AS3 und einer Dokumentenklasse aus und jedes Bild ist gleich hoch:

Code:
package {

	//import Anweisungen
	
	public class ImgSlider extends MovieClip{

		protected var counter:uint=0;
		protected var actCounter:uint=0;
		protected var actIndex:uint=0;
		protected var lastIndex:uint=0;
		protected var img_mc:MovieClip;
		protected var imgMask_mc:MovieClip;
		protected var white_mc:MovieClip;
		protected var next_mc:MovieClip;
		protected var back_mc:MovieClip;
		protected var sliderTween:Tween;

		public function ImgSlider(){
			//Laden der XMl-Datei ueber URLLoader, ruft bei Erfolg (Event.COMPLETE)  completeHandler auf
		}

		protected function completeHandler(e:Event):void{
			var xml:XML= new XML (e.target.data);
			var leftPos:Number=0;
			img_mc= new MovieClip();
			for each (var item in xml.image){
				counter++;
				var loader:Loader= new Loader();
				loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeImgHandler);
				loader.x=leftPos;
				leftPos+=Number(item.width);
				img_mc.addChild(loader);
				loader.load(new URLRequest(item.url));
			}
		}
		protected function completeImgHandler(e:Event):void{
			actCounter++;
			if (actCounter>=counter){
				var imgWidth:Number= img_mc.getChildAt(0).width;
				var imgHeight:Number= img_mc.getChildAt(0).height;
				imgMask_mc= new MovieClip();
				imgMask_mc.graphics.beginFill(0xFF000000);
				imgMask_mc.graphics.drawRect(0,0,50,50);
				imgMask_mc.graphics.endFill();
				imgMask_mc.width= imgWidth;
				imgMask_mc.height= imgHeight;
				img_mc.mask=imgMask_mc;
				this.addChild(img_mc);
				this.addChild(imgMask_mc);
				next_mc= new MovieClip();
				next_mc.graphics.beginFill(0xFF0000);
				next_mc.graphics.drawRect(0,0,50,50);
				next_mc.graphics.endFill();
				next_mc.x=imgWidth-50;
				next_mc.y=imgHeight;
				next_mc.addEventListener(MouseEvent.CLICK, nextHandler);
				this.addChild(next_mc);
				back_mc= new MovieClip();
				back_mc.graphics.beginFill(0xFF0000);
				back_mc.graphics.drawRect(0,0,50,50);
				back_mc.graphics.endFill();
				back_mc.x=0;
				back_mc.y=imgHeight;
				back_mc.addEventListener(MouseEvent.CLICK, backHandler);
				this.addChild(back_mc);
				white_mc= new MovieClip();
				white_mc.graphics.beginFill(0xFFFFFF);
				white_mc.graphics.drawRect(0,0,50,50);
				white_mc.graphics.endFill();
				white_mc.visible=false;
				this.addChild(white_mc);
				
			}
		}

		protected function nextHandler(e:MouseEvent):void{
			if (actIndex<counter-1){
				lastIndex=actIndex;
				actIndex++;
				showImg();
			}
		}

		protected function backHandler(e:MouseEvent):void{
			if (actIndex>0){
				lastIndex=actIndex;
				actIndex--;
				showImg();
			}
		}

		protected function showImg():void{
			var maxWidth:Number=Math.max(img_mc.getChildAt(lastIndex).width,img_mc.getChildAt(actIndex).width);
			white_mc.height=img_mc.getChildAt(lastIndex).height;
			white_mc.width=maxWidth;
			white_mc.x=-white_mc.width;
			white_mc.visible=true;
			sliderTween = new Tween(white_mc, "x", None.easeOut, white_mc.x, 0, 1, true);
			sliderTween.addEventListener(TweenEvent.MOTION_FINISH, showNextImg);
		}

		protected function showNextImg(e:TweenEvent):void{
			if (lastIndex<actIndex){
				img_mc.x=-(img_mc.getChildAt(lastIndex).x+img_mc.getChildAt(lastIndex).width);
			}
			else{
				if (actIndex-1>=0){
					img_mc.x=-(img_mc.getChildAt(actIndex-1).x+img_mc.getChildAt(actIndex-1).width);
				}
				else{
					img_mc.x=0;
				}
				
			}
			imgMask_mc.width=img_mc.getChildAt(actIndex).width;
			var sliderTween:Tween = new Tween(white_mc, "x", None.easeOut, white_mc.x, -white_mc.width, 1, true);
		}
	}
}

Mfg ad86
 

arcticfoxx

Noch nicht viel geschrieben

AW: Bestimten Frame abspielen und zu anderem springen mit einem Knopfdruck?!

Hey und Hallo

Vielen Dank für die Antwort! Aber durch mehr und mehr herumstöbern sehe ich das mir einfach noch zuviele Grundkenntnisse fehlen um das umsetzten zu können.
Hätte wirklich nicht gedacht das es so komplex wird da es eine total schlichte page werden soll.
Aber ich will das Ding sauper und richtig aufbauen und denke dazu brauche ich einfach viel viel mehr Informationen.

Trotzdem vielen Dank für die Antwort.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Keine Mitglieder online.

Statistik des Forums

Themen
118.619
Beiträge
1.538.363
Mitglieder
67.540
Neuestes Mitglied
Alex Weidner
Oben