Event auf gezeichnetem MC

dsturm

Erfahrenes Mitglied
Moin zusammen,

ich hab gerade ein Problem, wo ich leider nicht mehr weiter weiss:

Ich habe einen MC in den ich einen weiteren erstelle. In diesen zeichne ich ein Dreick, und weise dem MC ein Event zu (zB onPress). Zeichnen tut er wunderbar, nur leider passiert nichts beim Event.

Code:
mcl.onLoadInit = function(target:MovieClip) {
  var click_corner:MovieClip = target._parent.createEmptyMovieClip("click_corner", target._parent.getNextHighestDepth());
  e = click_corner._parent;
  with (click_corner) {
	e = _parent;
	beginFill(0xe8ff25, 100);
	lineStyle(1, 0xe8ff25, 50);
	moveTo(e._width-8,e._height-afa-8);
	lineTo(e._width-8,e._height-8);
	lineTo(e._width-8-afa,e._height-8);
	lineTo(e._width-8,e._height-afa-8);
	endFill();
  }

  click_corner.onPress = function() {
	trace(this._name);
  }
}

Sieht jemand einen Fehler, oder weiss wodran es liegen könnte?
 
Hallo dsturm,

bei mir funktioniert selbst das Zeichnen des
Dreiecks nicht. (Habe einen Mc namens »mc1«
angelegt)

Vielleicht könntest du die .fla mal posten.

//edit
Wenn du der Variablen »e« die Maße der gesamten
Bühne zuteilen möchtest kannst du das auch ganz
einfach mit »Stage.width« und »Stage.height« machen.



mfg,
blount
 
Zuletzt bearbeitet:
Nene, danke, e ist ein Container, nicht die Stage. Ja, der Code-Ausschnitt ist nicht komplett, etwas komplexerer Aufbau.

Das Ganze ist aufgebaut:
Code:
- _root.
    - mc_foto <- attached MC (aus AS importiert)
        - mc_container <- created MC (Container)
          ^- load MC (.swf)
        - mc_click_corner <- created MC (für Dreiecksgrafik)
          ^- mit lineTo, etc befüllt
          ^- mit onPress = function() versucht Event abzufangen
    - attached MC ...
    - ...

Ich kann halt leider auf dem entsprechenden MC keine Events zuweisen.

Zwischenzeitlich habe ich das unelegant, über einen hitTest() gelöst, was geht, aber nicht gerade fein ist.

Mir stellt sich die Frage, warum die Events keine Wirkung zeigen. Ich lade später mal die .fla hoch, vll kann es dann einer erkennen, woran es liegt...

Danke, trotzdem schonmal!
 
Hi,

vielleicht wird Dein neu erstellter MC von einem (transparenten) Objekt verdeckt, auf dem ebenfalls ein Mausereignis liegt?

Folgendes (im ersten Frame einer neuen Datei) funktioniert beispielsweise tadellos:
Code:
var c = this.createEmptyMovieClip("test", 1);
c._x = Stage.width / 2;
c._y = Stage.height / 2;
c.beginFill(0xFFCC44, 100);
c.moveTo(0, -100);
c.lineTo(100, 100);
c.lineTo(-100, 100);
c.lineTo(0, -100);
c.onRelease = function() {
	trace(this);
}

Gruß
.
 
Hmm, ich bin mir eigentlich sicher, dass sich da nichts ins Gehege kommen kann, aber ich schau trotzdem mal. Habs aber allerdings mittlerweile umgangen, daher ist für mich das Thema erledigt.

Vielen Dank für die Antworten!
 
Zurück