Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-06-2006, 16:18   #1 (permalink)
senior user
 
Benutzerbild von tobias_k
 
Registriert seit: Jun 2001
Ort: münchen
Beiträge: 425
dynamische MC Positionierung

Hallo zusammen,
ich hab ein kleines Problem mit der Positionierung von geladenen JPGs.

PHP-Code:
controler = new LoadVars();
controler.onLoad = function(geladen) {
    if (
geladen) {
        if (
this.done == "ok") {
            for (
i=1i<=anzahl+1i++) {
                
//_root.bilder.anzeige.createEmptyMovieClip("halter"+i,i);
                
_root.bilder.anzeige.attachMovie("halter","halter"+i,i,{_x:0_y:0});
                
// halter skalieren
                
with (_root.bilder.anzeige["halter"+i]) {
                    
_xscale=this["breite"+i]/2;
                }
                
// erstes bild ausschliessen...
                        
if (i>1) {
                        
with (_root.bilder.anzeige["halter"+i]) {
                            
weite _xscale*2;
                            
abstand 1;
                            
// abstand zum nächsten bild :-(
                            
_x = (weite+abstand)*i;
                            
//_root.ausgabe.text += weite+"-";
                            
}
                        }
                
movieloader();
            }
        }
    }
};
controler.load("anzahl.php",controler,"POST"); 
So weit ok. Die Bilder werden geladen.
Die Breiten kommen auch an und stimmen.
Nur die _x Positionierung spinnt. Die Abstände sind eher willkürlich
Also leere Stellen oder Bilder die sich überlager.

screenshot

Jemand 'ne Idee?
__________________
Multimedia Services
das hilft: PHP Handbuch
tobias_k ist offline   Mit Zitat antworten
Alt 10-06-2006, 16:29   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!
Seltsames Script. Was ist den this["beite"+i] z.B.??? Außerdem musst du bedenken, dass man die Breite von nachgeladenen Bildern bzw. MCs erst auslesen kann, wenn komplett geladen wurde.
Und warum _xscale? Damit verzerrst du doch im Zweifel nur die MCs. x_scale*2 macht für mich so auch keinen Sinn.

Eigentlich macht das alles keinen Sinn...

edit: Oder ich verstehe es nicht...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++

Geändert von Der Frager (10-06-2006 um 16:31 Uhr)
Der Frager ist offline   Mit Zitat antworten
Alt 10-06-2006, 16:46   #3 (permalink)
senior user
 
Benutzerbild von tobias_k
 
Registriert seit: Jun 2001
Ort: münchen
Beiträge: 425

die Breiten kommen aus php.
z.B.
breite1=255
breite2=206
u.s.w.

Mit _xscale bestimme ich die Breite der Halter... *2, weil's von der Mitte ausgeht.
Da verzerrt sich nix. Das passt schon.

Schema:
Ich erstelle Halter für die zu ladenden Pics.
Dann skaliere ich sie und positioniere sie.
Das Skalieren passt. Die x Position nicht.
Dann lad ich die Bilder (mit unterschiedlicher Breite) rein.
Andere Idee?
__________________
Multimedia Services
das hilft: PHP Handbuch
tobias_k ist offline   Mit Zitat antworten
Alt 10-06-2006, 16:56   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Öh, aber wenn du
PHP-Code:
 with (_root.bilder.anzeige["halter"+i]) { 
                    
_xscale=this["breite"+i]/2
                } 
hier "with" benutzt, dann bezieht sich this["breite"+i] doch auch den MC und nicht das LoadVars-Objekt?
Und warum die Breite erst durch 2 teilst um später *2 zu nehmen checke ich nicht. Außerdem musst du doch noch von _x des Vorgängers ausgehen...?! Also _x des Vorgängers+Breite des Vorgängers+Abstand = _x des aktuellen MCs.

edit: OK, das mit dem this scheint dann doch nicht so zu sein. Gerade mal ausprobiert (mache fast nie was mit "with").
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++

Geändert von Der Frager (10-06-2006 um 17:06 Uhr)
Der Frager ist offline   Mit Zitat antworten
Alt 10-06-2006, 17:25   #5 (permalink)
senior user
 
Benutzerbild von tobias_k
 
Registriert seit: Jun 2001
Ort: münchen
Beiträge: 425
Du machst deinem Namen alle Ehre
Die Werte stehen innerhalb des LoadVars Objetktes zur Verfügung.
controler["breite"+i] würde also auch gehen.
Da ich erst bei 2 anfange, brauch ich das _x vom Vorgänger nicht glaub ich... hab schon so viel an dem Teil rumgeschraubt....

Wenn ich mir die weiten letztendlich ausgeben lasse, stimmen sie:
206-201-227-209-223-216-201-209-205-205 für 11 Bilder ohne das erste.
Aber die Positionierung ist total daneben... Also mal über 300 und dann irgendwann mal nur 80....
Scheint als wäre da die Tiefe unterschiedlich..
__________________
Multimedia Services
das hilft: PHP Handbuch
tobias_k ist offline   Mit Zitat antworten
Alt 10-06-2006, 17:36   #6 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
So vielleicht? Wenn jetzt die Breiten tatsächlich denen der Bilder entsprechen...
PHP-Code:
controler = new LoadVars();
controler.onLoad = function(geladen) {
    if (
geladen) {
        if (
this.done == "ok") {
            for (var 
i=1i<=anzahl+1i++) {
                var 
akt _root.bilder.anzeige.attachMovie("halter""halter"+ii, {_x:last_mc_pos_y:0});
                
//akt._xscale = this["breite"+i]; //<--- Wofür das gut sein soll weiß ich nicht. Vielleicht muss es ja rein?!?
                
var last_mc_pos this["breite"+i]+akt._x+1;
            }
            
movieloader();
        }
    }
};
controler.load("anzahl.php"controler"POST"); 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 10-06-2006, 18:39   #7 (permalink)
senior user
 
Benutzerbild von tobias_k
 
Registriert seit: Jun 2001
Ort: münchen
Beiträge: 425
nope. Da geht gar nix. last_mc_pos innerhalb der Schleife ist auch keine gute Idee..
__________________
Multimedia Services
das hilft: PHP Handbuch
tobias_k ist offline   Mit Zitat antworten
Alt 10-06-2006, 19:05   #8 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
>206-201-227-209-223-216-201-209-205-205 für 11 Bilder ohne das erste.

wenn die werte stimmen, kann es dann sein,
daß sie nicht bei den richtigen bildern ankommen?

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 10-06-2006, 19:32   #9 (permalink)
senior user
 
Benutzerbild von tobias_k
 
Registriert seit: Jun 2001
Ort: münchen
Beiträge: 425
mag sein...

Irgendwie ist bei der Zuweisung der Hund drin.
Wie gesagt... oder schau dir den screenshot an... die Abstände sind nicht gleich den Zahlen. (die stimmen )
Wenn ich fixe Werte nehm, geht's.
Das Problem ist halt, daß ich verschiedene Breiten hab.
PHP-Code:
controler = new LoadVars();
controler.onLoad = function(geladen) {
    if (
geladen) {
        if (
this.done == "ok") {
            
abstand=5;
            for (
i=1i<=anzahl+1i++) {
                
_root.bilder.anzeige.attachMovie("halter","halter"+i,i);
                
_root.bilder.anzeige["halter"+i]._x=_root.bilder.anzeige["halter"+(i-1)]._x+this["breite"+(i-1)]/2*2+abstand;
                        
movieloader();
            }
        }
    }
};
controler.load("anzahl.php",controler,"POST"); 
that easy
__________________
Multimedia Services
das hilft: PHP Handbuch

Geändert von tobias_k (10-06-2006 um 22:28 Uhr)
tobias_k 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 05:10 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele