Zurück   Flashforum > Flash > Flash Einsteiger

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 04-03-2012, 15:43   #1 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 24
Letztes Schlüsselbild mit-animieren

Hallo Leute,
falls es in dieser Richtung schon mal eine Frage und Antwort gab, tut es mir Leid! Wusste nicht nach was ich suchen kann.

Es ist so, dass ich in AS 3 per:
Code:
var myTween:Tween = new Tween(slides_mc, "x", Regular.easeInOut, -512, 512, 0.5, true);
von einem Schlüsselbild zum nächsten switche. Und rückwärts dann eben mit:
Code:
var myTween:Tween = new Tween(slides_mc, "x", Regular.easeInOut, 1536, 512, 0.5, true);
Jetzt hätte ich aber gerne, dass nicht nur das neue Schlüsselbild rein fährt, sondern das letzte quasi auch raus geschoben wird.
Händisch würde das ganze ja gehen, wenn ich neben jeden Schlüsselbild, das alte auch noch ran setzte. Nur hätte ich das ganze eben gerne automatisch per Code, oder einer Art Objekt Instanz die sich aktualisiert, sobald ich den Content ändere.

Wisst ihr was ich meine und habt ihr eine Idee?

Grüße

jb_
jb_alvarado ist offline   Mit Zitat antworten
Alt 04-03-2012, 16:02   #2 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 18.047
Zitat:
Zitat von jb_alvarado Beitrag anzeigen
Wisst ihr was ich meine
nein

mit dem tween wird die x-eigenschaft von slides_mc verändert.
was meinst du in diesem zusammenhang mit Schlüsselbild ? (ein Schlüsselbild ist ein key in der zeitleiste)

"..oder einer Art Objekt Instanz die sich aktualisiert, sobald ich den Content ändere.."
???
soll das ganze eine bildershow geben? und die bilder sollen waagrecht durchgescrollt werden?
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 04-03-2012, 16:07   #3 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 24
Zitat:
Zitat von hgseib Beitrag anzeigen
soll das ganze eine bildershow geben? und die bilder sollen waagrecht durchgescrollt werden?
Vom Prinzip her ja, wobei der Content variieren wird. Text, Bild, Clip, etc.
jb_alvarado ist offline   Mit Zitat antworten
Alt 04-03-2012, 16:09   #4 (permalink)
Flash-Designer
 
Benutzerbild von Martin Kraft
 
Registriert seit: May 2006
Ort: Wiesbaden
Beiträge: 7.306
Zitat:
Zitat von jb_alvarado Beitrag anzeigen
Wisst ihr was ich meine...
Ehrlich gesagt: nein. Du hast den Code zu zwei Tweenings gepostet, die die x-Position eines slider_mc animieren und sprichst die ganze Zeit von irgendwelchen Schlüsselbildern, die Du switchen willst Irgendwie fehlt mir da der Zusammenhang...
  • Wie sieht denn die Struktur Deiner FLA aus?

  • Hast Du Deinen Code auf verschiedenen Frames verteilt und rufst ihn dann auf, indem Du diese ansteuerst? (nicht empfehlenswert!)

  • Was genau soll das überhaupt werden? Sowas wie eine Bildergalerie, bei der die Bilder von der Seite rein und rausfahren?! Wenn ja:
    • Wo liegen diese Bilder?
    • Lädst Du sie extern nach?
    • Oder liegen sie auf verscheiden Frames eines MC? (nicht empfehlenswert!)

P.S.: Ich tippe einfach zulangsam
__________________
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!

Geändert von Martin Kraft (04-03-2012 um 16:10 Uhr)
Martin Kraft ist offline   Mit Zitat antworten
Alt 04-03-2012, 16:19   #5 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 24
Ja habe mich schlecht ausgedrückt... Hocke heute seit 2 Jahren mal wieder vor Flash, und tue mich gerade noch etwas schwer mit der Terminologie.

Das Ganz soll eine Vorlage für Präsentationen werden. Und ja vom Prinzip her wie eine Bilder Slidshow.
Hätte mir dafür schon gerne die einzelnen Seiten auf verschiedene Frames, innerhalb eines Movieclips, angelegt. Der Content wird später eingebettet und liegt nicht extern.
Hätte gerne so einen ähnlichen Effekt wie der Adobe Folio Viewer hat, beim umblättern. Denke die IPhones haben das auch.

Die Struktur schaut so aus:

Unterster Layer: BG
2. Layer: Folien (Movieclip), in dem die Seiten rein sollen
3. Layer: Script

Ich hänge einfach mal die Datei ran.
Angehängte Dateien
Dateityp: fla Präsi.fla (6,8 KB, 2x aufgerufen)

Geändert von jb_alvarado (04-03-2012 um 16:22 Uhr)
jb_alvarado ist offline   Mit Zitat antworten
Alt 04-03-2012, 16:23   #6 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 18.047
Zitat:
Zitat von jb_alvarado Beitrag anzeigen
Vom Prinzip her ja, wobei der Content variieren wird. Text, Bild, Clip, etc.
dann schreibe ich dir vom prinzip her ;-)

mach alles in einem einzigen frame, keine zeitleiste.
erstelle ein mc == ein container für text, bild, clip, etc.
diesen mc via programm rein und raus bewegen usw.
meinetwegen auch mehrere dieser mc's. die können kann zeitgleich rein und raus und übereinander und purzelbäume und was auch immer machen.

- jedenfalls weg von der zeitleiste!
- eine aufgabe/klasse ist der container: mit inhalten füllen
- eine andere aufgabe ist die präsentation: inhalt durch z.b. reinschieben anzeigen
- die 3. aufgabe ist eine steuerung, mit der man vor und zurück blättern kann

da fällt mir ein, es gibt doch solche page-blätter dinger. man muss das rad nicht neu erfinden.
google mal nach:
AS3 pageflip
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de

Geändert von hgseib (04-03-2012 um 16:29 Uhr)
hgseib ist offline   Mit Zitat antworten
Alt 04-03-2012, 16:57   #7 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 24
Zitat:
Zitat von hgseib Beitrag anzeigen
da fällt mir ein, es gibt doch solche page-blätter dinger. man muss das rad nicht neu erfinden.
google mal nach:
AS3 pageflip
Hätte auch lieber was fertiges gehabt, aber finde da nix gescheitest. Wenn ich nach pageeflip suche, kommen nur Sachen, wo die Seite wie in einem Buch umgeblättert wird, und das möchte ich nicht.

Momentan kann ich mich mit dem Gedanken noch nicht anfreunden alles auf einen Frame zu packen, scheint mir für das Layouten etwas unpraktisch zu sein. Ansonsten klingt es schon einleuchtend.
Sehe das aber schon richtig, dass ich dann bei 20 Seiten, a 1024px, dann eine Arbeitsfläche von 20*1024 habe? Dabei muss ich mich dann leider auch in der Scrollrichtung festlegen, also entweder von Oben nach Unten, oder von Links nach Rechts.

Ansonsten danke ich Dir erst mal für die Antwort!
jb_alvarado ist offline   Mit Zitat antworten
Alt 04-03-2012, 17:49   #8 (permalink)
Keine Panik
 
Registriert seit: Apr 2010
Ort: Düsseldorf (im ernst)
Beiträge: 2.674
Zitat:
Sehe das aber schon richtig, dass ich dann bei 20 Seiten, a 1024px, dann eine Arbeitsfläche von 20*1024 habe?
nein, du hast 20 MovieClips mit einer Fläche von je 1024 px.

Zitat:
Dabei muss ich mich dann leider auch in der Scrollrichtung festlegen, also entweder von Oben nach Unten, oder von Links nach Rechts.
eben nicht. Es ist Sache des Scriptes, die Objekte zu bewegen. Auch wie es sie bewegt!

Zitat:
Momentan kann ich mich mit dem Gedanken noch nicht anfreunden alles auf einen Frame zu packen, scheint mir für das Layouten etwas unpraktisch zu sein.
Sieh es so: aus 1 Frame/Seite wird 1 MovieClip/Seite

Wieso?
- du kannst leichter Ein-, aus- und Überblend-Effekte machen
- Actionscript ist Frameübergreifend => Wenn du auf mehreren Frames die selben Variablen benutzt, kommt es schnell zu kollisionen
- es ist leichter Reihenfolgen zu ändern, oder noch was einzuschieben, als wenn du anfangen musst, die Frames zu verschieben
- letzlich dient das ganze mehr der Übersicht, als für sonst etwas.
Es geht darum alles in kleine, überschaubare und ggf austauschbare Einheiten zu zerlegen und zusammenzufassen.
Für Aufgaben und Datenstrukturen nimmt man Klassen, fürs Visuelle Movieclips (besser Sprites)

Das war jetzt nicht (nur) auf dein konkretes Problem bezogen, sondern eher als allgemeiner Rat zum Aufbau, und Herangehensweise an das ganze.
__________________
greetz Thomas

plz RTFM & Coding Conventions
thomas_E ist offline   Mit Zitat antworten
Alt 04-03-2012, 17:57   #9 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 24
Ah ok, jetzt bin ich im Bilde! Ich danke dir für die Erklärung! Habe jetzt erst mal einige Anhaltspunkte, wo ich mich rein lesen kann.

Edit: Ja fein, geht ja einfacher als ich dachte .

Geändert von jb_alvarado (04-03-2012 um 19:01 Uhr)
jb_alvarado ist offline   Mit Zitat antworten
Alt 05-03-2012, 15:16   #10 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 24
Ich muss jetzt hier doch noch mal nachfragen. Ich würde das ganze jetzt gerne mit Transitions lösen, aber leider bekomme ich nur die ersten beiden Folien so hin, aber der 3. Greift der Code nicht mehr.

Code:
function fl_nextSlide():void
{
	
	if( slides_mc1.x == 512 )
	{
		slides_mc2.x = 512;
		TransitionManager.start(slides_mc1,{type:Fly, direction:Transition.OUT, duration:0.5, easing:Strong.easeInOut, startPoint:6});
		TransitionManager.start(slides_mc2,{type:Fly, direction:Transition.IN, duration:0.5, easing:Strong.easeInOut, startPoint:4});
	}
	else if ( slides_mc2.x == 512 )
	{		
		slides_mc3.x = 512;
		TransitionManager.start(slides_mc2,{type:Fly, direction:Transition.OUT, duration:0.5, easing:Strong.easeInOut, startPoint:6});
		TransitionManager.start(slides_mc3,{type:Fly, direction:Transition.IN, duration:0.5, easing:Strong.easeInOut, startPoint:4});
	}
}
Wenn ich hier "else if ( slides_mc2.x == 512 )" mit "else if ( slides_mc2.x <= 512 )" austausche, funktioniert es sporadisch, aber auch nicht immer.

Könnt ihr mir hier noch mal weiterhelfen?
jb_alvarado ist offline   Mit Zitat antworten
Alt 05-03-2012, 17:06   #11 (permalink)
Techniker
 
Benutzerbild von hgseib
 
Registriert seit: Sep 2003
Ort: 64807
Beiträge: 18.047
eine feste definition in einer funktion ist vielleicht ungeschickt.
übergebe slides_mc1..3 als parameter.

if( slides_mc1.x == 512 )
solche tests sind mutig. besser z.b
if( slides_mc1.x => 512 )
weil wenn der wert nicht exakt 512 ist, sondern z.b. 511.99999999999999999 dann ist der test negativ


was meinst du mit Folien? flash kennt den begriff Folien, aber bestimmt in einem anderen zusammenhang.


"..aber der 3. Greift der Code nicht .."
was meinst du damit?

bei deinem programm
if( slides_mc1.x == 512 ) {
} else if ( slides_mc2.x == 512 ) {
kann immer nur eine variante gültig sein oder keine von beiden.
__________________
die ultimative antwort auf alle programmierfragen: der debugger
mfg h.g.seib www.SeibsProgrammLaden.de
hgseib ist offline   Mit Zitat antworten
Alt 05-03-2012, 17:06   #12 (permalink)
Neuer User
 
Registriert seit: Sep 2009
Beiträge: 24
Edit, habe es jetzt anders gemacht und es läuft erst mal.
Code:
var arrSlides:Array = new Array(slides_mc1, slides_mc2, slides_mc3);

for (var i=0; i<arrSlides.length; i++) 
{
	arrSlides[i].x = 512;
	arrSlides[i].y = 320;
}

var index:int = 0;
var tMgr:TransitionManager;

addChild(arrSlides[index]);




// EVENTS
stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_changeSlideKeyboard);
function fl_changeSlideKeyboard(evt:KeyboardEvent):void
{
	if(evt.keyCode == 37 || evt.keyCode == 38) // LEFT
	{
		fl_prevSlide();
	} 
	else if (evt.keyCode == 39 || evt.keyCode == 32 || evt.keyCode == 40) // RIGHT OR SPACE
	{
		fl_nextSlide();
	}
}
// END EVENTS




// FUNCTIONS AND LOGIC
function fl_nextSlide():void
{
	tMgr = new TransitionManager(arrSlides[index]);
	tMgr.startTransition({type:Fly, direction:Transition.OUT, duration:0.5, easing:Strong.easeInOut, startPoint:6});

	//removeChild(arrSlides[index]);
	index++;

	if (index == arrSlides.length) 
	{
		index = 0;
	}

	tMgr = new TransitionManager(arrSlides[index]);
	addChild(arrSlides[index]);
	tMgr.startTransition({type:Fly, direction:Transition.IN, duration:0.5, easing:Strong.easeInOut, startPoint:4});
}

function fl_prevSlide():void
{
	tMgr = new TransitionManager(arrSlides[index]);
	tMgr.startTransition({type:Fly, direction:Transition.OUT, duration:0.5, easing:Strong.easeInOut, startPoint:4});

	//removeChild(arrSlides[index]);
	index--;

	if (index == arrSlides.length) 
	{
		index = 2;
	}

	tMgr = new TransitionManager(arrSlides[index]);
	addChild(arrSlides[index]);
	tMgr.startTransition({type:Fly, direction:Transition.IN, duration:0.5, easing:Strong.easeInOut, startPoint:6});
}

slides_mc1.gotoAndStop(1);
stage.scaleMode = StageScaleMode.SHOW_ALL;
// END FUNCTIONS AND LOGIC

stop();

Geändert von jb_alvarado (05-03-2012 um 17:15 Uhr)
jb_alvarado 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
MC- letztes frame nemoson Flash MX 3 10-05-2005 09:39
flash mx schlüsselbild vor 1. Schlüsselbild setzen Klaus.Buck Flash 4 und Flash 5 3 12-04-2004 09:20
.swf als letztes laden! chickendeath HTML und CSS 3 23-04-2003 13:51
ein letztes mal PRINT (); Duckster ActionScript 1 4 18-02-2002 16:43
goto letztes bild BlaX Flash 4 und Flash 5 2 29-08-2001 10:40


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 Uhr.

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


Copyright ©1999 – 2014 Marc Thiele