Zurück   Flashforum > Flex und AIR > Flex programmieren

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 06-08-2011, 14:07   #1 (permalink)
Neuer User
 
Registriert seit: Apr 2011
Beiträge: 33
mx:Image Source ändern?

Hallo liebe Com,

ich habe jetzt mal ein neues Projekt angefangen. Dabei handelt es sich um einen eigentlich simplen Timer. Allerdings sollen statt eines Textfeldes mit den Zahlen Bilder geladen werden bzw. besser gesagt angezeigt werden.

Die Bilder lade ich vor dem Start des Timers in einen Vector und möchte nun durch folgenden Code die Source der mx:image ändern:

PHP-Code:
        private function startTimer():void
        
{
            var 
timer:Timer = new Timer(1000,0);
            
timer.addEventListener(TimerEvent.TIMERonTimer);
            
timer.start();
        }
        
        private function 
onTimer(e:Event):void
        
{
            
this.seconds++;
            
            if(
this.seconds  10 )
            {
                
gui.sekundeEiner.source this.numbers[this.seconds];
            }
            else if((
this.seconds 10) && (this.seconds 20))
            {
                
gui.sekundeZehner.source this.numbers[1];
                
gui.sekundeEiner.source this.numbers[this.seconds];
            }
        } 
Aber (überraschung) es klappt natürlich nicht. Statt der Bilder bekomme ich immer nur einen leeren weißen Kasten angezeigt, mit dem lieben kleinen Icon oben links in der Ecke, dass mir signalisiert, dass das Bild nicht geladen werden konnte.

Was mache ich falsch?

Und eine zweite Frage: Wenn ich es schaffen sollte diesen Timer zu schreiben und diesen dann auf meine Homepage lade, läuft der Timer dann durch oder startet er jedes mal, wenn ein Besucher auf die Seite kommt neu? Wenn er jedesmal neu startet, wie kann ich dann einen Timer schreiben, der die Restzeit bis zu einem bestimmten Datum anzeigt?

So far
Wong

Hier noch die MX:Image:
PHP-Code:
        <s:HGroup> <!-- Die Stunden -->
            <
mx:Image id="stundeZehner" width="100" height="150"/>
            <
mx:Image id="stundeEiner" width="100" height="150"/>
        </
s:HGroup>
        
        <
s:HGroup>
            <
mx:Image id="minuteZehner" width="100" height="150"/>
            <
mx:Image id="minuteEiner" width="100" height="150"/>
        </
s:HGroup>
        
        <
s:HGroup>
            <
mx:Image id="sekundeZehner" width="100" height="150"/>
            <
mx:Image id="sekundeEiner" width="100" height="150"/>
        </
s:HGroup

Geändert von MrWong (06-08-2011 um 14:08 Uhr)
MrWong ist offline   Mit Zitat antworten
Alt 09-08-2011, 07:28   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Bremen
Beiträge: 13.382
Was steht denn in den Arrays drin?
Omega Psi ist offline   Mit Zitat antworten
Alt 09-08-2011, 14:21   #3 (permalink)
Neuer User
 
Registriert seit: Apr 2011
Beiträge: 33
PHP-Code:
        private function loadImgs():void
        
{
            for(var 
i:int 010i++)
            {
                var 
img:ImageLoader = new ImageLoader(i);
                
img.addEventListener(Event.COMPLETEonComplete);
                
numbers.push(img);
            }
        } 
und das ist Klasse "ImageLoader" :
PHP-Code:
package
{
    
import flash.display.Bitmap;
    
import flash.display.Loader;
    
import flash.events.Event;
    
import flash.events.EventDispatcher;
    
import flash.net.URLRequest;

    
internal class ImageLoader extends EventDispatcher
    
{
        private var 
picNumber:int;
        public var 
picture:Bitmap;
        
        public function 
ImageLoader(value:int)
        {
            
this.picNumber value;
            
            
loadImage();
        }
        
        private function 
loadImage():void
        
{
            var 
loader:Loader = new Loader();
            
loader.contentLoaderInfo.addEventListener(Event.COMPLETEonComplete);
            
loader.load(new URLRequest("Zahlen/"+this.picNumber+".png"));
        }
        
        private function 
onComplete(e:Event):void
        
{
            
this.picture e.target.content as Bitmap;
            
dispatchEvent(new Event(Event.COMPLETE));
        }
    }

So far

Geändert von MrWong (09-08-2011 um 14:49 Uhr)
MrWong ist offline   Mit Zitat antworten
Alt 09-08-2011, 14:42   #4 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Bremen
Beiträge: 13.382
Code:
gui.sekundeEiner.source = this.numbers[this.seconds].content as Bitmap;
Omega Psi ist offline   Mit Zitat antworten
Alt 09-08-2011, 14:46   #5 (permalink)
Neuer User
 
Registriert seit: Apr 2011
Beiträge: 33
Da wird mir direkt folgende Fehlermeldung ausgespuckt:
Zitat:
Zugriff auf eine möglicherweise nicht definierte Eigenschaft content über einen Verweis mit statischem Typ ImageLoader
MrWong ist offline   Mit Zitat antworten
Alt 09-08-2011, 15:48   #6 (permalink)
undefined
 
Benutzerbild von mildesign
 
Registriert seit: Jul 2001
Ort: Stuttgart
Beiträge: 1.859
PHP-Code:
gui.sekundeEiner.source this.numbers[this.seconds].picture as Bitmap
__________________
mfg Frank
mildesign ist offline   Mit Zitat antworten
Alt 09-08-2011, 16:55   #7 (permalink)
Neuer User
 
Registriert seit: Apr 2011
Beiträge: 33
Danke schön =) Damit ist das Problem gelöst

Vielen Dank

So far
MrWong ist offline   Mit Zitat antworten
Alt 09-08-2011, 22:07   #8 (permalink)
Neuer User
 
Registriert seit: Apr 2011
Beiträge: 33
Ok es gibt folgendes Problem:

Wenn ich beispielsweise 3 mal die 0 habe nehmen wir an es wäre folgende Zeit:

12 Stunden
20 Minuten
00 Sekunden

dann wird nur die letzte 0 auch tatsächlich angezeigt

Wie kann ich denn jedes Bild mehrfach anzeigen lassen?
MrWong ist offline   Mit Zitat antworten
Alt 14-08-2011, 18:12   #9 (permalink)
Neuer User
 
Registriert seit: Apr 2011
Beiträge: 33
Kann mir keiner dabei helfen?

So far


P.S.: Sorry für Doppelpost, aber ich kann meinen Beitrag ja nicht editieren ^^
MrWong ist offline   Mit Zitat antworten
Alt 14-08-2011, 18:33   #10 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Bremen
Beiträge: 13.382
Weil du nur einmal die Instanz des Bitmaps erzeugst und die dann wiederum nur einmal als source setzen kannst. Besser: 10 BitmapDatas erzeugen, sechs Bitmaps und dann einfach nur die BitmapDatas neu setzen. Du musst nur einmal das Bitmap als source der Images setzen.
Omega Psi 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
Image.source dynamisch ändern? robidd Flex programmieren 4 16-04-2011 15:00
image farbe ändern ? flozwo Flex programmieren 1 17-02-2009 15:17
image source mit AS zuweisen, Ladevorgang überwachen oresde Flex allgemein 1 02-04-2007 15:52
Source ändern ;) JahRastaWhaa HTML und CSS 10 18-07-2004 01:58
MovieClip Source ändern sandro ActionScript 1 5 28-07-2003 16:12


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:13 Uhr.

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


Copyright ©1999 – 2014 Marc Thiele