Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-05-2008, 12:50   #1 (permalink)
Neuer User
 
Benutzerbild von Fred aus B.
 
Registriert seit: Sep 2002
Ort: 20 km nördl. von Berlin
Beiträge: 172
Question Bilder mit onpress anzeigen

Hallo,

ich möchte mittels onpress und vor-zurück-Button Bilder anzeigen.
Ich kann zwar vorwärts klicken und die Bilder anzeigen, aber rückwärts geht es nicht mehr.
2 Bilder sind nur drin. Das ist die Mindestanzahl. Es können später aber noch welche dazukommen.
Vielleicht mach ich es auch zu kompliziert und es geht noch einfacher. Aber die Bilder sollen ja auch so in der Art eingefadet werden.
Vielleicht kann da mal jemand reinschauen und findet das Problem...

Besten Dank im Voraus
F.
Angehängte Dateien
Dateityp: zip test_defekt.zip (48,4 KB, 2x aufgerufen)
__________________
Wer mich liebt der lacht. Wenn man mich sieht lachen alle.
Fred aus B. ist offline   Mit Zitat antworten
Alt 22-05-2008, 07:29   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Das solltest du ganz anders anfangen. Wenn du händisch Bilder in deinen Film legst und dann händisch einen Tween hinzufügst, hast du ein sehr statisches Script. Das mag zwar im ersten Moment für einen Einsteiger einfacher zu erstellen sein, wird dich aber sicherlich arg einschränken, wenn du bspw. 50 Bilder darstellen willst.

Ich würde zur Laufzeit einen leeren MC als Bildanzeige-Container erstellen und dann mit der MovieClipLoader-Klasse Bilder von extern nachladen. Die Liste der Bilder kannst du dir entweder mit einer Middleware wie PHP einlesen oder fest als Array in den Film setzen. Die Übergänge zwischen den Bildern kann man mit der Tween-Klasse erstellen. Mal als Ansatz:
PHP-Code:
import mx.transitions.*;

//Zähler
var index 0;

//Liste der Bilder
var urls = new Array("bild1.jpg""bild2.jpg","bild3.jpg");

//Anzahl der Bilder ermitteln
var len urls.length;

//leeren MC erzeugen und ggf. positionieren
this.createEmptyMovieClip("con",1);
this.con._x 100;
this.con._y 200;
this.con._alpha 0;//zuerst transparent


//erstes Bild laden und anzeigen
//dazu zuerst einen Lauscher erstellen
var mclListener:Object = new Object();

//und eine Instanz der MovieClipLoader-Klasse
var mcLoader:MovieClipLoader = new MovieClipLoader();

//Lauscher lauscht auf Ereignisse der MovieClipLoader-Klasse
mcLoader.addListener(mclListener);

function 
bildladen(url){
   
_root.url url;
   
//falls schon ein Bild geladen wurde den MC ausfaden:
   
if(_root.con._alpha 0){
      
//Transparenz von 100 nach 0
       
var tw = new Tween(mc"_alpha"mx.transitions.easing.None.easeNone01000.6true);

       
//nach Beenden der Animation:
       
tw.onMotionFinished = function() {
          
_root.nachladen(_root.url);
       }
   }
   else{
//beim ersten Mal gibt es noch kein vorhandenes Bild
      
_root.nachladen(_root.url);
   }
}

function 
nachladen(url){
    
//bild in den MC "con" laden
   
mcLoader.loadClip(url_root.con);

   
//Lauscher hat das Signal erhalten, dass das Bild 
   //fertiggeladen ist und in den MC gefüllt wurde
   
mclListener.onLoadInit = function(mc:MovieClip) {
      
trace("fertig, mc="+mc);
      
//jetzt den MC einfaden von alpha=0 bis alpha=100 in 0,6 Sekunden
      
var tw = new Tween(mc"_alpha"mx.transitions.easing.None.easeNone01000.6true);
   }
}



//erstes Bild des Arrays in den MC "con" laden
bildladen(urls[index]);


//für die Vorwärts- und Rückwärts-Schaltflächen zwei MCs erstellen
//und im Eigenschaftenbedienfeld Instanznamen setzen
//oder alternativ über attachMovie zur Laufzeit auf die Bühne bringen

//nach Klick auf Vorwärts:
meineVorwaertsschaltflaeche.onRelease = function(){
   
//Zähler erhöhen
   
_root.index ++;

   
//Ende der Liste erreicht?
   
if(_root.index _root.len){
      
//nein, also nächstes Bild laden
      
_root.bildladen(_root.urls[_root.index]);
   }
   else{
//Ende erreicht
      //wieder von vorne anfangen
      
_root.index 0;
      
_root.bildladen(_root.urls[_root.index]);
   }
}


//nach Klick auf Rückwärts:
meineRueckwaertsschaltflaeche.onRelease = function(){
   
//Zähler verringern
   
_root.index --;
   
//Anfang der Liste erreicht?
   
if(_root.index 0){
      
//nein, also vorheriges Bild laden
      
_root.bildladen(_root.urls[_root.index]);
   }
   else{
      
//Liste wieder von hinten anfangen
      
_root.index _root.len-1;
      
_root.bildladen(_root.urls[_root.index]);
   }
}


this.stop(); 
  Mit Zitat antworten
Alt 23-05-2008, 07:23   #3 (permalink)
Neuer User
 
Benutzerbild von Fred aus B.
 
Registriert seit: Sep 2002
Ort: 20 km nördl. von Berlin
Beiträge: 172
Exclamation

oha...da seh ich gar nicht durch, wo was hinkommt...ich wollte eigentlich auch nicht mehr als 7-8 Bilder anzeigen.....
__________________
Wer mich liebt der lacht. Wenn man mich sieht lachen alle.
Fred aus B. ist offline   Mit Zitat antworten
Alt 23-05-2008, 10:04   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Kommt alles in Frame 1 auf eine eigene Aktionen-Ebene. Auf der Bühne muss eigentlich überhaupt nichts liegen. Dann müsstest du aber die beiden Vorwärts-/Rückwärtsschaltflächen zur Laufzeit auf die Bühne bringen, am besten mit attachMovie.

Ansonsten würde es reichen, einen Frame mit den beiden Schaltflächen zu erstellen. Nimm besser MCs statt Buttons, mit MCs hast du mehr Möglichkeiten. Gib den beiden MCs bspw. die im Script genannten Instanznamen (MC anklicken und im Eigenschaftenbedienfeld den Instanznamen setzen).

Dann sollte das Script schon funzen...
  Mit Zitat antworten
Alt 23-05-2008, 10:13   #5 (permalink)
Neuer User
 
Benutzerbild von Fred aus B.
 
Registriert seit: Sep 2002
Ort: 20 km nördl. von Berlin
Beiträge: 172
Smile

Aha..ok....das werde ich mal versuchen.
Dank dir erstmal für deine Hilfe
__________________
Wer mich liebt der lacht. Wenn man mich sieht lachen alle.
Fred aus B. 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



Alle Zeitangaben in WEZ +1. Es ist jetzt 18:43 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele