Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 30-11-2006, 23:45   #1 (permalink)
sucht die Sonne!
 
Benutzerbild von Megaman
 
Registriert seit: Sep 2003
Ort: Frankfurt
Beiträge: 314
Karte eingrenzen [neu]

Hallo liebe Flashgemeinde!
Ich hab' da mal ne Frage! Ich bin gerade dabei eine Anfahrtskizze in Flash mit Zoomfunktion zu basteln.
Die Bühne enthält ein Zoom_in ,ein Zoom out und 4 Richtungsbuttons. Mein Problem ist, dass die Eingrenzung der Karte noch nicht richtig funktioniert und ich nicht darauf komme was ich falsch mache, bzw. falsch berrechne.
Die Karte befindet sich in einem MovieClip (mc3),dieser befindet sich in einem weiteren MoieClip (mc2) und mc2 befindet sich wiederum nochmal in einem weiteren Clip (mc1). mc2 wird fürs zoomen und mc3 fürs verschieben der Karte verwendet, dadurch wird die Karte immer zentriert gezoomt. Dies funktioniert auch einbahnfrei, doch wie gesagt an der Begrenzung hapert's noch.

Folgendermaßen sieht mein Script aus:
PHP-Code:
r_maske =400;
r_dif = (_root.mc1._width r_maske)/2;
        
trace("Stage: "+r_maske);
        
trace("MC1 breite: "+_root.mc1._width);
        
trace("MC2 breite: "+_root.mc1.mc2._width);
        
trace("MC3 breite: "+_root.mc1.mc2.mc3._width);
        
trace("r_dif: "+r_dif);

zoom_in.onPress = function() {
    
_root.mc1.mc2.onEnterFrame = function() {
        
this._xscale this._yscale *= 1.10;
        
r_dif = (_root.mc1._width -r_maske)/2;
        
trace("Stage: "+r_maske);
        
trace("MC1 breite: "+_root.mc1._width);
        
trace("MC2 breite: "+_root.mc1.mc2._width);
        
trace("MC3 breite: "+_root.mc1.mc2.mc3._width);
        
trace("r_dif: "+r_dif);
    }
}
//
rechts.onPress = function() {
    
_root.mc1.mc2.mc3.onEnterFrame = function() {    
        if(
r_dif>0) {
            
            
this._x -= 10;
            
r_dif -=10;
        
trace("Stage: "+r_maske);
        
trace("MC1 breite: "+_root.mc1._width);
        
trace("MC2 breite: "+_root.mc1.mc2._width);
        
trace("MC3 breite: "+_root.mc1.mc2.mc3._width);
            
trace(r_dif);
        }
    }    
}

rechts.onRelease = function() {
    
delete _root.mc1.mc2.mc3.onEnterFrame;
    
r_dif +=10;
}

zoom_in.onRelease = function() {
    
delete _root.mc1.mc2.onEnterFrame;

Warum funzt das nicht?
P.S.: Habe mal ne abgespeckte Version drangehängt, anstatt einer Karte ist jetzt ein Bild von meiner geilen Schnecke zu sehen, also bitte nicht wundern!
P.P.S.:Habe auch bereits nach "Karte" , "eingrenzen", "begrenzung" und "zoom" gesucht, doch leider keine Lösung gefunden, also bitte helft mir. Bin schon am verzweifeln.
Angehängte Dateien
Dateityp: zip zoom2.zip (28,2 KB, 32x aufgerufen)
__________________
Carpe diem!
Megaman ist offline   Mit Zitat antworten
Alt 05-12-2006, 09:59   #2 (permalink)
sucht die Sonne!
 
Benutzerbild von Megaman
 
Registriert seit: Sep 2003
Ort: Frankfurt
Beiträge: 314
Hallo?!?
Wäre echt cool, wenn sich hier jemand mal bitte mit meinem Problem beschäftigt. Bin leider immer noch nicht auf eine Lösung gekommen ;(. Also bitte schaut euch mal bitte die Fla an und schreibt mir, warum das nicht geht, was ich da programmiert habe! Will ja auch dazulernen!
Ne gescheite Antwort wäre echt ein super Nikolausgeschenk für mich!
Gruß,
megaman
__________________
Carpe diem!
Megaman ist offline   Mit Zitat antworten
Alt 05-12-2006, 10:42   #3 (permalink)
Flashbitch
 
Benutzerbild von X-Tender
 
Registriert seit: Oct 2003
Ort: Hannover
Beiträge: 279
Du willst also das wenn du nach rechts scrollst das sich die karte nicht mehr nach rechts bewegt als nötig? das sie sozusagen rechts bündig mit dem rand zum stehen kommt? (das selbe natürlich für oben unten ect.)
__________________
Fuchtelworld
X-Tender ist offline   Mit Zitat antworten
Alt 05-12-2006, 12:01   #4 (permalink)
sucht die Sonne!
 
Benutzerbild von Megaman
 
Registriert seit: Sep 2003
Ort: Frankfurt
Beiträge: 314
exakt! Das klappt auch soweit. Nur nachdem ich auf zoomen klicke nicht mehr, da sich ja dann die breite vom clip verändert!
__________________
Carpe diem!
Megaman ist offline   Mit Zitat antworten
Alt 05-12-2006, 12:46   #5 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!

Im Prinzip so. Musst du natürlich noch dran rumschrauben:
PHP-Code:
zoom_in.onPress = function() {
    
_root.mc1.onEnterFrame = function() {
        
this._xscale this._yscale *= 1.10;
    };
};
//
rechts.onPress = function() {
    
_root.mc1.onEnterFrame = function() {
        if (
this._x-this._width/2>-(this._width-200)) {
            
this._x -= 10;
        } 
    };
};
rechts.onRelease = function() {
    
delete _root.mc1.onEnterFrame;
};
zoom_in.onRelease = function() {
    
delete _root.mc1.onEnterFrame;
}; 
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 07-12-2006, 14:04   #6 (permalink)
sucht die Sonne!
 
Benutzerbild von Megaman
 
Registriert seit: Sep 2003
Ort: Frankfurt
Beiträge: 314
@der Frager
Jo danke, dass klappt! Aber das Problem ist, dass wenn ich das so mache, ich für zoom und für die Kartenbegrenzung den gleichen MC anspreche, dadurch zoomt man nach einer Richtungsbewegung nicht mehr aus der mitte raus und das wollte ich eigentlich vermeiden. Deswegen spreche ich bei meinem Script auch unterschiedliche MCs an, MC2 fürs zoomen und MC3 für die Bewegung. Und genau das ist es, was mir Kopfschmerzen bereitet.
Wenn ich bei meinem Script nämlich bei der rechtsbewegung anstatt MC3, (this._x -=10) , MC2 anspreche (this._parent._x -=10), dann funktioniert es auch. Könntet ihr mir da vielleicht nochmal weiter helfen?!. Wäre cool! Greetz PB
__________________
Carpe diem!
Megaman ist offline   Mit Zitat antworten
Alt 09-05-2007, 13:41   #7 (permalink)
Neuer User
 
Registriert seit: Apr 2007
Beiträge: 185
dein problem

hallo Megaman!
ich hab exakt das gleiche problem!
bist du inzwischen schlauer geworden?
Sebastiankorf 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 17:48 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele