[actionscript]hittest met createEmptyMovieClip

Pagina: 1
Acties:

  • SilentSimon
  • Registratie: Oktober 2001
  • Laatst online: 11-02 22:05

SilentSimon

Have you been hopped?

Topicstarter
Ik maak enkele movieclips via code aan. deze krijgen allemaal een aparte instance name, in mijn geval event1, event2 etc.

Nu wil ik deze gebruiken met een hitTest, maar dat schijnt dus niet te werken.

Flash ActionScript:
1
2
3
4
5
    for (var i=0; i < eventArray.length; i++) {
        if (mc_tijdbalk.hitTest("event"+ eventArray[i].eventId)) {
            trace("hit");
        }           
    }


Blijkbaar kan hitTest niet met code gegeneerde instances omgaan.
Is er een manier om dit wel werkend te krijgen?

  • sanderb
  • Registratie: November 2000
  • Laatst online: 19:07
blijven die movieclips leeg? of stop je er wel nog wat in?
Als ze leeg blijven gaat een hitTest niet werken inderdaad. Dan kun je nml beter een hitTest met een punt doen ipv met een lege movieClip

overigens gaat dit:
Flash ActionScript:
1
mc_tijdbalk.hitTest("event"+ eventArray[i].eventId)

sowieso niet werken.

trace maar eens trace("event"+ eventArray[i].eventId).
heb je die movieClips ook in een array zitten? dan kun je nml gewoon array[i] hittesten. De manier die je nu probeert kan bijvoorbeeld wel met
Flash ActionScript:
1
this["event"+ eventArray[i].eventId]


Wat je nu doet is feitelijk een hitTest met een string...en dat werkt dus niet nee.

[ Voor 54% gewijzigd door sanderb op 17-10-2006 23:02 ]

" A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools. " - Douglas Noel Adams


  • SilentSimon
  • Registratie: Oktober 2001
  • Laatst online: 11-02 22:05

SilentSimon

Have you been hopped?

Topicstarter
Flash ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
createEmptyMovieClip("event_" + tempId, this.getNextHighestDepth());
            with(this["event_" + tempId]) {
                lineStyle(1, 0xFF9900);
                ((tempLinePosition), ( 0));


    private function eventHitTest() {
        for (var i=0; i < eventArray.length; i++) {
            if (mc_tijdbalk.hitTest(this["event_" + eventArray[i].eventId])) {
                if (eventArray[i].eventPassed == "false") {
                    tempEventId = eventArray[i].eventId;
                    Application.instance.sendEvent ("changePassed", this);
                }
            }
        }
    }


Heb het dus op de bovenstaande manier opgelost :)