15leungjs1
15leungjs1

Reputation: 35

Error 1105: Target of Assignment must be a Reference Value

Flash says the code is on my second line, but I've done some reading and it says this error is mainly due to me trying to assign a value to a value, and I've looked back over my code, and I can't seem to find any instance of this.

Here is my code:

this.mc=new MovieClip();
addChild(mc)=("myButton1", this.DisplayOBjectContainer.numChildren());
myButton1.createEmptyMovieClip("buttonBkg", myButton1.getNextHighestDepth());

myButton1.buttonBkg.lineStyle(0, 0x820F26, 60, true, "none", "square", "round");
myButton1.buttonBkg.lineTo(120, 0);
myButton1.buttonBkg.lineTo(120, 30);
myButton1.buttonBkg.lineTo(0, 30);
myButton1.buttonBkg.lineTo(0, 0);

Thanks!

Upvotes: -1

Views: 881

Answers (2)

helloflash
helloflash

Reputation: 2455

Your code is very confusing. You mix AS2 methods (createEmptyMovieClip, getNextHighestDepth) with AS3 methods (addChild). Here is what you are trying to do:

const MC:Sprite = new Sprite(); // Sprite container
this.addChild(MC);

const MYBUTTON1:Sprite = new Sprite(); // button in container
MC.addChild(MYBUTTON1);

const BUTTONBKG:Shape = new Shape(); // background in button
MYBUTTON1.addChild(BUTTONBKG);
const BTG:* = BUTTONBKG.graphics;

BTG.beginFill(0x86B1FB);
BTG.lineStyle(0, 0x820F26, 0.6, true, "none", "square", "round");
BTG.lineTo(120, 0);
BTG.lineTo(120, 30);
BTG.lineTo(0, 30);
BTG.lineTo(0, 0);

MYBUTTON1.addEventListener(MouseEvent.CLICK, pressButton);

function pressButton(e:MouseEvent):void {
    trace('I click on you');
}

Notes : the alpha value in AS3 is between 0 and 1. If you want your button to be clickable, you should use beginfill method.

Upvotes: 0

gabriel
gabriel

Reputation: 2359

Check what you are trying to in these lines:

 addChild(mc)=("myButton1", this.DisplayOBjectContainer.numChildren());
 myButton1.createEmptyMovieClip("buttonBkg", myButton1.getNextHighestDepth());

To create an empty MovieClip, you can just create a new display object w/o linking it to a clip in the library like this:

 addChild(mc);
 var myButton1:MovieClip = new MovieClip(); // creates an empty MovieClip
 addChildAt(myButton1, numChildren); // adds the MovieClip at a defined level (on this case, the numChildren added on stage

Upvotes: 0

Related Questions