Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-03-2010, 14:23   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2010
Beiträge: 12
Angry unloadMovie in dynamischer Galerie funzt nicht (bzw. nur teilweise)

Hallo, liebe Gemeinde!

Habe folgendes Problem: Ich habe eine dynamische Bildergalerie gebastelt (aus diversen Scripts zusammengestückelt und verändert).
Wie gesagt, werden dynamisch Bilder geladen (als Button) und beim Klick darauf werden Sie in einen MC in der Mitte der Galerie geladen.
Funktioniert ganz gut, aber leider kriege ich den MC nicht mehr entladen, d. h. er "stapelt" einfach alle Bilder übereinander und wird dadurch mit jedem Bild langsamer.
Habe eine Smooth-Funktion für die Bilder, die diese in den MC lädt. Setze ich jetzt davor die unloadMovie-Funktion, funktioniert das reinladen per Smooth-Funktion nicht mehr. Mit ohne Smooth-Funktion, also ganz normal mit loadMovie geht es.
Wo steckt der Fehler?

Habe mal das AS hier angehangen (ist etwas chaotisch), ganz unten ist die entsprechende Stelle:

PHP-Code:
import flash.display.*;

function 
loadBitmapSmoothed(url:Stringtarget:MovieClip) {
    
// Create a movie clip which will contain our 
    // unsmoothed bitmap
   
    
var bmc:MovieClip target.createEmptyMovieClip(
        
"bmc",
        
target.getNextHighestDepth());



    
// Create a listener which will notify us when 
    // the bitmap loaded successfully
    
var listener:Object = new Object();

    
// Track the target
    
listener.tmc target;

    
// If the bitmap loaded successfully we redraw the 
    // movie into a BitmapData object and then attach 
    // that BitmapData to the target movie clip with 
    // the smoothing flag turned on.
    
listener.onLoadInit = function(mc:MovieClip) {
        
mc._visible false;

        var 
bitmap:BitmapData = new BitmapData(
            
mc._width
            
mc._height
            
true);

        
this.tmc.attachBitmap(
            
bitmap
            
this.tmc.getNextHighestDepth(),
            
"auto"
            
true);

        
bitmap.draw(mc);
    };

    
// Do it, load the bitmap now
   
    
var loader:MovieClipLoader = new MovieClipLoader();
    
loader.addListener(listener);
    
loader.loadClip(urlbmc);
}

///Haupt-MC erstellen:
this.createEmptyMovieClip("container_big"getNextHighestDepth()); 
container_big._x Stage.width container_big._width 2;
container_big._y Stage.height container_big._height 2;
container_big._alpha 100;

///Schatten für Haupt-MC (Abstand, Winkel, Farbe, Intensität, Weichzeichner x, Weichzeichner y, Übergriff, Aussparung)
import flash.filters.DropShadowFilter;
var 
dropShadow:DropShadowFilter = new DropShadowFilter(0450x0000000.3202023);
container_big.filters = [dropShadow];

///Platzhalter (container_big_innen) im Haupt-MC erstellen
  
container_big.createEmptyMovieClip("container_big_innen"getNextHighestDepth()); 
  
container_big.onEnterFrame = function() {
  if (
this.container_big_innen._height) {
      
delete this.onEnterFrame;
      
this._x = (1600-Stage.width)/2+(Stage.width-this.container_big_innen._width)/2
      
this._y = (1000-Stage.height)/2+(Stage.height-this.container_big_innen._height)/2-64
      }
  };





/////Smooth Funktion Teil 1 ---------------------------------------
MovieClip.prototype.smoothContent = function ():Void {
var 
m:MovieClip this;

var 
name:String m._name;
  var 
depth:Number m.getDepth();
  var 
parent:MovieClip m._parent;
  
  var 
b:flash.display.BitmapData = new flash.display.BitmapData(m._width,m._height);
  
b.draw(m);
  
  
parent.createEmptyMovieClip(name,depth);
  
  
m.attachBitmap(b,0,"manual",true);

////////////--------------------------------------------------------


var that this;
var 
mclListener:Object = new Object();

mclListener.onLoadInit = function(target_mc:MovieClip) {
   
target_mc._x = (target_mc._width) / 2;  
   
target_mc._y = (target_mc._height) / 2
};
var 
image_mcl:MovieClipLoader = new MovieClipLoader();


/// Smooth Funktion Teil 2-------------------------------
var o:Object = new Object();
image_mcl.addListener(o);
o.onLoadInit = function (target:MovieClip) {
  
target.smoothContent();

target._width*=0.28;
  
target._height*=0.28;
}
///---------------------------------------------------------------




/// Laden des ersten Bildes der Galerie: -----------------------------------

image_mcl.addListener(mclListener);

_root.container_1.createEmptyMovieClip("platzhalter"1);
image_mcl.loadClip("gallery/1.jpg"container_1.platzhalter);

loadBitmapSmoothed("gallery/1.jpg"container_big.container_big_innen);

/// Buttonfunktion für erstes Bild der Galerie
_root.container_1.onRelease = function()
{
///Geglättetes Bild in den Haupt-MC laden:
loadBitmapSmoothed("gallery/1.jpg"container_big.container_big_innen);

container_big.onEnterFrame = function() {
  if (
this.container_big_innen._height) {
      
delete this.onEnterFrame;
      
this._x = (1600-Stage.width)/2+(Stage.width-this.container_big_innen._width)/2
      
this._y = (1000-Stage.height)/2+(Stage.height-this.container_big_innen._height)/2-64
  }
};
};

/// Laden + Buttonfunktion der restlichen Bilder 

var bilder_array:Array = new Array(33);
var 
aktuelles_bild:Number 0;

  
aktuelles_bild ++; 

         

  
Laden();



function 
Laden() {
    
  if(
aktuelles_bild bilder_array.length){ 
      var 
nummer bilder_array.length bilder_array.length aktuelles_bild +1;

      
_root["container_"+nummer].createEmptyMovieClip("platzhalter"1); 
     
      
image_mcl.loadClip("gallery/"+nummer+".jpg""_root."+["container_"+nummer+".platzhalter"]);
     
     
_root["container_"+nummer].onRelease = function() 
     {
      
/// Geglättetes Bild laden:
        

Hier versuche ich unloadMovie:  



      
container_big.container_big_innen.unloadMovie();
      

//Mit loadmovie würde es gut funktionieren, aber leider sind dann die Bilder nicht geglättet:  

      //loadMovie("gallery/"+nummer+".jpg", container_big.container_big_innen);


//Leider funktioniert das ganze nach dem unloadMovie nicht mehr mit der Smooth-Funktion:  [/SIZE]

      
loadBitmapSmoothed("gallery/"+nummer+".jpg"container_big.container_big_innen);
  
      };


aktuelles_bild ++; 

Laden();

  } 
  
  else{ 
   
  } 
  } 

Geändert von scylares (26-03-2010 um 14:25 Uhr)
scylares ist offline   Mit Zitat antworten
Alt 30-03-2010, 12:52   #2 (permalink)
Neuer User
 
Registriert seit: Feb 2010
Beiträge: 12
Ist da wer?

Hallo, ist da wer??????????????
scylares ist offline   Mit Zitat antworten
Alt 30-03-2010, 14:15   #3 (permalink)
about nothing
 
Benutzerbild von M!ch!
 
Registriert seit: Mar 2002
Ort: Borken
Beiträge: 724
Hallo,

also ich bin kein Profi, aber versuch's mal mit:
PHP-Code:
this.container_big.container_big_innen.unloadMovie(); 
Viele Grüße
__________________
M!ch! ist offline   Mit Zitat antworten
Alt 30-03-2010, 19:27   #4 (permalink)
Neuer User
 
Registriert seit: Feb 2010
Beiträge: 12
Danke

Hey, Danke für die schnelle Antwort - ich werde es gleich mal testen!
scylares ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
bildergalerie, dynamisch, smooth, unloadmovie

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
unloadMovie funzt nicht! tomster5 Flash MX 5 05-06-2005 21:10
Galerie funzt nicht nach dem laden in ein mc maestro Flash MX 2004 2 17-08-2004 17:16
begrenzungsscript für xml galerie?! - funzt nicht Electric-X ActionScript 1 3 14-07-2004 09:17
Problem: Galerie mit fade in (ext. Bilder) funzt nicht JulieZ Flash MX 4 15-03-2004 21:54
dynamischer text wird teilweise nicht dargestellt :-/ sengaja Flash MX 6 19-04-2002 17:26


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

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


Copyright ©1999 – 2012 Marc Thiele