Skip to main content
Participant
November 28, 2022
Question

1084: Syntax error: expecting identifier before rightbrace

  • November 28, 2022
  • 2 replies
  • 534 views

these errors  show up and my stop command wont work, whats wrong with my code?? i'm new to  action script, and i used a youtube tutorial to create the drag and drop

Here is my Code

 

stop();

var obyeks:Array=new Array();
var boxs:Array=new Array();


obyeks=[puzzle1,puzzle2,puzzle3];
boxs=[kotak1,kotak2,kotak3];

{

for (var Number=0 ;i<obyeks.length;i++)

}

 

{
obyeks[i].addEventListener(MouseEvent.MOUSE_DOWN,startdrag);
obyeks[i].addEventListener(MouseEvent.MOUSE_UP,stopdrag);

}
function startdrag(e:MouseEvent) {
e.currentTarget.startDrag();
}
function stopdrag(e:MouseEvent) {
e.currentTarget.stopDrag();

for(var i:Number=0 ;i<obyeks.length;i++)
{
for(var j:Number=0;j<boxs.length;j++)
{
if ((Math.abs(obyeks[i].x - boxs[j].x) < 50) && (Math.abs(obyeks[i].y - boxs[j].y) <50))
obyeks[i].x=boxs[j].x;
obyeks[i].y=boxs[j].y;
}
}
}

function updateScore()
{
for (var i:Number=0;i<obyeks.length;i++)
{
if (((obyeks[0].x==boxs[0].x)&&(obyeks[0].y==boxs[0].y))
&&((obyeks[1].x==boxs[1].x)&&(obyeks[1].y==boxs[1].y))
&&((obyeks[2].x==boxs[2].x)&&(obyeks[2].y==boxs[2].y))
&&((obyeks[3].x==boxs[3].x)&&(obyeks[3].y==boxs[3].y)))
{

}
}
}

    This topic has been closed for replies.

    2 replies

    kglad
    Community Expert
    Community Expert
    November 28, 2022

    this is wrong in many ways:

     

    {

    for (var Number=0 ;i<obyeks.length;i++)

    }

     

    {
    obyeks[i].addEventListener(MouseEvent.MOUSE_DOWN,startdrag);
    obyeks[i].addEventListener(MouseEvent.MOUSE_UP,stopdrag);

    }

     

     

    change it to:

     

    for(var i:Number = 0; i < obyeks.length; i++) {
    obyeks[i].addEventListener(MouseEvent.MOUSE_DOWN, startdrag);
    obyeks[i].addEventListener(MouseEvent.MOUSE_UP, stopdrag);

    }

    JoãoCésar17023019
    Community Expert
    Community Expert
    November 28, 2022

    Hi.

     

    This is a suggestion for the formatting only. You're gonna have to test it.

    stop();
    
    var obyeks:Array = new Array();
    var boxs:Array = new Array();
    
    obyeks = [puzzle1, puzzle2, puzzle3];
    boxs = [kotak1, kotak2, kotak3];
    
    for (var Number = 0; i < obyeks.length; i++)
    {
    	obyeks[i].addEventListener(MouseEvent.MOUSE_DOWN, startdrag);
    	obyeks[i].addEventListener(MouseEvent.MOUSE_UP, stopdrag);
    {
    	
    function startdrag(e:MouseEvent)
    {
    	e.currentTarget.startDrag();
    }
    
    function stopdrag(e:MouseEvent)
    {
    	e.currentTarget.stopDrag();
    
    	for (var i:Number = 0; i < obyeks.length; i++)
    	{
    		for (var j:Number = 0; j < boxs.length; j++)
    		{
    			if ((Math.abs(obyeks[i].x - boxs[j].x) < 50) && (Math.abs(obyeks[i].y - boxs[j].y) < 50))
    				obyeks[i].x = boxs[j].x;
    			
    			obyeks[i].y = boxs[j].y;
    		}
    	}
    }
    
    function updateScore()
    {
    	for (var i:Number = 0; i < obyeks.length; i++)
    	{
    		if (((obyeks[0].x == boxs[0].x) && (obyeks[0].y == boxs[0].y)) && ((obyeks[1].x == boxs[1].x) && (obyeks[1].y == boxs[1].y)) && ((obyeks[2].x == boxs[2].x) && (obyeks[2].y == boxs[2].y)) && ((obyeks[3].x == boxs[3].x) && (obyeks[3].y == boxs[3].y)))
    		{
    
    		}
    	}
    }

     

    Regards,

    JC

    Participant
    November 28, 2022

    1084: Syntax error: expecting rightbrace before end of program

    I tried your codding but then I get another error

    What should I do?

    JoãoCésar17023019
    Community Expert
    Community Expert
    November 28, 2022

    Sorry.

     

    The first for loop should be like this:

     

    for (var Number = 0; i < obyeks.length; i++)
    {
        obyeks[i].addEventListener(MouseEvent.MOUSE_DOWN, startdrag);
        obyeks[i].addEventListener(MouseEvent.MOUSE_UP, stopdrag);
    }

     

     

    Also, don't name your variable Number (using a capital N) because it refers to a built-in class name in AS3.

     

    Regards,

    JC