Volledige versie bekijken : mc._name doorgeven in functie
Taeke
%Europe/Berlin %874 %2005, 20:59
Een klein probleempje, maar groot voor mij.
Ik wil de naam van een movieclip doorgeven in een functie.
de functie wordt als volgt aangeroepen:
_root.waargevallen(??);
De functie zelf ziet er zo uit:
function waargevallen(??){
for (var i=0; i<10;i++){
if (eval(??._droptarget) == _root["d_"+i]){
??.gevallen = true;
trace ("Gevallen: " + ??.gevallen);
}
}
}
Mijn vraag is: wat moet er op de plaatsen van ?? staan om de functie goed te laten werken?
Fatty Owl
%Europe/Berlin %882 %2005, 21:10
dat zou zoiets moeten worden :) ik heb er een prototype van gemaakt, dit werkt zoals een functie alleen kan je MovieClip.waargevallen() doen nu :)
MovieClip.prototype.waargevallen = function() {
for (var i = 0; i<10; i++) {
if (eval(this._droptarget) == _root["d_"+i]) {
gevallen = _root["d"+i];
trace("Gevallen: "+gevallen);
}
}
};
je_mc.waargevallen();
Taeke
%Europe/Berlin %939 %2005, 22:33
Fatty Owl,
Dat doe ik.
Dit werkt niet, omdat het de bedoeling is, dat de naam van de mc in de functie wordt doorgegeven.
Dus in de mc zou kunnen staan: naam = this._name;
En deze variable moet worden doorgegeven aan de functie:
_root.waargevallen (naam)
In de _root staat dan de functie, die moet zien waar de mc is gevallen:
function waargevallen (naam){
code....
}
Maar.... deze parameter werkt niet.
De vraag is dus: wat moet daarvoor in de plaats komen te staan?
Laiverd
%Europe/Berlin %004 %2005, 00:06
Misschien moet je even uitleggen wat je wilt bereiken, want in pricipe zou wat je doet moeten werken. Wat werkt er niet?
Taeke
%Europe/Berlin %012 %2005, 00:18
'k heb 'n andere vroag laiverd: woar woonst?
In Stad?
In elk geval leg ik 't die mörg'n eem'n oet.
Laiverd
%Europe/Berlin %027 %2005, 00:40
Niet meer ;) Dus leg het hier maar even uit.
SaphuA
%Europe/Berlin %066 %2005, 01:36
'k heb 'n andere vroag laiverd: woar woonst?
In Stad?
In elk geval leg ik 't die mörg'n eem'n oet.
Doe mij maar gewoon kaas op brood :)
Je moet inderdaan wat duidelijk zijn met wat je nou precies wilt met de 'naam'?
function waargevallen(n){
for (var i=0; i<10;i++){
if (eval(_root[n]._droptarget) == _root["d_"+i]){
_root[n].gevallen = true;
trace ("Gevallen: " + _root[n].gevallen);
}
}
}
//--Werking:
waargevallen(this._name);
Zou moeten werken, als die althans is wat je wilt. Wat je ook kan doen is gewoon de linkage doorsturen, ipv de naam, dan wordt het dit:
function waargevallen(n){
for (var i=0; i<10;i++){
if (eval(n._droptarget) == _root["d_"+i]){
n.gevallen = true;
trace ("Gevallen: " + n.gevallen);
}
}
}
//--Werking:
waargevallen(this);
Let wel even op, ik weet niet precies wat je met die eval wilt doen. Dus ik heb het er maar even zo in aangepaast, maar dat zal waarschijnlijk niet werken. Dus als het anders moet, moet je toch wat duidelijker zijn.
Taeke
%Europe/Berlin %426 %2005, 10:14
Een goed script is beter dan welk broodbeleg dan ook!
Die for lus is nodig, omdat er een aantal mogelijkheden zijn:
Er zijn laten we zeggen 10 mc's die uiteindelijk op de goede plaats gedropt moeten worden.
Ik wil op elk moment kunnen zien, of hij gevallen is of niet.
SaphuA, je script (zie ook citaat) werkt prima.
Ik kreeg het maar niet voor elkaar de naam van de mc aan de functie door te geven.
Ik had er dit staan:
function waargevallen (this._name){
Tja, en dat werkt natuurlijk niet.
Wat ik mis in de handleidingen is waarom iets zo moet en niet anders.
Vaak wordt er een voorbeeld gegeven en daar moet je het dan mee doen.
Dank!
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.