Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-12-2005, 10:26   #1 (permalink)
| aufm sonnendeck |
 
Registriert seit: Jul 2002
Ort: zürich
Beiträge: 319
komisches positionierungsproblem

Hallo,
was mach ich falsch? einen mit attachMovie generierten mc ziehe ich per start/stopDrag umher. Bei release möchte ich den movie an eine bestimmte position (612, 384) setzen:

PHP-Code:
on (press) {
    
this.startDrag();        
}
on (releasereleaseOutside) {
    
xx this._parent._name;
    
trace(xx);
    
this.stopDrag();
    
_root[xx]._x 612;
    
_root[xx]._y 384;

passieren tut erst mal gar nichts! auch wenn ich die _x und _y position tracen lasse, krieg ich immer die angegebene position zurück, egal wo der mc positioniert ist...

kann mir das jemand erklären?
danke schon mal!
m.
__________________
"Es gibt ein Ziel, aber keinen Weg; was wir Weg nennen, ist Zögern"
Franz Kafka
molekuel ist offline   Mit Zitat antworten
Alt 14-12-2005, 10:32   #2 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
keine ahnung was genau du da vor hast?!
PHP-Code:
on (press) {
    
this.startDrag();        
}
on (releasereleaseOutside) {
    
xx this._parent;
    
trace(typeof xx);//trace(xx);
    
this.stopDrag();
    
_root[xx]._x 612;
    
_root[xx]._y 384;

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 14-12-2005, 10:59   #3 (permalink)
| aufm sonnendeck |
 
Registriert seit: Jul 2002
Ort: zürich
Beiträge: 319
Zitat:
keine ahnung was genau du da vor hast?!
einen mc ziehe ich per start/stopDrag umher. Bei release möchte ich den movie an eine bestimmte position (x=612, y=384) setzen.

das script liegt auf einem button im mc drin. also: _root.mc_1 -> hier liegt das script drauf!

wenn ich
PHP-Code:
xx this._parent._name;
_root[xx]._alpha 10
setzte, geht das wunderbar! warum also nicht
PHP-Code:
xx this._parent._name;
 
_root[xx]._x 612
das muss doch irgendwie gehen
__________________
"Es gibt ein Ziel, aber keinen Weg; was wir Weg nennen, ist Zögern"
Franz Kafka
molekuel ist offline   Mit Zitat antworten
Alt 14-12-2005, 11:15   #4 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
Zitat:
Zitat von molekuel
das muss doch irgendwie gehen
nee. sowas geht nicht!!!






















*lol*

sollte null problemo sein, aber wieso legste das as so aud die buttons?! programmier lieber etwas mx konform und leg alle scripte auf die hzl... also so in der art:
PHP-Code:
_root.center.onPress = function() {
    
this.startDrag();
};
_root.center.onRelease = function() {
    
this.stopDrag();
}; 
und dann verstehe ich halt einfach nicht wieso du das hier machst:
PHP-Code:
xx this._parent._name
und dann direkt später das hier...
PHP-Code:
_root[xx]._x 612
wieso ist schon klar, aber hey. haste auf die pfade geachtet?! ich kenne ja den aufbau deines projektes überhaupt nicht... daher das problem

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 14-12-2005, 13:21   #5 (permalink)
| aufm sonnendeck |
 
Registriert seit: Jul 2002
Ort: zürich
Beiträge: 319
hmmm, bald dreh ich durch... wär ercht froh wenn mir da jemand helfen könnte...

auf _root liegt ein leerer mc, darauf liegt folgendes script:
PHP-Code:
onClipEvent (load) {
    
_root.createEmptyMovieClip("sch_m_" _root.menge_m1)
    
_root["sch_m_" _root.menge_m] = _root["sch_m_" _root.menge_m].attachMovie("sch_m""sch_m_" _root.menge_m1); 
    
_root["sch_m_" _root.menge_m]._x 612
    
_root["sch_m_" _root.menge_m]._y 384

geht soweit wie's soll! in dem generierten movie hats nen button, den ich mit start/stopDrag rumziehe. beim loslassen wird abgefragt ob der mc sich in einem bestimmten feld befindet (hitTest).
wenn ja -> stopDrag und mach mir nen neuen mc auf gegebener position
wenn nein -> setz mir den gezogenen auf die ursprungsposition zurück

ich denke mal ich hab da effektiv einige pfadprobleme drin, seh aber nicht ganz wo...

hier das script, das auf dem button liegt:
PHP-Code:
on (press) {
    
this.startDrag();        
}

on (releasereleaseOutside) {
    
    
xx this._parent._name;
    var 
loslassen =  false;
    
this.stopDrag();
    
    
// hittest für objekt -> besteht aus 19 shapes
     // muss also 19 mal abgefragt werden
     // funktioniert soweit auch
    
for (i=0i<=19i++) {
        if(
_root[xx].holder.hitTest(_root["abd_" i])){
            
20;
            
loslassen true;
        } else {
            
loslassen =  false;
        }
    }
    

    if (
loslassen == true) {
        
        
// geht soweit

        
_root.menge_m += 1;

        
_root.createEmptyMovieClip("sch_m_" _root.menge_m, (_root.menge_m*10));
        
_root["sch_m_" _root.menge_m] = _root["sch_m_" _root.menge_m].attachMovie("sch_m""sch_m_" _root.menge_m_root.menge_m*10); 
        
        
_root["sch_m_" _root.menge_m]._x 612
        
_root["sch_m_" _root.menge_m]._y 384
        
        
// gibt falsche position zurück
        
trace(_root[xx]._x " name = " _root[xx]._name)
    } else {
        
        
// wird nicht an angegebene position gesetzt, sondern bleibt einfach stehen!
        
_root["sch_m_" _root.menge_m]._x 612;
        
_root["sch_m_" _root.menge_m]._y 384;
    }
        

vielen, vielen dank schon mal!!!
m.
__________________
"Es gibt ein Ziel, aber keinen Weg; was wir Weg nennen, ist Zögern"
Franz Kafka
molekuel ist offline   Mit Zitat antworten
Alt 14-12-2005, 13:30   #6 (permalink)
experience++;
 
Benutzerbild von salazar
 
Registriert seit: Jul 2002
Ort: Düsseldorf
Beiträge: 11.347
du setzt dich aber auch effektiv gegen hilfsversuche zur wehr... dein code ist immer noch unverändert.... und auf fragen gehste auch nicht recht ein...

cya, sal
__________________
Bitte keine Flashfragen an mich schicken. Dafür ist ja das Forum da! Das betrifft auch Profilnachrichten.
Chuck Norris hat den Flash Player für alle mobilen Betriebssysteme!
salazar ist offline   Mit Zitat antworten
Alt 14-12-2005, 13:56   #7 (permalink)
| aufm sonnendeck |
 
Registriert seit: Jul 2002
Ort: zürich
Beiträge: 319
sorry! nicht persönlich nehmen... hab das schon ausprobiert, aber hat nichts gebracht...

Zitat:
und dann verstehe ich halt einfach nicht wieso du das hier machst:
xx = this._parent._name;
naja, ich muss doch wissen mit welchem mc ichs zu tun hab! wenn 15 instanzen des gleichen mcs auf der bühne hab, muss ich doch beim click auf den button wissen, welche instanz des mcs ich gerade verwende.
oder geht das auch anders?

Zitat:
und dann direkt später das hier...
_root[xx]._x = 612;
wenn ich ja jetzt mal weiss mit welcher instanz des mcs ichs zu tun hab, versuche ich so die position desselben zu verändern!

Zitat:
xx = this._parent;
trace(typeof xx)
gibt "movieClip" aus
und
trace(xx) gibt "_level0.sch_m_0.sch_m_0" aus. setzt also den eigentlichen namen des mcs 2 mal rein...??
wohingegen
xx = this._parent._name
den exakten namen des movieclips ausgibt, welchen ich ja auch erfolgreich mit
_root[xx]._alpha = 10;
anwenden kann. nur eben nicht mit
_root[xx]._x = 612;

mein verdacht ist: dass das irgendwie mit dem createEmptyMovieClip und attachMovie zu tun hat, kann aber nirgens etwas falsches erkennen...

pls help!
m.
__________________
"Es gibt ein Ziel, aber keinen Weg; was wir Weg nennen, ist Zögern"
Franz Kafka
molekuel ist offline   Mit Zitat antworten
Alt 14-12-2005, 20:25   #8 (permalink)
l2l|c4o
 
Benutzerbild von Sir Freako
 
Registriert seit: Nov 2005
Ort: düstere Grotte im Süden
Beiträge: 968
Zitat:
Zitat von molekuel
einen mc ziehe ich per start/stopDrag umher. Bei release möchte ich den movie an eine bestimmte position (x=612, y=384) setzen.

das script liegt auf einem button im mc drin. also: _root.mc_1 -> hier liegt das script drauf!

wenn ich
PHP-Code:
xx this._parent._name;
_root[xx]._alpha 10
setzte, geht das wunderbar! warum also nicht
PHP-Code:
xx this._parent._name;
 
_root[xx]._x 612
das muss doch irgendwie gehen
Hallo Molekuel (alle)

du hast recht das geht auch mit der dynamischen Referenzierung du mußt
meines erachtens bloß den String bevor du Ihn benutzt evaluieren (eval)
hast du
Code:
 
xx=eval(this._parent._name);
schon einmal ausprobiert ??

Recht hast du auf jedenfall weil ich das selber auch schon in dieser Art gemacht habe vieleicht liegt ja der Fehler wo anders allerdings echt strange das das mit dem _alpha geht und mit _x nicht ?????

aber Sal hat mit sicherheit auch Recht denn es sollte ja eigentlich einfach _this sein
ich persöhnlich arbeite mich bei solchen sachen immer mit trace() vorwärts das bringts voll


servus Freako

Geändert von Sir Freako (14-12-2005 um 20:34 Uhr)
Sir Freako 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:30 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele