• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flash > ActionScript > ActionScript 2

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 27-07-2006, 23:38   #1 (permalink)
Neuer User
 
Registriert seit: Jul 2001
Beiträge: 95
Unhappy LoadClip Listener in Cellrenderer reagiert nicht

ich komm da nicht mehr weiter. diese cellrenderer klasse ist ganz schön kniffelig

folgende extension

PHP-Code:

import mx
.core.UIComponent;
class 
_com.ImageCellRenderer extends UIComponent {
    
    private var 
ImageCellHelper:MovieClip
    private var 
owner:MovieClip
    private var 
getDataLabel:Function;
    private var 
getCellIndex:Function;
    private var 
ClipLoader:MovieClipLoader;
    private var 
url:String;
    private var 
PreloadContainer:MovieClip;
    private var 
ImageContainer:MovieClip;
    private var 
ClipLoaderListener:Object;
    
    public function 
ImageCellRender()
    {
  
    }
    
    public function 
size():Void
    
{
        
ImageCellHelper.width __width;
           
ImageCellHelper.height __height;
        
ImageCellHelper.ImageContainer.width _global.GLOBAL_THUMBNAIL_DIM;
        
ImageCellHelper.ImageContainer.height _global.GLOBAL_THUMBNAIL_DIM;
        
ImageCellHelper.ImageContainer._x Math.round(__width 2) - Math.round(ImageCellHelper.ImageContainer.width 2);
        
ImageCellHelper.ImageContainer._y Math.round(__height 2) - Math.round(ImageCellHelper.ImageContainer.height 2);
        
PreloadContainer.MyLoader._x Math.round(__width 2);
        
PreloadContainer.MyLoader._y Math.round(__height 2);
    }
    
    public function 
createChildren():Void
    
{            
        
ImageContainer ImageCellHelper.createEmptyMovieClip("ImageContainer",ImageCellHelper.getNextHighestDepth());
        
PreloadContainer ImageCellHelper.createEmptyMovieClip("PreloadContainer",ImageCellHelper.getNextHighestDepth());
        
PreloadContainer.attachMovie("MyLoader","MyLoader",PreloadContainer.getDepth());
        
PreloadContainer.MyLoader.ProgressPercent.text "0";
        
size();
    }
    
    public function 
getPreferredHeight():Number
    
{
        return 
_global.SHOW_PHOTOS_ROW_HEIGHT
    
}
    
    public function 
getPreferredWidth():Number
    
{
        return 
_global.SHOW_PHOTOS_ROW_HEIGHT
    
}
    
    public function 
setValue(sugg:String,item:Object,sele:String):Void
    
{
        
        if(
item[getDataLabel()] == undefined){
            
ImageCellHelper._visible false;
        }else{
            if(
item[getDataLabel()] != this.url){
                
this.url item[getDataLabel()];
                
ImageCellHelper._visible true;
                
                
ClipLoaderListener = new Object();  
                
ClipLoaderListener.onLoadProgress = function(target:MovieClip,bytesLoaded:Number,bytesTotal:Number):Void {
                    
PreloadContainer.MyLoader.ProgressPercent.text bytesLoaded.toString();
                }
                
                
ClipLoader = new MovieClipLoader();
                if(
item["gallery"] != undefined){
                    
ClipLoader.loadClip(_root.ROOT "_php/thumbnail.php?mode=" item["mode"] + "&id=" item[getDataLabel()] + "&max=" _global.GLOBAL_THUMBNAIL_DIM "&gallery=" item["gallery"],ImageCellHelper.ImageContainer);
                }else{
                    
ClipLoader.loadClip(_root.ROOT "_php/thumbnail.php?mode=" item["mode"] + "&id=" item[getDataLabel()] + "&max=" _global.GLOBAL_THUMBNAIL_DIM,ImageCellHelper.ImageContainer);
                }
                
ClipLoader.addListener(ClipLoaderListener);
            }
        }
    }

im prinzip alles perfekt nur der listener will nicht machen um die onLoadProgress auszuführen. ich kann mir das nur damit erklären das die funktion in einer funktion liegt oder ich weiss es nicht das ist so verwirrend und ich bin echt verzweifelt weil ich es net checke? kann jemand helfen ?

t*
tschuggimann ist offline   Mit Zitat antworten
Alt 28-07-2006, 00:59   #2 (permalink)
dreizeiler
 
Benutzerbild von mojave
 
Registriert seit: Sep 2004
Ort: Berlin
Beiträge: 1.411
du bist im falschen scope.

PHP-Code:
    public function setValue(sugg:String,item:Object,sele:String):Void
    
{
        var 
scope:Object this;     
        if(
item[getDataLabel()] == undefined){
            
ImageCellHelper._visible false;
        }else{
            if(
item[getDataLabel()] != this.url){
                
this.url item[getDataLabel()];
                
ImageCellHelper._visible true;
                
                
ClipLoaderListener = new Object();  
                
ClipLoaderListener.onLoadProgress = function(target:MovieClip,bytesLoaded:Number,bytesTotal:Number):Void {
                    
scope.PreloadContainer.MyLoader.ProgressPercent.text bytesLoaded.toString();
                }
                
                
ClipLoader = new MovieClipLoader();
                if(
item["gallery"] != undefined){
                    
ClipLoader.loadClip(_root.ROOT "_php/thumbnail.php?mode=" item["mode"] + "&id=" item[getDataLabel()] + "&max=" _global.GLOBAL_THUMBNAIL_DIM "&gallery=" item["gallery"],ImageCellHelper.ImageContainer);
                }else{
                    
ClipLoader.loadClip(_root.ROOT "_php/thumbnail.php?mode=" item["mode"] + "&id=" item[getDataLabel()] + "&max=" _global.GLOBAL_THUMBNAIL_DIM,ImageCellHelper.ImageContainer);
                }
                
ClipLoader.addListener(ClipLoaderListener);
            }
        }
    } 
mojave ist offline   Mit Zitat antworten
Alt 28-07-2006, 10:34   #3 (permalink)
Neuer User
 
Registriert seit: Jul 2001
Beiträge: 95
Thumbs up

lobpreiset diesen mann wenn man selber kein licht im hirn hat - es ist logisch wie einfach - man dankt
tschuggimann 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 02:39 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele