Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-10-2004, 12:23   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2004
Beiträge: 4
Problem bei kommunikation mit php-file

Hallo,

Ich versuche gerade eine Art Bildlaufleiste zu bauen... Dafür will ich alle möglichen Bilder, die alle die gleiche höhe haben, jedoch unterschiedlich breit sind aneinander hängen; dynamisch einladen wohlgemerkt, so dass ich weitere bilder einfach nur in den ordner mit reinschmeissen muss....

Nun, ich bin soweit, dass ich bilder dynamisch einladen kann, und ich bin zu der Erkenntnis gelangt, dass Ich die Bildgröße wohl über ein externes php-script einladen muss...

nun, ich habe noch nicht die erfahrung damit, wahrscheinlich mach ich einen ganz dummen fehler... auf jeden fall hab ich es mal folgendermaßen probiert:

Im Flashfilm habe ich eine flashfilm "seta", in diesen erstell ich pro bild einen leeren movieclip ("box1", "box2", etc; jeweils auf ne eigene ebene); dann lege ich noch meine y variable auf 0 fest (der film soll ganz ausgefüllt werden von dem bilderstreifen), und versuche nun die x-variable so anzupassen, dass jedes weiter bild um die breite des vorherigen nach rechts versetzt erscheint....
dazu versuche ich in der for-schleife den pfad des aktuellen bildes über die variable path an eine phpdatei zu übergeben, und dann die breite des bildes über pic_w zurückzuholen...

ich glaube mein Weg, wie oben geschildert sollte richtig sein.. (oder weis jemand eine einfachere/bessere möglichkeit); was mach ich am script falsch??


hier der actionscript code...
Code:
stop();
nr = 10; //max bildnummer

xwert = 0;
LadeObj = new LoadVars();
LadeObj.onLoad = function() {
	pic_w = LadeObj.pic_w;
};

for (i=0; i<=nr; i++) {
	_root.seta.createEmptyMovieClip("box"+i, i);
	k++;
	loadMovie("pic"+i+".jpg", _root.seta["box"+i]);
	setProperty(_root.seta["box"+i], _x, xwert);
	setProperty(_root.seta["box"+i], _y, 0);
	LadeObj.path = "pic"+i+".jpg";
	LadeObj.sendAndLoad("filesize.php", LadeObj, "POST");
	xwert = xwert+pic_w;
}
und hier zu veranschaulichung noch der code in dem phpfile filesize.php (dieser funktioniert einwandfrei, hab ihn via GET-Funktion, also filesize.php?path=pic0.jpg getestet)
PHP-Code:
$php_path $_POST["path"];
$image_size GetImageSize("$php_path");

$php_width urlencode($image_size[0]);

echo 
"&pic_w=$php_width"

Geändert von Bailor (13-10-2004 um 12:24 Uhr)
Bailor ist offline   Mit Zitat antworten
Alt 13-10-2004, 12:26   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Du denkst da viel zu kompliziert. Die Bildgröße kannst du in Flash auch ermitteln, indem du ein Bild in einen leeren MC mit loadMovie nachlädst, mit einem Preloader kontinuierlich den Ladevorgang überprüfst und dann über die _width- und _height-Eigenschaft des MCs dessen Größe ermittelst.

Beispiele findest du hier im Forum unter "Suchen", Stichworte "Preloader", "Bildergalerie", "loadMovie" etc.

BTW: setProperty wird schon seit F5 nicht mehr genutzt...
  Mit Zitat antworten
Alt 13-10-2004, 12:28   #3 (permalink)
Neuer User
 
Registriert seit: Oct 2004
Beiträge: 4
hmpf toll...
gut, danke für den tipp... werd mal suchen

setproperty: hab mir den code irgendwo zusammengeklaut... an die verkürzung/optimierung hab ich mich noch ned gemacht...

(weis vielleicht irgendjemand trotzdem die lösung auf mein problem oben? evtl will ich ja irgendwann noch irgendwelche texte oder sonst was reinladen pro bild )

Geändert von Bailor (13-10-2004 um 13:06 Uhr)
Bailor ist offline   Mit Zitat antworten
Alt 13-10-2004, 14:21   #4 (permalink)
Neuer User
 
Registriert seit: Oct 2004
Beiträge: 4
hmm nächstes problem, zum thema preloader (ja ich weis.. suchfunktion usw...)

Code:
for (i=0; i<=nr; i++) {
	box.createEmptyMovieClip("pic"+i, i);
	box["pic"+i].loadMovie("pic"+i+".jpg");
	box.onEnterFrame = function() {
		var bytesloaded = box["pic"+i].getBytesLoaded();
		var bytestotal = box["pic"+i].getBytesTotal(); 
		trace ("loaded:"+bytesloaded+" , total:"+bytestotal);
	}
[...]
}
liefert mir immer nur undefined für die beiden load-variablen... Warum verdammt?
kann ich nicht auf den aktuellen movieclip via box["pic"+i] zugreifen?? Bzw. wie greife ich dnen dann auf die mcs in meiner box zu?

oder sollte ich den ganzen preloader für die einzelnen bilder reinsetzen? also etwas in pic0.onEnterFrame = ... ??

wenns sein muss erklärt mir die actionscript grundlagen ich wills auch "verstehen"...


[verständnisfrage:] um auf obiges problem zurück zukommen... ich soll preloaden, und wenn der vorgang abgeschlossen ist, die größe des neuen msc auslesen (_width oder?)

Geändert von Bailor (13-10-2004 um 14:25 Uhr)
Bailor ist offline   Mit Zitat antworten
Alt 13-10-2004, 15:11   #5 (permalink)
Neuer User
 
Registriert seit: Oct 2004
Beiträge: 4
hm, danke für die hilfe :-P letztendlich hab ichs doch noch selber geschafft...
für diejenigen, die vielleicht ein ähnliches problem haben, hier der code:

PHP-Code:
stop();
nr 10;
//hoechste Bildnummer
xwert 5;
this.createEmptyMovieClip("box"0);

for (
i=0i<=nri++) {
    
box.createEmptyMovieClip("pic"+ii);
    
box["pic"+i].loadMovie("pic"+i+".jpg");
}

box.onEnterFrame = function() {
    
xwert 0;
    for (
i=0i<=nri++) {
        
//var bloaded = box["pic"+i].getBytesLoaded();
        //var btotal = box["pic"+i].getBytesTotal();
        //if(bloaded>=btotal && btotal > 5) {
            
box["pic"+i]._x xwert;
            
xwert xwert box["pic"+i]._width;            
        
//}
    
}

der code erstellt sozusagen ein Banner, welches aus lauter bilder mit sleber höhe aber unterschiedlicher breite besteht...

Geändert von Bailor (13-10-2004 um 15:15 Uhr)
Bailor 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:50 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele