Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 21-06-2004, 19:39   #1 (permalink)
Gimbel Deluchs
 
Registriert seit: Apr 2004
Ort: Wieder da!
Beiträge: 153
Problem mit Pfad, mit loadClip() ein .jpg laden

Nabend,

folgende Ordnerstruktur:

/meinProjekt/Hauptfilm.swf

/meinProjekt/Exponate/exponat.swf

/meinProjekt/Exponate/filmplakate/bild.jpg

in meiner exponat.swf liegt folgender Code:

PHP-Code:
//Position für Inhalt
var inhX:Number 270;
var 
inhY:Number 50;
//Position für Thumbnial
var thumbX:Number 30;
var 
thumbY:Number 60;
var 
thumbBreite:Number 190;
//Variablen
var inhAktiv:Boolean false;
var 
scrollVerhH:Number;
var 
scrollVerhV:Number;
// 
// 
var oListener:Object = new Object();
var 
mclLadeThumb:MovieClipLoader = new MovieClipLoader();
//
//Listener wird an mclLadeBild gehängt
//
mclLadeThumb.addListener(oListener);
//
// Thumbnail des Plakates wird geladen
//
this.createEmptyMovieClip("mcThumbnail"this.getNextHighestDepth());
this.mclLadeThumb.loadClip("filmplakate/25_stunden.jpg"this.mcThumbnail);
oListener.onLoadInit = function(mcThumbnail:MovieClip) {
    
with (mcThumbnail) {
        var 
faktor:Number _width/thumbBreite;
        
_xscale 100/faktor;
        
_yscale 100/faktor;
        
_x thumbX;
        
_y thumbY;
        
        
    }
    
}; 
wenn ich meine exponat.swf test funzt das auch wunderbar. Aber jetzt kommts:

Wenn ich meine exponat.swf in meine Hauptfilm.swf lade dann findet Flash das Bild nicht mehr. Ändere ich jetzt meinen Pfad von
PHP-Code:
this.mclLadeThumb.loadClip("filmplakate/25_stunden.jpg"this.mcThumbnail); 
in
PHP-Code:
this.mclLadeThumb.loadClip("exponate/filmplakate/25_stunden.jpg"this.mcThumbnail); 
dann findet Flash das Bild. Wenn ich jetzt jedoch wieder meine exponat.swf teste wird hier das Bild nicht gefunden.

Wie muss der Pfad lauten damit es in beiden Varianten klappt?

Vielen Dank im Voraus

Gruss Frederik
Mr.Dauerfeuer ist offline   Mit Zitat antworten
Alt 21-06-2004, 23:15   #2 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Das wird nicht funktionieren, außer du legst alles in einen Ordner bzw. in eine Struktur, in der der Pfad von der html in beiden Fällen gleich ist.
Der Pfad zu externen Dateien muß immer von dem Verzeichnis aus erfolgen, in dem die html-Datei liegt, in der die "Haupt-swf" eingebunden ist. Also ist der Ort der html-Datei entscheidend, nicht der der swf

Gruß
Rena
__________________
www.rena-hermann.de

The angels have the phone box
rena ist offline   Mit Zitat antworten
Alt 21-06-2004, 23:25   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
er könnte theoretisch die eigenschaft

_url benutzen

die swf alleine aufgerufen würde den pfad ausspucken
http://.../meinProjekt/Exponate/exponat.swf

im hauptfilm _url aufgerufen würde wohl das hier produzieren
http://.../meinProjekt/Hauptfilm.swf

jetzt ne fallunterscheidung..wäre mir hier schon zu aufwendig und würde wie üblich und wie von rena genannt alle swfs in einem verzeichnis ablegen

deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 22-06-2004, 15:31   #4 (permalink)
Gimbel Deluchs
 
Registriert seit: Apr 2004
Ort: Wieder da!
Beiträge: 153
danke für die Hilfe, werde dann meine swfs alle in ein Verzeichniss legen. Habe leider schon wieder ein Problem.

Im folgenden Code:

PHP-Code:
//Position für Inhalt
var inhX:Number 270;
var 
inhY:Number 50;
//Position für Thumbnial
var thumbX:Number 30;
var 
thumbY:Number 30;
var 
thumbBreite:Number 190;
//Variablen
var inhAktiv:Boolean false;
// 
// 
var oListener:Object = new Object();
var 
mclLadeThumb:MovieClipLoader = new MovieClipLoader();
//
//Listener wird an mclLadeBild gehängt
//
mclLadeThumb.addListener(oListener);
//
// Thumbnail des Plakates wird geladen
//
this.createEmptyMovieClip("mcThumbnail"5000);
this.mclLadeThumb.loadClip("filmplakate/25_stunden.jpg"this.mcThumbnail);
oListener.onLoadInit = function(mcThumbnail:MovieClip) {
    
with (mcThumbnail) {
        var 
faktor:Number _width thumbBreite;
        
_xscale 100 faktor;
        
_yscale 100 faktor;
        
_x thumbX;
        
_y thumbY;
        
trace(mcThumbnail._width);
    }
    
binFertig();
};
function 
binFertig() {
    
this.mcThumbnail.onRollOver = function() {
    if (!
inhAktiv) {
        
this._parent.mcText._visible false;
        
duplicateMovieClip(this"mcBild"this._parent.getNextHighestDepth());
        
        
with (this._parent.mcBild) {
            
_xscale 200;
            
_yscale 200;
            
_x inhX;
            
_y inhY;
        }
        
this.attachMovie("lupe""lupe"this.getNextHighestDepth());
        
//Mouse.hide();
        
this.lupe.mover();
        
//Clip für Maske aus Bibliothek Laden 
        
this._parent.attachMovie("inhMaske""inhMaske"this._parent.getNextHighestDepth());
        
this._parent.inhMaske._x inhX;
        
this._parent.inhMaske._y inhY;
        
this.lupe._width this._parent.inhMaske._width 2;
        
this.lupe._height this._parent.inhMaske._height 2;
        
this._parent.attachMovie("rahmen""mcRahmen"this._parent.getNextHighestDepth(), {_x:inhX_y:inhY});
        
// Inhalt maskieren 
        
this._parent.mcBild.setMask(this._parent.inhMaske);
        
inhAktiv true;
        
bestimmterListener = new Object();
        
bestimmterListener.onMouseMove = function() {
            
mcBild._x inhX + (inhMaske._width 2) - (mcThumbnail._xmouse);
            
mcAuswahlGross._y inhY + (inhMaske._height 2) - (mcThumbnail._ymouse);
        };
        
Mouse.addListener(bestimmterListener);
    }
};
    
mcThumbnail.onRollOut = function() {
        if (
inhAktiv) {
            
this._parent.mcRahmen.removeMovieClip();
            
this._parent.mcText._visible true;
            
//this.lupe.stopDrag(); 
            
this.lupe.mover_aus();
            
this.lupe.removeMovieClip();
            
Mouse.show();
            
this._parent.inhMaske.removeMovieClip();
            
this._parent.mcBild.removeMovieClip();
            
inhAktiv false;
            
delete bestimmterListener.onMouseMove;
        }
    };
}
MovieClip.prototype.mover_aus = function() {
    
delete this.onEnterFrame();
};
MovieClip.prototype.mover = function() {
    
this.onEnterFrame = function() {
        
this._x this._parent._xmouse;
        
this._y this._parent._ymouse;
    };
}; 
funktioniert das dublizieren von mcThumbnail per dublicateMovie nicht. Obwohl alle Pfade korrekt sind wird einfach kein Dublikat erstellt. Sobald ich mein onRollOver nicht durch den Listener aufrufe, also mein Bild nicht extern ablege sondern aus der Bibliothek attache funktioniert das Dublizieren.

PHP-Code:
duplicateMovieClip(this"mcBild"this._parent.getNextHighestDepth()); 
diese Zeile erzeugt leider kein Dublikat.

Fummel schon seit etlichen Stunden an diesem Problem und bekomme es einfach nicht hin.


Hat da jemand ne Idee?


Vielen Dank im Voraus
Gruss Frederik
Mr.Dauerfeuer ist offline   Mit Zitat antworten
Alt 22-06-2004, 16:21   #5 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
trace dir mal das this denke das wird die object etc ausgeben aber nicht den gewünschten mc
mußte entweder explizit in oListener den pfad zum mc hinterlegen
oListener.pfad=_root.thumbnail oder this.thumbnail, dann kannste innerhalb des listeners darauf zugreifen
oder aber nen absoluten pfad wählen _root etc


gruß
deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 22-06-2004, 17:08   #6 (permalink)
Gimbel Deluchs
 
Registriert seit: Apr 2004
Ort: Wieder da!
Beiträge: 153
also getraced hab ich schon, trace(this); ergibt

_level0.mcThumbnail

das stimmt also und trotzdem funzt das nicht. Kann auch alle Eigenschaften des Mcs ausgeben.... Versuche mal die variante mit dem Pfad im Listener.
Mr.Dauerfeuer ist offline   Mit Zitat antworten
Alt 22-06-2004, 17:24   #7 (permalink)
Gimbel Deluchs
 
Registriert seit: Apr 2004
Ort: Wieder da!
Beiträge: 153
@Deluxe, schonmal many thanx für Deine Unterstützung


entweder bin ich zu dumm die Eigenschaft im Listener zu hinterlegen oder so geht das auch nicht.

oListener.pfad = this.mcThumbnail geht garnicht - trace ergibt undefined

oListener.pfad = "this.mcThumbnail" geht zu tracen aber mein dublicateMovie geht trotzdem nicht.


Mein Code sieht so aus:

PHP-Code:
oListener.onLoadInit = function(mcThumbnail:MovieClip) {
    
this.pfad "this.mcThumbnail";
    
with (mcThumbnail) {
        var 
faktor:Number _width thumbBreite;
        
_xscale 100 faktor;
        
_yscale 100 faktor;
        
_x thumbX;
        
_y thumbY;
    }
    
trace(oListener.pfad);
    
binFertig(oListener.pfad);
};
function 
binFertig(pfad:MovieClip) {
    
//trace(pfad);
    
this.mcThumbnail.onRollOver = function() {
    if (!
inhAktiv) {
        
this._parent.mcText._visible false;
        
pfad.duplicateMovieClip("mcBild"this._parent.getNextHighestDepth()); 
Mr.Dauerfeuer ist offline   Mit Zitat antworten
Alt 22-06-2004, 17:25   #8 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
wird den tatsächlich nicht dupliziert oder is der mc einfach nicht sichtbar?
trace(this._parent.mcBild)

überprüfe doch mal alles relevante per trace

und was mir auf die schnelle auffällt du setzt oben im script innerhalb eines with rumpfs ne variable
das funktioniert nicht, du kannst dort keine variablen initialisieren


deluxe
Deluxe ist offline   Mit Zitat antworten
Alt 23-06-2004, 08:34   #9 (permalink)
Gimbel Deluchs
 
Registriert seit: Apr 2004
Ort: Wieder da!
Beiträge: 153
nein der mc / das Objekt ist nicht vorhanden, wird im Debugger nicht aufgelistet und lässt sich auch nicht tracen *man man man ich dreh durch*

Hab mal die fla. ge-upped

dublicateMovie.rar
Mr.Dauerfeuer ist offline   Mit Zitat antworten
Alt 25-06-2004, 08:00   #10 (permalink)
Gimbel Deluchs
 
Registriert seit: Apr 2004
Ort: Wieder da!
Beiträge: 153
*thread nach vorne holen*

Hat denn keiner ne Idee? Ich steh total aufm Schlauch!
Mr.Dauerfeuer ist offline   Mit Zitat antworten
Alt 25-06-2004, 18:02   #11 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
oListener.onLoadInit = function(mcThumbnail:MovieClip) {
this.pfad = "this.mcThumbnail";
with (mcThumbnail) {

hinterleg dir im listener den pfad zum thumbnail oder sprech den pfad per _root an
also
oListener.pfad=this.thumbnail //zB, richtigen pfad einfügen
oListener.onLoadInit = function(mcThumbnail:MovieClip) {
trace(this.pfad)
//..
oder
oListener.onLoadInit = function(mcThumbnail:MovieClip) {
trace(_root.thumbnail)

fla brignt nix ohne mx2004
deluxe
Deluxe 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 04:39 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele