Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17-03-2004, 12:15   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 28
Bild auf MC Problem - yugop Menü

Hallo,

folgendes Problem:

Ich füllen eine Reihe von MC´s mit einem Bild und und lass mir das Ganze dann anzeigen. Das Teil beruht ursprünglich auf dem yugop Menü.
Das Problem ist eigentlich nur, dass ich das Bild nicht richtig skallieren kann, im Bezug auf fixe Werte für Höhe und Breite. Das Original hat auch Bilder aus der Biblo benutzt ... - bei mir werden sie extern geladen und haben unterschiedliche Breiten und Höhen.

Füllen der MC´s:
ActionScript:
  1. //Bild reinholen & MC zuweisen
  2.     s_p.die_MCs.mc1.mc_pic.loadMovie(randomprodarray1[1].getImage());
  3.     s_p.die_MCs.mc2.mc_pic.loadMovie(randomprodarray1[2].getImage());
  4. .
  5. .
  6. .
  7.    
  8.    
  9. //MC Produkttexte füllen
  10.     s_p.die_MCs.mc1.mc_text = randomprodarray1[1].getName();
  11.     s_p.die_MCs.mc2.mc_text = randomprodarray1[2].getName();
  12. .
  13. .
  14. .

In der Vorlage aus der Biblo steht noch folgendes:

ActionScript:
  1. this.onEnterFrame = function() {
  2.         if(this._height>0){
  3.         this.mc_pic._x = -50;
  4.         this.mc_pic._y = -50;
  5.                
  6.         //funzt nicht!!!
  7.         //this.mc_pic._height = 40;
  8.         //this.mc_pic._height = 50;
  9.                
  10.                
  11.         //funzt!!!
  12.                                 this.mc_pic._xscale=30;
  13.                                 this.mc_pic._yscale=30;
  14.                
  15.                
  16.     delete this.onEnterFrame;
  17.         }
  18. };
Die Frage ist nun, wie kann ich die Höhe und die Breite des mc´s genau festlegen?

So sieht es im Moment aus:
look at this
__________________
gruss Speiche

Geändert von Speiche (17-03-2004 um 12:18 Uhr)
Speiche ist offline   Mit Zitat antworten
Alt 21-03-2004, 14:29   #2 (permalink)
[Ernst Reiter]
 
Benutzerbild von Scrawer
 
Registriert seit: Jul 2001
Ort: austria
Beiträge: 3.691
es geht schon mit _width/_height.... nur musst du sicher stellen das zu dem zeitpunkt das pic auch schon zu 100% in den container geladen wurde......

...... z.b. in die richtung
ActionScript:
  1. this.createEmptyMovieClip("container", 1);
  2.  
  3. this.container.loadMovie("bild.jpg");
  4.  
  5. this.onEnterFrame = function()
  6. {
  7.     if (this.container.getBytesLoaded() >= this.container.getBytesTotal())
  8.     {
  9.         // bild ist zu 100% geladen
  10.  
  11.         if (this.container._height > 0)
  12.         {
  13.             // bild wurde indiziert
  14.        
  15.             delete this.onEnterFrame;
  16.        
  17.             // bild auf größe 50x50 px setzen
  18.             this.container._width = this.container._height = 50;
  19.         }
  20.     }
  21. };
__________________
Das Gesetz des Lebens liegt im Notwendigen. Der Reiz des Lebens liegt im Überflüssigen
m.f.g Scrawer (www.thinkspace.at)
Scrawer ist offline   Mit Zitat antworten
Alt 26-03-2004, 23:40   #3 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 28
Tatsache, das war die Lösung...dank dir
Scrawer
__________________
gruss Speiche
Speiche ist offline   Mit Zitat antworten
Alt 29-03-2004, 16:18   #4 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 28
Hab allerdings noch einen kleinen Nachklap:

Leider können unter Flash nicht alle Bilder angezeigt werden. Daher dachte ich mir, ich könnte in diesem Fall ein Ersatzbild zuweisen. Meine Lösung sieht wie folgt aus:

ActionScript:
  1. this.onEnterFrame = function()
  2. {
  3.     this.container._x = -45;
  4.     this.container._y = -55;
  5.    
  6.         if (this.container.getBytesLoaded() >= this.container.getBytesTotal()){
  7.             if(this.container.getBytesTotal() == (-1) || this.container.getBytesTotal() == 0){
  8.                 $ErsatzBild="no_pic_avail.jpg";
  9.                 this.container.loadMovie($ErsatzBild);
  10.             }if (this.container.getBytesLoaded() >= this.container.getBytesTotal()){
  11.                 // bild ist zu 100% geladen
  12.                 if (this.container._height > 0)
  13.                 {
  14.                         // bild wurde indiziert
  15.                         delete this.onEnterFrame;
  16.                         // bild auf größe 80x90px setzen
  17.                         this.container._width = 80;
  18.                         this.container._height = 90;
  19.                 }
  20.         }
  21.        
  22.         this.container.redraw(true);
  23. };
Nur leider treten dabei folgende Fehler auf:
-Ersatzbild wird auch nicht angezeigt.
-Ersatzbild wird statt vorhandenem Original angezeigt und
-wenn das Original angezeigt wird, dann gibt es u.U. Probleme mit der Skalierung - sprich sie wird gar nicht durchgeführt.
__________________
gruss Speiche
Speiche 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 20:35 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele