AS3: Type Coercion failed: cannot convert flash.display::MovieClip
Solution 1
Either this.wheel
or this.car
is not a MovieClip
. Also could you turn on debugging in File > Publish Settings? You'll then get better error messages because, without more information, your error could be just about anywhere.
Edit:
Try renaming var wheel
to something else because it seems that Flash is confused with your two wheel objects. For example, try:
var wheelObject:Wheel = new Wheel(this.wheel,this.car);
Solution 2
Is Wheel.as in the directory com/George/MegaAmazingApp/Components? (case-sensitive) Is that 'com' directory in a source path directory?
George Reith
Updated on June 05, 2022Comments
-
George Reith almost 2 years
Updated:
Now I am recieving this error:
TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::MovieClip
From this class:
package com.George.MegaAmazingApp.Components { import flash.display.MovieClip; import flash.display.Stage; import flash.events.MouseEvent; public class Wheel extends MovieClip { public function Wheel(area:MovieClip, diagram:MovieClip) { area.addEventListener(MouseEvent.CLICK, clickHandler); } private function clickHandler(event:MouseEvent):void { trace("wheel clicked"); trace("this is diagram"); } } }
and this script:
import com.George.MegaAmazingApp.Components.*; var wheel:Wheel = new Wheel(this.wheel,this.car);
Debug gives:
Attempting to launch and connect to Player using URL C:/Documents and Settings/reithg/My Documents/Classes/com/GeorgesMegaAmazingApp-app.xml [SWF] GeorgesMegaAmazingApp.swf - 51681 bytes after decompression TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::MovieClip@2968e51 to com.George.MegaAmazingApp.Components.Wheel. at flash.display::Sprite/constructChildren() at flash.display::Sprite() at flash.display::MovieClip() at GeorgesMegaAmazingApp_fla::MainTimeline() at runtime::ContentPlayer/loadInitialContent() at runtime::ContentPlayer/playRawContent() at runtime::ContentPlayer/playContent() at runtime::AppRunner/run() at ADLAppEntry/run() at global/runtime::ADLEntry()
GeorgesMegaAmazingApp-app.xml doesn't exist in that directory but I don't know why it is looking there anyway, it is not where the fla is located.