Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 16-01-2006, 21:17   #1 (permalink)
monkeypuzzle
 
Registriert seit: Jun 2005
Beiträge: 84
MC duplizieren

Hallo zusammen!
Ich habe folgendes Problem. Ich habe eine mc "schaltplan" auf meiner Bühne. Wenn ich auf ihn drücke soll eine Instanz erzeugt werden, die ich im Raum bewegen kann. Beim nochmaligen drücken das Gleiche, nur das ich jetzt zwei Instanzen auf meiner Bühne habe usw...
Darüberhinaus sollen diese ganzen Mc zu jeder zeit einzeln im Raum bewegt werden können.
Kann mir jemand helfen? Danke J
JoeS ist offline   Mit Zitat antworten
Alt 16-01-2006, 22:31   #2 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.832
hast du denn schon irgendeinen objektorientierten ansatz?
michael ist offline   Mit Zitat antworten
Alt 16-01-2006, 22:41   #3 (permalink)
monkeypuzzle
 
Registriert seit: Jun 2005
Beiträge: 84
Ansatz MC duplizieren

in der fla steht:
PHP-Code:
and_mc.onPress = function(){
    
duplicateMovieClip(_root.and_mc"a_mc"+a_root.getNextHighestDepth());
    
_root["a_mc"+a].startDrag(true);
    
s.dublicateEvents(_root["a_mc"+a]);
    
a++;
}

and_mc ist der MC auf der Bühne
s.dublicateEvents(...) ist der Aufruf der Klassenmethode:

function 
dublicateEvents(a_mc:MovieClip){
        
        
a_mc.onMouseUp Delegate.create(a_mcsnapOnUp);
        
a_mc.onMouseDown Delegate.create(a_mcmoveOnPress);
    }
    
    function 
moveOnPress(){
        
startDrag(true);
    }
    
    function 
snapOnUp(){
        
stopDrag();
    } 
Mein Problem ist, dass ich nachdem ich mehrere instanzen erzeugt habe, ich nur die aktuelle draggen kann und nicht alle die auf der Bühne existieren (die vorigen).
Gruß
J

Geändert von michael (16-01-2006 um 22:50 Uhr)
JoeS ist offline   Mit Zitat antworten
Alt 16-01-2006, 22:55   #4 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.832
naja ich würde sagen das liegt an der verwendung
von onMouseDown und onMouseUp, denn diese werden ja immer von _allen_ duplikaten ausgeführt egal ob man auf sie klickt oder nicht, startDrag funktioniert aber immer nur bei einem
Movieclip zur zeit. wenn du sicherstellst das nur noch der movieclip den du draggen willst auch moveOnPress() ausführt, sollte dein problem gelöst sein.
das könnte gehen indem du anstelle von onMouseDown und onMouseUp onPress und onRelease benutzt.
michael ist offline   Mit Zitat antworten
Alt 16-01-2006, 23:06   #5 (permalink)
monkeypuzzle
 
Registriert seit: Jun 2005
Beiträge: 84
übergabe problematisch

Klappt auch nicht.
Kann ich beim Delegate.create-Aufruf der Methode moveOnPress irgendwie den Movieclip übergeben auf den geklickt wird.
Weiss nicht, wie ich beim startDrag Aufruf den geklickten Mc erkenntlich mache?
Gruß
J
JoeS ist offline   Mit Zitat antworten
Alt 16-01-2006, 23:15   #6 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
MC duplizieren

Hy.

Ich habe hier mal was auf die Schnelle geschustert.
Ist ziemlich selbsterklärend.
PHP-Code:
class Schaltplan extends MovieClip {
    
//
    //    ---------- Variablen ----------
    //
    
private var momentane_x_Position;
    private var 
momentane_y_Position;
    
//
    //    ---------- Konstruktor ----------
    //
    
function Schaltplan() {
    }
    
//
    //    ---------- Methoden ----------
    //
    
public function onPress() {
        
momentane_x_Position this._x;
        
momentane_y_Position this._y;
        
startDrag(this);
    }
    public function 
onRelease() {
        if (
momentane_x_Position == this._x && momentane_y_Position == this._y) {
            
this.duplicateMovieClip(this._name "1"this._parent.getNextHighestDepth());
        }
        
stopDrag();
    }

p.s.:
Wenn man den MC beim Klicken nicht bewegt,
wird er dupliziert. Bewegt man ihn beim Klicken,
kann man ihn lediglich hin und her schieben.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------

Geändert von thebiz (16-01-2006 um 23:17 Uhr)
thebiz ist offline   Mit Zitat antworten
Alt 16-01-2006, 23:27   #7 (permalink)
monkeypuzzle
 
Registriert seit: Jun 2005
Beiträge: 84
Sieht gut aus. Habe den MovieClip aber auf der Bühne gezeichnet. Wie kann ich den dann den beiden Methoden übergeben??
G und danke
J
JoeS ist offline   Mit Zitat antworten
Alt 16-01-2006, 23:45   #8 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Kannste net einfach das Symbol in der Bibliothek
mit der Klasse verknüpfen?
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz 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 20:19 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele