I am creating a drag and drop game where you click the different buttons to allow the objects to appear and then once dragged into position click a reset button to move them back to their original position but I'm experiencing a couple of issues, the first is the error below:
ReferenceError: Error #1069: Property stopDrag not found on flash.display.SimpleButton and there is no default value.
at BOPAnimation8_fla::MainTimeline/dropObject()
Second problem, The reset button will only move two objects back to their original position when the reset button is clicked.
Any help would be appreciated.
This is my code.
import flash.events.MouseEvent;
import fl.transitions.Tween;
import fl.transitions.easing.*;
Annular.addEventListener(MouseEvent.CLICK,getAnnular);
Annular_mc.addEventListener(MouseEvent.CLICK,getAnnular_mc);
var gotAnnular:Boolean = false;
var gotAnnular_mc:Boolean = false;
Annular_mc.visible = false;
function getAnnular_mc(evt:MouseEvent):void
{
if (gotAnnular==false)
{
Annular_mc.visible = false;
}
else
{
Annular_mc.visible = true;
}
}
if (gotAnnular==true)
{
Annular.visible = false;
Annular_mc.visible = true;
}
function getAnnular(evt:MouseEvent):void
{
Annular.visible = true;
Annular_mc.visible = true;
}
PipeRam.addEventListener(MouseEvent.CLICK,getPipeRam);
//PipeRamPart_mc.addEventListener(MouseEvent.CLICK,getPipeRamPart_mc);
//PipeRamPart2_mc.addEventListener(MouseEvent.CLICK,getPipeRamPart2_mc);
//PipeRamPart4_mc.addEventListener(MouseEvent.CLICK,getPipeRamPart3_mc);
var gotPipeRam:Boolean = false;
var gotPipeRamPart_mc:Boolean = false;
var gotPipeRamPart2_mc:Boolean = false;
var gotPipeRamPart4_mc:Boolean = false;
PipeRamPart_mc.visible = false;
PipeRamPart2_mc.visible = false;
PipeRamPart4_mc.visible = false;
function getPipeRamPart_mc(evt:MouseEvent):void
{
if (gotPipeRam==false)
{
PipeRamPart_mc.visible = false;
PipeRamPart2_mc.visible = false;
PipeRamPart4_mc.visible = false;
}
else
{
PipeRamPart_mc.visible = true;
PipeRamPart2_mc.visible = true;
PipeRamPart4_mc.visible = true;
}
}
if (gotPipeRam==true)
{
PipeRam.visible = false;
PipeRamPart_mc.visible = true;
PipeRamPart2_mc.visible = true;
PipeRamPart4_mc.visible = true;
}
function getPipeRam(evt:MouseEvent):void
{
PipeRam.visible = true;
PipeRamPart_mc.visible = true;
PipeRamPart2_mc.visible = true;
PipeRamPart4_mc.visible = true;
}
ShearRam.addEventListener(MouseEvent.CLICK,getShearRam);
ShearRamPart1_mc.addEventListener(MouseEvent.CLICK,getShearRamPart1_mc);
var gotShearRam:Boolean = false;
var gotShearRamPart1_mc:Boolean = false;
var gotShearRamPart3_mc:Boolean = false;
ShearRamPart1_mc.visible = false;
ShearRamPart3_mc.visible = false;
function getShearRamPart1_mc(evt:MouseEvent):void
{
if (gotShearRam==false)
{
ShearRamPart1_mc.visible = false;
ShearRamPart3_mc.visible = false;
}
else
{
ShearRamPart1_mc.visible = true;
ShearRamPart3_mc.visible = true;
}
}
if (gotShearRam==true)
{
ShearRam.visible = false;
ShearRamPart1_mc.visible = true;
ShearRamPart3_mc.visible = true;
}
function getShearRam(evt:MouseEvent):void
{
ShearRam.visible = true;
ShearRamPart1_mc.visible = true;
ShearRamPart3_mc.visible = true;
}
Outlet.addEventListener(MouseEvent.CLICK,getOutlet);
OutletPart_mc.addEventListener(MouseEvent.CLICK,getOutletPart_mc);
var gotOutlet:Boolean = false;
var gotOutletPart_mc:Boolean = false;
OutletPart_mc.visible = false;
function getOutletPart_mc(evt:MouseEvent):void
{
if (gotOutlet==false)
{
OutletPart_mc.visible = false;
}
else
{
OutletPart_mc.visible = true;
}
}
if (gotOutlet==true)
{
Outlet.visible = false;
OutletPart_mc.visible = true;
}
function getOutlet(evt:MouseEvent):void
{
Outlet.visible = true;
OutletPart_mc.visible = true;
}
/* Drag and Drop BOP Objects & Reset*/
var dragArray:Array = [Annular_mc,PipeRamPart_mc,PipeRamPart2_mc,PipeRamPart4_mc,ShearRamPart1_mc,ShearRamPart3 _mc,OutletPart_mc];
for each (var mc:MovieClip in dragArray) {
mc.buttonMode = true;
mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
mc.baseX = mc.x;
mc.baseY = mc.y;
}
Reset_btn.addEventListener(MouseEvent.CLICK, doReset);
function doReset(event:MouseEvent):void {
for each (var mc:MovieClip in dragArray) {
mc.buttonMode = true;
mc.addEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
mc.addEventListener(MouseEvent.MOUSE_UP, dropObject);
//mc.x = mc.baseX;
//mc.y = mc.baseY;
new Tween(mc, "x", Strong.easeOut, mc.x, mc.baseX, 0.5, true);
new Tween(mc, "y", Strong.easeOut, mc.y, mc.baseY, 0.5, true);
}
}
function pickupObject(event:MouseEvent):void {
event.target.startDrag(true);
event.target.parent.addChild(event.target);
stage.addEventListener(MouseEvent.MOUSE_UP, dropObject);
}
function dropObject(event:MouseEvent):void {
event.target.stopDrag();
var matchingTargetName:String = "target" + event.target.name;
var matchingTarget:DisplayObject = getChildByName(matchingTargetName);
if (event.target.dropTarget != null && event.target.dropTarget.parent == matchingTarget) {
event.target.removeEventListener(MouseEvent.MOUSE_DOWN, pickupObject);
event.target.removeEventListener(MouseEvent.MOUSE_UP, dropObject);
event.target.buttonMode = false;
event.target.x = matchingTarget.x;
event.target.y = matchingTarget.y;
//} else {
// event.target.x = event.target.baseX;
// event.target.y = event.target.baseY;
}