Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 13-01-2006, 16:10   #1 (permalink)
Creative Artist
 
Benutzerbild von Semo
 
Registriert seit: Apr 2005
Ort: Rivendell
Beiträge: 170
Question "duplicateMovieClip" Panoramata

Guten Abend liebe Flasher

Ich bin dabei ein Panorama-Viewer zu bauen und hatte mir als Vorlage ein paar Code-Schnipsel von Flashkit geladen, um zu verstehen, wie das funzt. Ich habe mehrere Seiten Code entschlüsselt und verstanden- bis auf einen merkwürdigen Fehler, der auftaucht:

Mir scheint, daß wenn die Mitte des Breitwand-Bildes erreicht wird, automatisch die Instanz IMG(das Bild) dupliziert wird und sich nahtlos horizontal anfügt. Soweit so gut

Das ganze habe ich auch noch mal im Debugger geprüft. Dabei ist mir aufgefallen, daß sich immer neue Instanzen bilden, wenn ich den Drehwurm nach links oder rechts mache.

Die alten unnützen Instanzen bleiben erhalten und scheinen nicht gelöscht zu werden. Sie verschwinden erst, wenn ich die entsprechende Anzahl 360° Drehungen zurück gemacht habe. Woran liegt das?

Ich rate mal das liegt an dieser FOR-Schleife...
Würde das auch funktionieren, wenn ich wesentlich größere Bilder mit ca. 2.5 MB benutze?

Die Datei habe ich als RAR hinzugefügt, damit man sich das mal in seiner Vollständigkeit vorstellen und ansehen kann.

Die Routine für die Duplikation:
PHP-Code:
if (actual_L >= minX) { 
        if (
_root.panorama){
            
_x _width/2
        
} else {
                                                           
// liegt hier der Fehler?
            
duplicateMovieClip (_level0.img.central"left"+ii+10000)  
            
prevL "left"+(i-1)
            
prevLX getProperty(prevL_x)
            
setProperty("left" i_xprevLX init_width)
             
1
            
for(iDel=1iDel<hiDel++) {
                
removeMovieClip("right"+iDel)
            }
            
1     
        
}
    }
    if (
actual_R <= maxX) {
        if (
_root.panorama){
            
_x = (_root.movieW - ((_width)/2))
        } else {
            
duplicateMovieClip (_level0.img.central"right"+hh)
            
prevR "right"+(h-1)
            
prevRX getProperty(prevR_x)
            
setProperty("right" h_xprevRX init_width)
            
1
            
for(hDel=1hDel<ihDel++) {
                
removeMovieClip("left"+hDel)
            }
            
1
        
}
    } 
Ich freue mich über Eure konstruktive Vorschläge . Habe mir extra für das Problem so ein Actionscript Praxisbuch von Matthias Kannengießer, wenn ihn jemand kennt... besorgt, half auch gut die ca. 7 DIN A4 Seiten ges. Code zu entschlüsseln und zu verstehen, aber jetzt weiß ich einfach nicht weiter. Der Autor muß wohl ein Flash-Gott sein... Kann ich nur jedem empfehlen, der da nur wenig Ahnung von AS hat, wie ich...

Hab auch schon das Forum durchsucht, aber nichts adäquates für mein Problem gefunden... Bitte mal helfen

Viele Grüße

Semo
Angehängte Dateien
Dateityp: rar 360 viewer.rar (42,7 KB, 51x aufgerufen)
Semo ist offline   Mit Zitat antworten
Alt 17-01-2006, 11:16   #2 (permalink)
Creative Artist
 
Benutzerbild von Semo
 
Registriert seit: Apr 2005
Ort: Rivendell
Beiträge: 170
Hilfe

Will mir denn gar keiner helfen?

Hab schon weiter versucht, aber noch nicht die Lösung gefunden. Muß ich unloadMovie statt removeMovieClip nutzen, wie in einem Thread beschrieben?

Brauche ein bißchen Starthilfe.

Grüße

Semo
Semo ist offline   Mit Zitat antworten
Alt 24-01-2006, 16:51   #3 (permalink)
Creative Artist
 
Benutzerbild von Semo
 
Registriert seit: Apr 2005
Ort: Rivendell
Beiträge: 170
Bidde bidde.... kann mir denn da keiner helfen? habe jetzt nehezu jeden relevanten Thread durchsucht und nichts passendes auf meine Fragen gefunden.....

Viele Grüße ans FF

Semo
Semo ist offline   Mit Zitat antworten
Alt 24-01-2006, 20:03   #4 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Das Problem liegt daran, dass das Entfernen erst durchgeführt wird, wenn du sämtlich Instanzen wieder zurück überflogen hast und über den ursprünglichen MC in die andere Richtung fährst! Da musst schon fast neu ansetzen! Denn das Problem ist, dass die Bilder dupliziert werden! Suche nen Ansatz, bei dem du nicht vom ersten Bild abhängig bist!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 26-01-2006, 10:38   #5 (permalink)
Creative Artist
 
Benutzerbild von Semo
 
Registriert seit: Apr 2005
Ort: Rivendell
Beiträge: 170
Zitat:
Zitat von bamboocha
Denn das Problem ist, dass die Bilder dupliziert werden! Suche nen Ansatz, bei dem du nicht vom ersten Bild abhängig bist!
Danke für Deinen Tipp. Wie soll ich ansetzen? Ich brauche doch das erste Bild, damit dieses neu angesetzt werden kann... Ich bin mir nicht sicher in welcher Richtung ich suchen soll... Wann würde denn dieses Entfernen trotzdem einsetzen?

Ich habe den Code so verstanden, daß ein neuer Clip erzeugt wird und einen Namen bekommt. Dann wird der Clip, wenn er aus der Bühne rutscht gelöscht. Habe ich da etwas übersehen?

Für Anregungen bin ich sehr dankbar... :-)

Grüße

Semo
Semo ist offline   Mit Zitat antworten
Alt 26-01-2006, 10:51   #6 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Den ersten holst du mit attachMovie rein (wie alle anderen auch).

Jein... er löscht eben alle die links liegen, sobald du rechts über das erste Bild hinaus fährst (und umgekehrt)! Darum sind dann auch die ganzen Instanzen noch vorhanden!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 26-01-2006, 11:29   #7 (permalink)
Creative Artist
 
Benutzerbild von Semo
 
Registriert seit: Apr 2005
Ort: Rivendell
Beiträge: 170
Hallo bamboocha

Von der schnellen Truppe, was? Dankeschön. Ich habe auch an attachMovieClip gedacht. Dann habe ich im Forum nach dem Befehl gefunden. Kann es sein, das es in etwa mit Deinem anderen Thread davon gelesen. Der könnte also mein Problem verhindern?

Weißt Du, ob die Datenmenge durch das duplizieren, gerade bei Bilddaten, explodiert? Es soll ein 8 MB großes Bild rein mit "Full-Screen" Fähigkeit und erheblicher Tiefenschärfe...

Grüße

Semo
Semo ist offline   Mit Zitat antworten
Alt 26-01-2006, 11:35   #8 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Hmmmm... durch das duplizieren sicherlich nicht... das Problem besteht schon grundlegend! Wie willst du denn dieses Flash "verteilen"?
Bzw. da kommt mir gerade ne Idee!
Machs doch so:
Ein Bild nimmt ja eine gewisse Breite des Bildschirms ein. Das heisst, mit drei Bildern solltest du auf jeden Fall den gesamten Screen abdecken können, egal in welche Richtung gescrollt wird! Füge einfach das Bild, wenn es die Bühne verlässt auf der Seite an, in die es gescrollt wird!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 26-01-2006, 11:41   #9 (permalink)
Creative Artist
 
Benutzerbild von Semo
 
Registriert seit: Apr 2005
Ort: Rivendell
Beiträge: 170
Hmmkay ich denke mal darüber nach und werde Dich wenn es interessiert über mein Ergbnis informieren...
Semo ist offline   Mit Zitat antworten
Alt 26-01-2006, 11:43   #10 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Jo, gerne!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 31-01-2006, 14:05   #11 (permalink)
Creative Artist
 
Benutzerbild von Semo
 
Registriert seit: Apr 2005
Ort: Rivendell
Beiträge: 170
Hallo liebes Flashforum

Ich habe es geschafft zwar ein paar Änderungen am Quelltext vorgenommen, aber.... (ohne aber wär's leichter ) das wird irgendwie nicht besser.

Projektinfo meinerseits:
Ich habe ein 8.9 MB großes Bild in den Viewer geschubst. Im Task-Manager sagt er mir Check_TskMng.jpg er bräuchte 237 MB zur Darstellung... Ist das zu viel? Was haltet ihr davon? Dafür kann man aber mit einer unglaublichen Detailtiefe rechnen... (Bis jetzt läuft es nahezu ruckelfrei)

Sollte ich das Bild lieber zerschneiden und Teil für Teil einladen? Würde das mit attachMovie laufen? Soll ich dafür sinnvollerweise dynamische Nummern vergeben?

Wäre super wenn mir jemand dabei helfen kann zu verstehen, wie ich das umbauen muß...
Semo ist offline   Mit Zitat antworten
Alt 31-01-2006, 14:09   #12 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Flash ist nicht der Flashplayer! (Wobei mein Flash 8 gerade mal 103MB frisst)
Kommt immer darauf an, wo du das Ding abspielen willst! Lokal, ab CD oder übers Netz?
Du hast nur die Wahl: grosses Flash mit Bildern bereits drin, dann spielts keine Rolle ob Attach oder duplicate! ODER nur Flash mit nachladen, was aber bei der Film grösse verdammt lange dauern kann... dann slicst du das Bild am Besten und lädst es zeitgleich scheichenweise rein!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha ist offline   Mit Zitat antworten
Alt 06-02-2006, 10:07   #13 (permalink)
Creative Artist
 
Benutzerbild von Semo
 
Registriert seit: Apr 2005
Ort: Rivendell
Beiträge: 170
Update des Pano Viewers

Update:

Ich habe mich entschieden, das große Bild zu zerschneiden und in gleich große MCs zu packen... Wie kann ich die MCs in einen Array laden? Oder wie bekommt man die MCs, die auf der Bühne liegen, in den Array hinein bei z.B 3 oder n-beliebigen MCs? Wie kann ich einen intelligenten Array bauen?

Ich denke das wäre die bessere Lösung als jedesmal ein mördergroßes Bild in einem Stück zu duplizieren... Ich habe dann ab einer bestimmten Vergrößerung bei Flash 8 immer mit Pixel - Shift zu kämpfen...

Vielen Dank

Semo
Semo ist offline   Mit Zitat antworten
Alt 07-02-2006, 10:47   #14 (permalink)
Creative Artist
 
Benutzerbild von Semo
 
Registriert seit: Apr 2005
Ort: Rivendell
Beiträge: 170
Es geht weiter... Die Entwicklung ist in Arbeit... Also ich habe schon das erste Problem... der/die/das Array... ;-) (schon 1000x gefunden im FF aber alles viel zu speziell...)
Hier ersteinmal der Code:
PHP-Code:
fscommand('allowscale'false);
var 
filmB 750;
var 
filmH 500;
filmB/2;
filmH/2;
BildCon = ['mc1''mc2''mc3''mc4'];

for (
0<= BildCon.lengthi++) {
    
_root[BildCon[i]].onEnterFrame = function() {
        
BildCon.onEnterFrame = function() {
            for (var 
0<= BildCon.lengthi++) {
                
_root[BildCon[i]]._root[BildCon[i]]._x;
                
_root[BildCon[i]]._root[BildCon[i]]._y;
            }
            
_root[BildCon[i]].onEnterFrame = function () {
                
_root._y += 1;
                };
        };
    };

Was er tun soll: Die MCs zusammen und synchron auf der Ordinate bewegen.

Was mein Problem ist: Es tut es nicht. Es funktioniert nur, wenn ich _root._y += 1; in den Clip selbst lege.

Wie lasse ich diesen verfluchten Array in der for-Schleife auslesen und die MCs zusammen bewegen? Weiß da jemand Rat?

P.S. Das Yugop (was heißt das?) ist ne feine Sache für sowas... Die Lösungen darin sind aber nicht für meine derzeitigen Kenntnisse nutzbar. Will sagen ich nutze seit vier Wochen die Suchfunktion und gehe viele viele Beiträge durch...

Geändert von Semo (07-02-2006 um 10:50 Uhr)
Semo ist offline   Mit Zitat antworten
Alt 07-02-2006, 10:59   #15 (permalink)
°.oO°O.o°.oO.o°O
 
Benutzerbild von bamboocha
 
Registriert seit: Jun 2005
Ort: CH
Beiträge: 1.490
Du überschreibst mehrere Male verschiedenste oEF's!
Also, für das Array-Problem:
Wenn du nur die Slices auf der Bühne hast:
PHP-Code:
var bildcon = new Array();
for(
i in this) {
bildcon.push(this[i]);

Dann kriegst du ein Array mit sämtlichen Slices (sofern anständig instanziert *räusper* )
PHP-Code:
_root[BildCon[i]]._root[BildCon[i]]._x
Damit weist du jedem Bild jeweils seine Position zu!
PHP-Code:
for (0<= BildCon.lengthi++) {
    
_root[BildCon[i]].onEnterFrame = function() {
        
this._y += 1;
    };

Ansonsten verstehe ich nicht ganz, was du in Abhängigkeit von was wohin verschieben willst!
__________________
There is no way to happiness, happiness is the way! - Buddha
bamboocha 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:48 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele