Oke, ik ben volgens mij niet echt een held in het uitleggen van dit soort dingen aan mensen die het nog nooit onder ogen hebben gehad.
Ik heb een movieclip genaamd phKarel. Als actionscript heb ik op deze movieclip de volgende code geplakt:
Het gaat verder alleen om het eerste argument wat we meegeven. this reffereert naar de movieclip phKarel waar we in werken. movement() is een eigen gedefinieerde functie in een extern AS bestand die ik include in een van de layers in de Stage.
In de functie movement() wil ik een if-lus maken die controleert met welke movieclip we te maken hebben, want dat kunnen meerdere zijn (er zijn meer movieclips waar ik dezelfde functie aanroep en ook weer this meegeef als eerste argument). Een beetje zoals dit voorbeeld:
Dit zou een mooi stukje code zijn, maar het werkt niet. Kennelijk kun je de movieclip niet vergelijken op deze manier. Mijn vraag is nu, hoe wel?
Wat ik er uiteindelijk mee wil is namelijk dat ik een bepaalde MC kan setten als zijnde 'tweening'. Dit tweenen doe ik namelijk verderop in de functie met een tween class die in Flash zelf zit. Tijdens het tweenen mag de gebruiker niet nog een opdracht geven, want dat brengt de tween in de war. Om dit te voorkomen wil ik zolang de tween loopt alle acties 'locken'. Dit wil ik dus doen door bij alle acties te checken of de MC aan het tweenen is of niet (isInTween). Zo niet, ga verder. Zo wel, negeer het commando.
Dus: hoe check je of een bepaald argument een bepaalde MC bevat?
Ik heb een movieclip genaamd phKarel. Als actionscript heb ik op deze movieclip de volgende code geplakt:
code:
1
| _parent.movement(this, "workshop_fijnzand", false, false); |
Het gaat verder alleen om het eerste argument wat we meegeven. this reffereert naar de movieclip phKarel waar we in werken. movement() is een eigen gedefinieerde functie in een extern AS bestand die ik include in een van de layers in de Stage.
In de functie movement() wil ik een if-lus maken die controleert met welke movieclip we te maken hebben, want dat kunnen meerdere zijn (er zijn meer movieclips waar ik dezelfde functie aanroep en ook weer this meegeef als eerste argument). Een beetje zoals dit voorbeeld:
code:
1
2
3
4
5
6
7
8
9
10
| if(mc == "_level0.phKarel")
{
trace("karel");
phKarel.isInTween = 1;
}
else if(mc == "_level0.phKana")
{
trace("kana");
phKana.isInTween = 1;
} |
Dit zou een mooi stukje code zijn, maar het werkt niet. Kennelijk kun je de movieclip niet vergelijken op deze manier. Mijn vraag is nu, hoe wel?
Wat ik er uiteindelijk mee wil is namelijk dat ik een bepaalde MC kan setten als zijnde 'tweening'. Dit tweenen doe ik namelijk verderop in de functie met een tween class die in Flash zelf zit. Tijdens het tweenen mag de gebruiker niet nog een opdracht geven, want dat brengt de tween in de war. Om dit te voorkomen wil ik zolang de tween loopt alle acties 'locken'. Dit wil ik dus doen door bij alle acties te checken of de MC aan het tweenen is of niet (isInTween). Zo niet, ga verder. Zo wel, negeer het commando.
Dus: hoe check je of een bepaald argument een bepaalde MC bevat?