| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Jun 2005
Beiträge: 34
| problem mit hitTest
Hallo, mal wieder ein Problem mit hitTest: Ich habe einen Scrolltext, in den ich aus XML Daten einlese. Ich will, dass während der Test gescrollt wird und wenn die Überschriften einen bestimmten Bereich des Scrollbereichs überrollen, dass etwas passiert, z.B. ein Bild geladen wird. Leider gelingt es mir nicht... Bisher habe ich das: Code: // zu testzwecken ausgabe true/false im textfeld:
this.createTextField("status_txt", 10000, 300, 220, 100, 22);
for (var i=0; i<3; i++) {
this.createEmptyMovieClip("sensor"+i, i+12000);
this["sensor"+i].loadMovie("aktuell/sensor.jpg");
this["sensor"+i]._y = neues_y;
this["sensor"+i].id = i;
this._parent.area_mc.onEnterFrame = function()
{
status_txt.text = this.hitTest(["sensor"+this.id]);
};
// dazwischen werden weitere Textbausteine aus XML geladen....
neues_y = this["Text"+i]._y + texthoehe +32;
} Der hittest reagiert nicht. was mache ich falsch???? Der area_mc ist ok, ein einzelnes Sensorfeld (nicht in der schleife generiert) funktioniert, nur die mehrfach generierten Sensoren tun nicht... bitte um tipps. Danke!!! |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
this.hitTest(["sensor"+this.id]); in hitTest steht ein array damit kann flash nichts anfangen. alles was in eckigen klammern steht ist ein array [] im array steht ein text, damit kann flash hier auch nichts anfangen alles was in anführungszeichen steht ist text. mal anders formuliert, aber sinngemäss das selbe hast du geschrieben: this.hitTest(new Array("sensor1") ); ----------------- // das ist ok, weils mit einem objekt (hier this) beginnt, weiss flash, das es wegen der eckigen klammer ein objekt namens xxx zu suchen gilt: this["sensor"+i].id = i; // dann versuchst du aber offensichtlich diese variable in this._parent.area_mc zu benützen? in area_mc gibt es aber kein .id this._parent.area_mc.onEnterFrame
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (07-09-2008 um 15:59 Uhr) |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Jun 2005
Beiträge: 34
|
Hi, vielen Dank für die Hinweise, die kann ich nachvollziehen, so wie du es beschreibst. offensichtlich habe ich da einiges falsch gemacht. leider bekomme ichs nicht hin, habe verschiedenes probiert. muss gestehen, dass mir noch nicht alle feinheiten klar sind, ich lerne noch... so gehts leider auch nicht: this["sensor"+i].onEnterFrame = function() { //status_txt.text = this.hitTest(this["ueber_schalt"+i]); status_txt.text = this.hitTest(this._parent.area_mc); //trace (status_txt); }; vermutlich darf man so onEnterFrame nicht verwenden? wenn jemand ein gutes tut zu so was kennt wäre es auch super. die flashilfe finde ich besch*** formuliert, wenn du einen konkreteren tipp hättest wie man mein problem elegant löst wäre es super. Danke!! |
| | |
| | #4 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
leider ist das script so unverständlich, das ich auch nicht erahnen kann, was du eigentlich erreichen willst. sonst hätte ich diesbezüglich einen vorschlag gebracht. tipp: erfassse deine neuen mc's in einem array und/ oder erstelle extra ein mc in das du diese sensoren reingibst. sensoren=[]; .. sensoren.push( this.createEmptyMovieClip("sensor"+i, i+12000) ); so brauchst du nicht die namen zu rekonstruieren, sondern greifst über die zeiger im array auf die mc's zu. tipp2: ist jetzt kein fehler, aber ziemlich unnötig: die setzt 3x das onEnterFrame nimm das aus der schleife raus. for (var i=0; i<3; i++) { .. this._parent.area_mc.onEnterFrame = function()
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (08-09-2008 um 23:54 Uhr) |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Jun 2005
Beiträge: 34
|
OK, mal gucken, ob mir das mit dem array weiterhilft. Nur zur Erläuterung: Ich will dass in einem Newsanzeiger, der als scrolltext funktioniert, immer dann, wenn eine Meldung nach oben (oder auch wieder nach unten) gescrollt wurde (also wenn die Überschrift der Meldung eine bestimmte y-Position erreicht) das zugehörige Bild zur Meldung geladen wird. Daher der Sensor in jeder Meldung, der Überprüft ob die Überschrift zu z.B. Meldung 3 gerade am oberen Rand (dort sitzt area_mc und wartet) des sichtbaren Bereichs meines Scollfeldes sitzt... Vermultlich ein blödsinnig komplizierter Ansatz? Dachte das wäre simpel... mit statischem text funzt es ja auch... |
| | |
| | #6 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
| dann teste doch gegen die y-position, wozu überhaupt ein hitTest? hitTest auf text ist sowieso ungeschickt, weil nur das 'schwarze' des textes als fläche gilt.
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |