I am pulling my hair out trying to make the close button work on this homework project. This app scatters photos on the stage, randomly and at random angles. They are drag and droppable and the clicked photo comes to the fore. Each photo has a close button intended to remove the photo from the stage, this last is what won’t work. I know its a common topic, but nothing I’ve tried has worked so far. I’d appreciate help. Thanks!
onClickCloseBtn is the problem.
package
{
import flash.display.*;
import flash.events.*;
public class Main extends MovieClip
{
function Main()
{
var photo1_mc:MovieClip = new Photo1MC();
var photo2_mc:MovieClip = new Photo2MC();
var photo3_mc:MovieClip = new Photo3MC();
var photo4_mc:MovieClip = new Photo4MC();
var photo5_mc:MovieClip = new Photo5MC();
var imageArray: Array = [photo1_mc, photo2_mc, photo3_mc, photo4_mc, photo5_mc];
var container_mc:MovieClip = new MovieClip();
addChild(container_mc);
function createPhotos()
{
for (var i:uint = 0; i < 5; i++)
{
var rotationRange:Number = 6;
imageArray*.x = Math.floor(Math.random() * stage.stageWidth) / 3;
imageArray*.y = Math.floor(Math.random() * stage.stageHeight) / 3;
imageArray*.rotation = Math.floor(Math.random()*(rotationRange * 2))-rotationRange;
imageArray*.addEventListener(MouseEvent.MOUSE_DOWN, startDragging);
imageArray*.addEventListener(MouseEvent.MOUSE_UP, stopDragging);
var closeBtn_mc:MovieClip = new CloseBtnMC();
closeBtn_mc.x = 260;
closeBtn_mc.y = 7;
imageArray*.addChild(closeBtn_mc);
closeBtn_mc.addEventListener(MouseEvent.CLICK, onClickCloseBtn);
container_mc.addChild(imageArray*);
}
}
createPhotos();
var offsetX:Number;
var offsetY:Number;
var draggedObject:DisplayObject;
function startDragging(event:MouseEvent):void
{
draggedObject = DisplayObject(event.target);
offsetX = event.stageX - draggedObject.x;
offsetY = event.stageY - draggedObject.y;
stage.addChild(draggedObject);
stage.addEventListener(MouseEvent.MOUSE_MOVE, dragObject);
}
function stopDragging(event:MouseEvent):void
{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, dragObject);
}
function dragObject(event:MouseEvent):void
{
draggedObject.x = event.stageX - offsetX;
draggedObject.y = event.stageY - offsetY;
event.updateAfterEvent();
}
function onClickCloseBtn(e:MouseEvent):void
{
//container_mc.removeChild(e.currentTarget.parent)
}
// --------------------------------------------
// !! Make sure no code is written below this line (for now) !!
}
}
}