Zurück   Flashforum > Flash > ActionScript > ActionScript 3

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-07-2008, 15:53   #1 (permalink)
Aushilfs-Flasher
 
Registriert seit: Jul 2008
Beiträge: 144
Unhappy Externes Bild laden

Heyho!
Gehe ich richtig in der Annahme, dass es keine andere, als die folgende Möglichkeit gibt, ein externes Bild zu laden? (Das sind immerhin 5 Zeilen für ein einziges Bild)

Code:
var laden:Loader = new Loader();
var url:URLRequest = new URLRequest();

addChild(laden)
url.url = "pic.jpg";

laden.load(url)
Kann man nicht irgendwie ein Bild in ein Sprite laden?
Eddie_Mc_Flash ist offline   Mit Zitat antworten
Alt 28-07-2008, 15:56   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.139
Ne, die Informationen müssen schon sein.
Omega Psi ist offline   Mit Zitat antworten
Alt 29-07-2008, 12:24   #3 (permalink)
Aushilfs-Flasher
 
Registriert seit: Jul 2008
Beiträge: 144
hmmm, schade...

ok, danke
Eddie_Mc_Flash ist offline   Mit Zitat antworten
Alt 29-07-2008, 13:42   #4 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Ort: Oldenburg
Beiträge: 2.407
Wieso schade ?

Schreib's in eine Klasse und Du bist bei 2 Zeilen.( Der Aufruf)
Nico B. ist gerade online   Mit Zitat antworten
Alt 29-07-2008, 13:48   #5 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Ort: Oldenburg
Beiträge: 2.407
Da ich es selbst immer doof finde, Tipps ohne konkrete Beispiele zu bekommen, hier mal eine Bitmaploader Klasse:

PHP-Code:
package 
{
    
import flash.display.Bitmap;
    
import flash.display.BitmapData;
    
import flash.display.Loader;
    
import flash.display.Sprite;
    
import flash.events.Event;
    
import flash.events.ProgressEvent;
    
import flash.net.URLRequest;
    
import flash.events.IOErrorEvent;
    
    public class 
BitmapLoader extends Sprite
    
{
    static public const 
LOADER_READY:String "BL_Ready";
    static public const 
LOADER_STILL_LOADING:String "BL_IS_LOADING";
    static public const 
LOADER_FAILED:String "BL_failed";
            
        
        private var 
_loader:Loader = new Loader(); 
        private var 
_image:Bitmap;
        private var 
_bitmap:BitmapData;
        
        public function 
BitmapLoadersource:String)
        {            
            
_loader.contentLoaderInfo.addEventListener(Event.COMPLETEonComplete);
            
_loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESSstillLoading);
            
_loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERRORonError);
            
_loader.load( new URLRequest(source) );            
        }
        
        private function 
stillLoading(e:ProgressEvent):void 
        

            
dispatchEvent( new ProgressEvent LOADER_STILL_LOADING
                                              
falsefalsee.bytesLoadede.bytesTotal ) );
        }    
        
        
        private function 
onComplete(e:Event):void
        
{
            
_image    Bitmap(_loader.content);
            
_bitmap    _image.bitmapData
            
this.addChild(_image);
            
dispatchEvent( new EventLOADER_READY ) );
        }
        
        private function 
onErrore:IOErrorEvent ):void 
        
{
            
dispatchEvent( new Event(LOADER_FAILED)); 
        }  
    }

Die klasse ist nich zu 100% von mir, sondern glaube ich vom user "Lukas..." Bin mir aber nicht Sicher.
Habe noch einen Preloader miteingebaut, da ich ihn für mein Projekt gebraucht habe.


Aufrufen tust Du das Ganze so:

PHP-Code:
package 
{
    
import flash.display.Sprite;
    
import BitmapLoader;
    
import flash.events.Event;
    
    
import flash.events.ProgressEvent;
    
    
    public class 
Main extends Sprite
    
{
        
        private var 
_myImage:BitmapLoader;
        private var 
balken:Sprite;
        private var 
_percent:Number;

        
        
        public function 
Main():void
        
{    drawBalken();
           
            
_myImage              = new BitmapLoader("test.jpg");
            
_myImage.addEventListenerBitmapLoader.LOADER_READYaddImage);
            
_myImage.addEventListenerBitmapLoader.LOADER_FAILEDshowError);
            
_myImage.addEventListenerBitmapLoader.LOADER_STILL_LOADINGloadingListener);
        }
        
        
        private function 
drawBalken():void 
        
{
            
balken = new Sprite();
            
balken.graphics.beginFill(0xFFAAFF);
            
balken.graphics.drawRect(002002);
            
balken.100;
            
balken.100;        
            
balken.alpha 0;
            
addChild(balken);
        }
        
        
        private function 
loadingListener(e:ProgressEvent):void 
        
{    
            
_percent Math.round((e.bytesLoaded e.bytesTotal) * 100);
            
balken.alpha 1;
            
balken.width _percent;
            
//trace("LOADING");
        
}
            
        private function 
addImage(e:Event):void
        
{
           
addChild(_myImage); 
           
//addChild(e.currentTarget);
        
}  
        
        
        private function 
showError(e:Event):void 
        
{
            
trace("Fehler");
        }
        
    }

Den Aufruf habe ich eben auf die Schnelle geschrieben, daher verzeiht mir Unsauberheiten. (Bsp. den Balken)
Nico B. ist gerade online   Mit Zitat antworten
Alt 29-07-2008, 16:02   #6 (permalink)
Aushilfs-Flasher
 
Registriert seit: Jul 2008
Beiträge: 144
Hey Nico!

Eigentlich hätte mir dein Tip schon gereicht, doch nun hab ich gleich die fertige Klasse auf der Hand.

-> Vielen Dank, sehr nützlich das Ganze
__________________
Man muss nicht wissen, wie es geht,
man muss nur wissen, wo es steht.
Eddie_Mc_Flash ist offline   Mit Zitat antworten
Alt 29-07-2008, 16:47   #7 (permalink)
Neuer User
 
Registriert seit: Dec 2005
Ort: Oldenburg
Beiträge: 2.407
hehe, kein Problem.



lg, nico
Nico B. ist gerade online   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 13:01 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele