Permalänk

Hjälp med flash

Hej,

Jag håller på att göra en Android applikation och försöker skapa ett rutnät som ska täcka hela skärmen. rutorna ska vara ca 1x1 cm stora och varje ruta består av ett movie clip som heter Box. När man drar över en ruta ska den bytas ut mot ett annat movie clip som heter Box2. Följande kod tog jag från internet och jag behöver lite hjälp med att ändra den så den fungerar som jag vill:

var boxNum:int = 400; // we need to know how many columns our // grid is going to have var cols:int = 25; // calculate how many rows we need based on // boxNum var rows:int = Math.ceil(boxNum / cols); // the number of boxes attached to the stage var boxCount:int = 0; for (var py:int = 0; py<rows; py++) { for (var px:int = 0; px<cols; px++) { var box:Box = new Box(); box.x = 0 + box.width * px; box.y = 0 + box.height * py; addChild(box); box.alpha = .2; // only add listeners if box should be active if (boxCount <boxNum) { box.buttonMode = true; box.addEventListener(MouseEvent.ROLL_OVER, onRoll, false, 0, true); box.addEventListener(MouseEvent.CLICK, onClick, false, 0, true); }else{ // box is inactive box.alpha = .5; } boxCount++; } } function onRoll(evt:Event):void { var box:MovieClip = MovieClip(evt.target); addChild(box) box.alpha = 1; } function onClick(evt:Event):void { evt.target.alpha = 0; }

Denna koden fungerar bra förutom att den lägger till evt.target dvs box istället för box2 och om jag ändrar koden så att den ser ut så här:

var boxNum:int = 400; // we need to know how many columns our // grid is going to have var cols:int = 25; // calculate how many rows we need based on // boxNum var rows:int = Math.ceil(boxNum / cols); // the number of boxes attached to the stage var boxCount:int = 0; for (var py:int = 0; py<rows; py++) { for (var px:int = 0; px<cols; px++) { var box:Box = new Box(); var box2:Box2 = new Box2(); box.x = 0 + box.width * px; box.y = 0 + box.height * py; box2.x = 0 + box2.width * px; box2.y = 0 + box2.height * py; addChild(box); box.alpha = .2; // only add listeners if box should be active if (boxCount <boxNum) { box.buttonMode = true; box2.buttonMode = true; box.addEventListener(MouseEvent.ROLL_OVER, onRoll, false, 0, true); box2.addEventListener(MouseEvent.CLICK, onClick, false, 0, true); }else{ // box is inactive box.alpha = .5; } boxCount++; } } function onRoll(evt:Event):void { var box:MovieClip = MovieClip(box2); addChild(box) box2.alpha = 1; } function onClick(evt:Event):void { evt.target.alpha = 0; }

så lägger den till box2 som den ska fast den lägger bara till den en gång längst ned till höger oavsett vart jag klickar. Ett annat problem är att rutnätet inte täcker hela skärmen ända ut i kanterna och den går utanför skärmen längst upp vilket jag inte har en aning om hur man fixar.

Bilder som visar problemen:

EDIT: Första problemet löste sig genom att jag använde mig av 2 frames på box istället för att göra två separata. Problemet med att den inte sträcker ut sig i fullscreen kvarstår dock!