# Type 1034 Coercion

**URL:** <https://forum.kirupa.com/t/type-1034-coercion/319098>\
**Category:** flash\
**Created:** [February 8, 2011, 11:47pm UTC](https://forum.kirupa.com/t/type-1034-coercion/319098 "2011-02-08T23:47:08Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![frustrated\_user](https://avatars.discourse-cdn.com/v4/letter/f/a698b9/32.png) [@frustrated\_user](https://forum.kirupa.com/u/frustrated_user)\
**Post date:** [February 8, 2011, 11:47pm UTC](https://forum.kirupa.com/t/type-1034-coercion/319098/1 "2011-02-08T23:47:08Z")

</div>

TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::MovieClip@68f48ec9 to flash.display.Loader.  
at as3v2\_fla::MainTimeline/removeFull()

I keep getting this coercion error from clicking the button “testclose” which we have added in the stage as a movieclip. The function for it is at the bottom of this mess XD.  
I am trying to call the function removeFull upon clicking the testclose button but the error is all I get.

Any help/insights/suggestions/bullets for me ?

import flash.display._;  
import flash.events.Event;  
import fl.transitions._;  
import fl.transitions.easing.\*;  
import flash.display.MovieClip;  
import flash.net.URLRequest;  
import flash.utils.Timer;  
import flash.events.MouseEvent;  
flareup.stop();

var rect:MovieClip = new MovieClip();  
var mask\_mc:MovieClip = new MovieClip();  
var my\_loader:Loader = new Loader();  
var columns:Number;  
var my\_x:Number;  
var my\_y:Number;  
var my\_thumb\_width:Number;  
var my\_thumb\_height:Number;  
var my\_images:XMLList;  
var my\_total:Number;  
var imagescroll:MovieClip = new MovieClip();  
addChild(imagescroll);  
var container\_mc:MovieClip;  
//var x\_counter:Number = 0;  
var testclose:MovieClip;  
var myLoader\_mc:MovieClip;

var myXMLLoader:URLLoader = new URLLoader();  
myXMLLoader.load(new URLRequest(“gallery.xml”));  
myXMLLoader.addEventListener(Event.COMPLETE, processXML);

function processXML (e:Event):void{  
var myXML:XML = new XML(e.target.data);

columns = myXML.@COLUMNS;  
my\_x = myXML.@XPOSITION;  
my\_y = myXML.@YPOSITION;  
my\_thumb\_width = myXML.@WIDTH;  
my\_thumb\_height = myXML.@HEIGHT;  
my\_images = myXML.IMAGE;  
my\_total = my\_images.length();

createContainer();  
callThumbs();  
createMask();  
scrolling();

}

// Container  
function createContainer():void{  
container\_mc = new MovieClip();  
container\_mc.x = my\_x;  
container\_mc.y = my\_y;  
addChild(container\_mc);

trace(“loaded”);

container\_mc.addEventListener(MouseEvent.CLICK, callFull);  
}  
function clicked(e:MouseEvent) {  
trace(“clicked123”);

}

// Pull thumbnails  
function callThumbs():void{  
for (var i:Number = 0; i \< my\_total; i++){

var thumb\_url = my\_images\*.@THUMB;;  
var thumb\_loader = new Loader();  
thumb\_loader.load(new URLRequest(thumb\_url));  
thumb\_loader.contentLoaderInfo.addEventListener(Event.INIT, thumbLoaded);

thumb\_loader.name = i;

thumb\_loader.x = (my\_thumb\_width+80)\*i;

}  
}

// Event loader for thumbnail  
function thumbLoaded(e:Event):void{  
var my\_thumb:Loader = Loader(e.target.loader);  
container\_mc.addChild(my\_thumb);  
}

// Pull images  
function callFull(e:MouseEvent):void{  
var full\_loader:Loader = new Loader();

var full\_url = my\_images[e.target.name].@FULL;  
full\_loader.load(new URLRequest(full\_url));

full\_loader.contentLoaderInfo.addEventListener(Event.INIT, fullLoaded);

container\_mc.removeEventListener(MouseEvent.CLICK, callFull);  
trace(“clicked123”);

}

// Load images  
function fullLoaded(e:Event):void{

```
trace("event initialized");

```

var my\_loader:Loader = Loader(e.target.loader);

my\_loader.name = “myLoader”;

addChildAt(my\_loader, 1);  
my\_loader.content.addEventListener(‘UnloadMe’, removeFull);

flareup.gotoAndPlay(1);

var rect:MovieClip = new MovieClip();

rect.graphics.beginFill(0xFFFFFF,0);  
rect.graphics.drawRect(110, 190, 900, 750);  
rect.graphics.endFill();

//—

addChild(rect);

TransitionManager.start(rect,{type:Fly, direction:Transition.IN, duration:1, easing:Strong.easeOut, startPoint:8})

my\_loader.mask = rect;  
my\_loader.x = 110;  
my\_loader.y = 192;

trace(“waiting”);

trace(my\_loader.loaderInfo);  
trace(my\_loader.name);  
my\_loader.addEventListener(MouseEvent.CLICK, removeFull);

}

// Remove image  
function removeFull(event:MouseEvent):void{  
trace(“unload”);

addChild(my\_loader);  
my\_loader.unload();  
removeChild(my\_loader);

container\_mc.addEventListener(MouseEvent.CLICK, callFull);  
trace(“finished”);  
}

// Scrolling mask  
function createMask() {

addChild(mask\_mc);

mask\_mc.x = my\_x;  
mask\_mc.y = my\_y;

mask\_mc.graphics.beginFill(0x000000,1);  
mask\_mc.graphics.lineTo(500, 0);  
mask\_mc.graphics.lineTo(500, 180);  
mask\_mc.graphics.lineTo(0, 180);  
mask\_mc.graphics.lineTo(0, 0);

container\_mc.mask = mask\_mc;  
trace(mask\_mc.x);  
trace(mask\_mc.y);

}

function scrolling(e:Event =null):void  
{  
imagescroll.addEventListener(Event.ENTER\_FRAME, scrolling);  
container\_mc.x += Math.cos(((mask\_mc.mouseX)/mask\_mc.width)\*Math.PI)\*15;

if (container\_mc.x\>mask\_mc.x) {  
container\_mc.x = mask\_mc.x;  
}

if (container\_mc.x\<(mask\_mc.x-(container\_mc.width-mask\_mc.width))) {  
container\_mc.x = mask\_mc.x-(container\_mc.width-mask\_mc.width);  
}

}

testclose.addEventListener(MouseEvent.CLICK, removeFull);
