Archief - FLASH: AS > onbegrijpbare aanspreking

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Vinz

Legacy Member
bij volgende functie in actionscript breek ik nu al 2 uur men hoofd over maar ik kom er niet uit

waarom werkt de code bij commentaar (1) wel perfect
maar bij commentaar (2) tot (5) niet???

(uiteraard weet ik dat dit allemaal hetzelfde doet maar je moet je voorstellen dat maar 1 van de 5 geprobeerd wordt en de andere weggelaten worden)

ik zit met men handen in men haar ivm de aanspreking en dus niet met de rest van de code :)
door dat ik dit niet begrijp kan ik ook de MC niet goed aanspreken om er een actie op toe te passen (vb _y=.., _visible, ...)
Code:
function maakMc(mc_naam, index, x1, y1, x2, y2, kleur, opvulling, tekst) {
	trace(mc_naam+" met textveld: "+tekst);
	createEmptyMovieClip(mc_naam, index+1);
	with (mc_naam) {
		// keuze van dikte lijn en de kleur
		lineStyle(6, kleur);
		// beginnen me te vullen 
		beginFill(opvulling);
		// beginnen me te vullen 
		moveTo(x1, y1);
		// lijn trekken naar
		lineTo(x1, y2);
		// lijn trekken naar
		lineTo(x2, y2);
		// lijn trekken naar
		lineTo(x2, y1);
		// lijn trekken naar
		lineTo(x1, y1);
		// stopen met vullen
		endFill();
		_visible=false;  //  (1)
	}
	_level0.mc_naam._visible=false; //  (2)
	_root.mc_naam._visible=false;   //  (3)
	this.mc_naam._visible=false;    //  (4)
	mc_naam._visible=false;         //  (5)
}

var breedte = 80;
var hoogte = 80;

maakMc("test0_mc", 10, 10, breedte, hoogte, "0x000000", "0x660000", "Test tekst blabla");

squan

Legacy Member
Code:
function maakMc(mc_naam, index, x1, y1, x2, y2, kleur, opvulling, tekst) {
	trace(mc_naam+" met textveld: "+tekst);
	var movieclip:MovieClip = createEmptyMovieClip(mc_naam, index+1);
	with (movieclip) {
		// keuze van dikte lijn en de kleur
		lineStyle(6, kleur);
		// beginnen me te vullen 
		beginFill(opvulling);
		// beginnen me te vullen 
		moveTo(x1, y1);
		// lijn trekken naar
		lineTo(x1, y2);
		// lijn trekken naar
		lineTo(x2, y2);
		// lijn trekken naar
		lineTo(x2, y1);
		// lijn trekken naar
		lineTo(x1, y1);
		// stopen met vullen
		endFill();
		//_visible=false;  //  (1) werkt
	}
	//_level0.mc_naam._visible=false; //  (2)  werkt niet
	//_root.mc_naam._visible=false;   //  (3)  werkt niet
	//this.mc_naam._visible=false;    //  (4)  werkt niet
	//mc_naam._visible=false;         //  (5)  werkt niet
	
	//_level0[mc_naam]._visible=false; //  (2)  werkt
	//_root[mc_naam]._visible=false;   //  (3)  werkt
	//this[mc_naam]._visible=false;    //  (4)  werkt
	movieclip._visible=false;         //  (5)  werkt
}

var breedte = 80;
var hoogte = 80;

maakMc("test0_mc", 1, 10, 10, breedte, hoogte, "0x000000", "0x660000", "Test tekst blabla");

die dan dingen van (2) tot (5) werken niet om de eenvoudige reden dat mc_naam geen movieclip is maar een string!

je gebruikt naam_mc om een movieclip die naam te geven, maar verder is mc_naam geen movieclip. Daarom heb ik je movieclip eerst gedeclareerd en zo kan ik wel de visibility ook aanpassen. :)

blaZe

Legacy Member
of mogelijk aanspreken met

this[mc_naam]._visible=false;
of
eval(mc_naam)._visible=false;

als je die buiten je with command wilt gebruiken.

Bigbuddha

Legacy Member
preferably het eerste
this[mc_naam]._visible=false;

eval is ondertussen depreciated.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan