PHP gevorderde |
|
Beste,
Ik ben bezig met een schoolopdracht; maar nu heb ik een array met daarin 16 MC's. Deze shuffle ik dan (zodat ze willekeurig op de stage worden geplaatst). Daarna wil ik ze dus op de stage plaatsen maar dan krijg ik de volgende error:
TypeError: Error #1007: Instantiation attempted on a non-constructor.
Maar ik heb al gekeken op het internet enz. en vind ik dingen zoals: http://www.9liv...st10816266
die identiek zijn volgens mij als het mijne... Helaas .
var puzzelstukken1:Array = new Array();
var puzzelstukken1Shuffle:Array = new Array();
init();
function init():void
{
//Puzzelstukken van linker gedeelte in een array plaatsen
var deel:uint;
for(var i:uint = 0;i <= 15;i++)
{
deel = i+1;
puzzelstukken1.push("puzzelstuk" + deel);
}
//idem ander gedeelte
//shuffelen
puzzelstukken1Shuffle = shuffle(puzzelstukken1);
puzzelstukkenPlaatsen();
}
function puzzelstukkenPlaatsen():void
{
//plaatsen op de stage
var posX:uint;
var posY:uint;
for (var i:uint = 0; i < puzzelstukken1Shuffle.length; i++) {
trace(puzzelstukken1Shuffle[i]);
var puzzelstuk:MovieClip = new puzzelstukken1Shuffle[i]();
puzzelstuk.name = puzzelstukken1Shuffle[i];
this.addChild(puzzelstuk);
}
}
//Functie om array door elkaar te halen
function shuffle(arr:Array):Array {
var shuffled:Array = arr.slice();
for (var i:int=0; i<arr.length; i++) {
var element:Object = shuffled[i];
var rnd:int = Math.floor(arr.length * Math.random());
shuffled[i] = shuffled[rnd];
shuffled[rnd] = element;
}
return shuffled;
}
var puzzelstukken1:Array = new Array(); var puzzelstukken1Shuffle:Array = new Array(); init(); function init():void { //Puzzelstukken van linker gedeelte in een array plaatsen var deel:uint; for(var i:uint = 0;i <= 15;i++) { deel = i+1; puzzelstukken1.push("puzzelstuk" + deel); } //idem ander gedeelte //shuffelen puzzelstukken1Shuffle = shuffle(puzzelstukken1); puzzelstukkenPlaatsen(); } function puzzelstukkenPlaatsen():void { //plaatsen op de stage var posX:uint; var posY:uint; for (var i:uint = 0; i < puzzelstukken1Shuffle.length; i++) { trace(puzzelstukken1Shuffle[i]); var puzzelstuk:MovieClip = new puzzelstukken1Shuffle[i](); puzzelstuk.name = puzzelstukken1Shuffle[i]; this.addChild(puzzelstuk); } } //Functie om array door elkaar te halen function shuffle(arr:Array):Array { var shuffled:Array = arr.slice(); for (var i:int=0; i<arr.length; i++) { var element:Object = shuffled[i]; var rnd:int = Math.floor(arr.length * Math.random()); shuffled[i] = shuffled[rnd]; shuffled[rnd] = element; } return shuffled; }
EDIT: Zelf opgelost; je kan geen string omzetten naar een movieclip zonder het volgende:
var customClass = getDefinitionByName("puzzelstuk" + deel);
var customClass = getDefinitionByName("puzzelstuk" + deel);
|