Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-09-2004, 12:43   #1 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 49
Positionen von verworrenen Movies

Hallo, ich hab ein Problem mit der Positionsbestimmung von Movieclips, welche innerhalb mehrerer anderer Clips liegen.

Ich möchte die "_root"-Position eines duplizierten Movieclips erhalten, das in mehreren anderen (teils auch duplizierten) Clips liegt. Leider bekomme ich nur die Position des Movies innerhalb des "_parent"-Movies.

Achja, die Position des "_root"-Movieclips, in welchem die ganzen duplizierten Movieclips liegen, ändert sich dynamisch. Das heisst, die Postionen am Anfang festzulegen, wäre Unsinn.

Das muss doch irgendwie möglich sein?!?!
Ich hoffe nicht, das die einzige Möglichkeit darin besteht, die Position anhand der Maße und Positionen der ganzen "_parent"-Movieclips auszurechnen. Also sprich: den ganzen Mist rückwärts rechnen.

Danke schon mal für die Antwort!

So long,
Andreas

Geändert von AndreusW (09-09-2004 um 12:53 Uhr)
AndreusW ist offline   Mit Zitat antworten
Alt 09-09-2004, 13:40   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Hab ich nicht so richtig verstanden Wenn du einen duplizierten MC2 hast, der in MC1 liegt, kannst du doch mit
ActionScript:
  1. meinWert = _level0.MC1.MC2._x;
auf die X-Position zugreifen... Der MC muss allerdings dann auch tatsächlich existieren, erfahrungsgem. kann man nicht sofort auf MC2 zugreifen, wenn er gerade dupliziert wurde. Dann solltest du entweder einen Frame warten mit einem onEnterFrame-Event oder einem setInterval.

Mit einem onEnterFrame-Event kannst du auch kontinuierlich die Positionen der MCs abfragen.
  Mit Zitat antworten
Alt 09-09-2004, 13:41   #3 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Hi.

Kannst Du das irgendwie einfacher formulieren.
Am besten so, wie man es einem Kleinkind erkären würde.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 09-09-2004, 16:24   #4 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 49
jahhaaa, erstmal danke fürs interesse

also, das problem ist, wenn man ein clip in einen anderen legt, und diese beiden in noch einen anderen (vergiss das mit dem duplizieren), dann ist die Position des untersten Clips auf "_root" (damit mein ich die bühne, die alleroberste grosse weisse Fläche ) nicht bestimmbar, sondern nur die Position im jeweiligen direkt übergeordneten Clip.

Beispiel liegt auf:
http://hobbes.game-host.org/download/flash/001.fla

thx nochmal
andreas
AndreusW ist offline   Mit Zitat antworten
Alt 09-09-2004, 17:02   #5 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Haha...
Das hätte ich ohne die gute Beschreibung
nicht verstanden.

edit:
So mal etwas sauberer geschrieben.

Man muss es so machen:
ActionScript:
  1. p = new Object();
  2. //--------------------------------
  3. _root.onEnterFrame = function() {
  4.  //----------------------------
  5.  p.x = _root.movie1.movie2._x;
  6.  p.y = _root.movie1.movie2._y;
  7.  _root.movie1.localToGlobal(p);
  8.  //----------------------------
  9.  movie1PosX = movie1._x;
  10.  movie1PosY = movie1._y;
  11.  movie2PosX = p.x;
  12.  movie2PosY = p.y;
  13. };
__________________

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

Geändert von thebiz (09-09-2004 um 17:13 Uhr)
thebiz ist offline   Mit Zitat antworten
Alt 09-09-2004, 17:31   #6 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 49
jo, viiielen dank, es klabbt.

aber dumm ist das schon, dass das nur mit nem objekt geht... naja

ich mach mal weiter und melde mich beim nächsten problem
andreas
AndreusW ist offline   Mit Zitat antworten
Alt 24-09-2004, 04:59   #7 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 49
soooo, und wie geht das ganze jetzt, wenn ich innerhalb eines MovieClips den darinnen liegenden Clip mehrfach dupliziere (z.B in einer reihe für eine Bildergalerie)????
Da möchte ich von jedem dieser duplizierten Clips die _root-Position haben.. .ist das möglich? (ich kenn mich mit objekten leider net so aus)

tausend dank alle
andreas
AndreusW ist offline   Mit Zitat antworten
Alt 24-09-2004, 10:42   #8 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
die _root-Position haben
Welche "_root-Position"? Der Instanzname wird beim attachen oder duplizieren gesetzt, die Position der MCs kannst du über die _x- und _y-Eigenschaften abfragen...
  Mit Zitat antworten
Alt 24-09-2004, 10:45   #9 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 49
die zu duplizierenden clips liegen aber innerhalb eines anderen. die position dieser inneren clips ist relativ zum clip drüber und nicht zur bühne.

ich will, trotz mehrfachem durcheinanderduplizieren trotzdem jederzeit die stage-position eines clips haben.

thx
andreas
AndreusW ist offline   Mit Zitat antworten
Alt 24-09-2004, 10:54   #10 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
OK, hier mal ein Beispiel für einen attachten MC, mit duplizierten MCs funzt es ähnlich:
ActionScript:
  1. this.createEmtpyMovieClip("con",1);//leeren MC erstellen
  2. this.con.createEmptyMovieClip("innen",1);//leeren MC im Container-MC erstellen
  3. this.con.innen.attachMovie("meinBezeichner","meinMC",2);//zur Laufzeit einen MC aus der Bibliothek auf die Bühne holen
  4. this.con.innen.meinMC._x = 100;//Position setzen
  5. this.con.innen.meinMC._y = 200;
Man kann mit attachMovie auch gleich Objekteigenschaften mitgeben und damit das Script verkürzen, z.B.
ActionScript:
  1. this.con.innen.attachMovie("meinBezeichner","meinMC",2,{_x:100, _y:200});
In der geschweiften Klammer stehen dann die Objekteigenschaften...
  Mit Zitat antworten
Alt 24-09-2004, 12:25   #11 (permalink)
.
 
Registriert seit: May 2003
Ort: bayern
Beiträge: 1.117
um jeweils die position eines mcs auf der bühne zu haben könntest du dir eine function schreiben, etwa derart:
ActionScript:
  1. MovieClip.prototype.globalPosition = function() {
  2.     var point = new Object();
  3.     point.x = this._x;
  4.     point.y = this._y;
  5.     this.localToGlobal(point);
  6.     return(point);
  7. }

ich weiß nicht wie und wo du das brauchst, aber anfordern kannst du es dann z.B. über einen button_mc

ActionScript:
  1. button_mc.onRelease = function() {
  2.             //mc.two sei der mc dessen position es zu erfragen gilt
  3.     var tmp =mc.two.globalPosition();
  4.     trace(tmp.x+','+tmp.y)
  5. }
mooseMash ist offline   Mit Zitat antworten
Alt 26-09-2004, 15:29   #12 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 49
in den beispielen von euch wird immer nur ein objekt erstellt, welches die pos ausliest eines clips ausliest.
ich will aber mehrere clips, welche in einem anderen clip liegen, in einer reihe duplizieren (innerhalb des übergeordneten clips), und von jedem einzelnen duplizierten clip die "_root"-position haben.
soweit klappen ja eure beispiele, aber man kann nur immer eine position auslesen, nicht von allen clips.
hmmm
thx
andreas
AndreusW ist offline   Mit Zitat antworten
Alt 26-09-2004, 16:03   #13 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Dann schreib eine for-Schleife, in der die MCs erstellt und positioniert werden.
  Mit Zitat antworten
Alt 26-09-2004, 16:31   #14 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Du brauchst für das Positionieren doch nicht
die x-Koordinaten.
Positioniere doch einfach relativ zum Ursprungsobjekt.

outbox_mc ist der äußerer Mc
box_mc der innere

ActionScript:
  1. _root.outbox_mc.box_mc.duplicateMovieClip("box2_mc", 2, {_x:_root.outbox_mc.box_mc._x + _root.outbox_mc.box_mc._width + 20});
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 26-09-2004, 17:00   #15 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 49
das mit der for-schleife kapier ich eben nicht. ich hab keine ahnung von objekten und weiss nichtmal wie man die anspricht, geschweige denn, wie man in ner for-schleife mehrere anspricht.

vielleicht kannst du n syntax-beispiel geben?

thx
andreas




ps: theBiz, hast eigentlich recht, aber ich will eine dynamische bildergalerie machen, welche sich die bilder je nach anzahl der dateien im dir selbst ins movie lädt. das ergibt dann quasi einen balken mit vielen bildlein drinne und das ganze slidet auch noch je nach maosPos. die x-pos brauch ich dabei also

Geändert von AndreusW (26-09-2004 um 17:01 Uhr)
AndreusW 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 02:15 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele