Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 24-11-2005, 08:54   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 186
Question Refferenz auf MC; hitTest mit unbekannten Objekten...

Ich habe ein Problem, bei dem mich this.hitTest() nicht gut weiterkomme.
Code:
      while (this.hitTest(_root.objekt1)) {
	     this._x++;
      }
      while (this.hitTest(_root.anderesObjekt2)) {
	     this._y--;
      }  
      while (this.hitTest(_root.NocheinanderesObjekt7)) {
	     this._y++;
      }
Die Objekte die auf die Bühne gezogen werden, sollen sich aneinander ausrichten konnen.
Da ich immer andere Objekte aus einer Liste, (die sich zudem immer anders verhalten sollen) auf die Bühne ziehe,
weiß ich nicht, wie ich alle Möglichkeiten austesten kann. Denn die Liste der Objekte soll erweiterbar sein...

Das Problem ist, dass alle Objekte bekannt sein müssen, um ein hitTest() auszuführen.
Auch mit _root.Testausgabe = this._droptarget; komme ich nicht weiter,
weil immer nur das erste Kollisionsobjekt erkannt wird.
Aber das neuplazierte MC soll sich so lange auf der Bühne bewegen,
bis er einen Platz gefunden hat, wo sich kein anderer MC befindet.
Aber je nach dem, welche Kollision ausgeführt worden ist, muss anders ausgewichen werden.
(ähnlich, wie sich Soldaten ausrichten....).


Meine Idee war nun, Refferenzen von Objekten in ein Array zu speichern, und diese dann abzufragen.
Also:
meinArray[0] soll quasi für "dasersteMc" stehen,
meinArray[1] für "irgendeinzweitesMC".

Mein Problem: Wie Programmiere ich das...
Code:
onClipEvent (load) {
	var i=1;
}
on (release) {
	_root.duplicateMovieClip("Objekt"+0, "Objekt"+ i, i);
    i++;
	meineFunktionAusrichten(this);
}
wie trage ich eine Refferenz auf das "Objekt" + i in eine Array ein?

Mein Ansatz, (der so aber nicht funktioniert) :
Code:
...
meinArray[y] = "Objekt"+i; // ????????
...

...
for (var x = 0; x<meinArray.length, x++)
   for (var y = 0; y<meinArray.length, y++){

      if ( this.hitTest(meinArray[y]) ){ // ???????????
         this.meinArray[y].ausrichten(); // ???????????
      }
   }
}
Gruß Mjchael
mjchael ist offline   Mit Zitat antworten
Alt 24-11-2005, 11:29   #2 (permalink)
nerdig working
 
Benutzerbild von michael
 
Registriert seit: Jul 2001
Ort: Hamburg
Beiträge: 5.832
öi, mit deinem nickname haste mich grad ganzschön ausgetrickst

du kannst mit einer for in schleife alle movieclips in einer zeitleiste herausfinden.
PHP-Code:
for (var i in zeitleiste){
trace(i+" - "+zeitleiste[i])

michael ist offline   Mit Zitat antworten
Alt 24-11-2005, 14:04   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2004
Beiträge: 186
@Michael
Ich habe mich auch gewundert, wieso ich mir geantwortet haben sollte?
Aber ich heiße in mehreren Foren mJchael...
Selbst auch Forentreffen heiße ich offiziell "Michael mit Jot"...

Danke! Mit der Funktion kam ich schon mal ein ganzes Stück weiter.

Die Funktion gibt mir alles raus, was sich bei mir in _root befindet.
---------------
Damit das nicht passiert, wollte ich versuchen, meine Kopien in einen anderen MC hineinkopieren, und dieses als Objekt an eine Anweisung zu übergeben...

Aber: Wo finde ich, wie das geht?

Nachdem ich die Instanzen herausgefundne habe,
wie übergebe ich sie eigentlich Korrekt an eine andere Funktion/Methode.

Gerade das OoP macht mir da zu schaffen, wie ich in den Punktsyntax einen String einbringen kann.
Versucht habe ich:

Code:
var meineReference = "irgendeinString+i" 
_root.myMC.meineReference._y = 100 ....
oder so

Code:
_root.myMC[irgendeinString+i]._y = 100 ....


Gruß mJchael

Geändert von mjchael (24-11-2005 um 14:06 Uhr)
mjchael 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 06:09 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele