TypeError: Error #1085: Actionscript 3 videoplayer

Hi
I have a videoplayer that loads video from xml and players it. The code works well when loading the xml.
But because I need it to run the video on the server I user php code that echos xml to access videos:
$selectvideos=mysql_query("SELECT * FROM Videos");
echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
echo "<playlist id=\"output applications\">\n";
while($milo=mysql_fetch_assoc($selectvideos))
    $title=$milo['title'];
    $desc=$milo['desc'];
   $src=$milo['video'];
    $thumbphoto=$milo['thumb'];
     echo '<vid Title="'.$title.'" Description="'.$desc.'" src="'.$src.'" thumb="'.$thumbphoto.'" />'."\n";
echo "</playlist>\n";
I then have actionscript:
package {
    import flash.display.MovieClip;
    import flash.net.URLLoader;
    import flash.net.URLRequest;
    import flash.events.Event;
    import fl.controls.listClasses.CellRenderer;
    import fl.controls.ScrollBarDirection;
    import flash.text.TextFormat;
    import fl.controls.TextArea;
    public class VideoPlaylist extends MovieClip {
        private var xmlLoader:URLLoader;
        private var textStyle:TextFormat;
        private var description:TextArea;
        public var str:String;
        var stream:Array = new Array();
        public function VideoPlaylist():void {
            // Load the playlist file, then initialize the media player.
            xmlLoader = new URLLoader();
            xmlLoader.addEventListener(Event.COMPLETE, initMediaPlayer);
            xmlLoader.load(new URLRequest("testflow.php"));
        public function initMediaPlayer(event:Event):void {
            var myXML:XML=new XML(xmlLoader.data);
            var item:XML;
            for each (item in myXML.vid) {// populate playlist.
                // Get thumbnail value and assign to cellrenderer.
                var thumb:String;
                if (item.hasOwnProperty("@thumb")>0) {
                    thumb=item.@thumb;
                }// Send data to tileList.
                stream.push({label:item.attribute("Title").toXMLString(),str:item.attribute("Description" ).toXMLString(),
                data:item.attribute("src").toXMLString(),
                source:thumb});
            myVid.source=stream[0].data;
            // Pause video until selected or played.
            myVid.play();
The action script is suppose to play the file loaded by xml and plays it on videoplayer.
The xml works well but when using the php above this error pops up:
TypeError: Error #1085: The element type "param" must be terminated by the matching end-tag "</param>".
    at VideoPlaylist/initMediaPlayer()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at flash.net::URLLoader/onComplete()

Hi thanks for the reply. Greatly appreciant.
This is what the trace outputs.
<?xml version="1.0" encoding="UTF-8" ?>
<playlist id="output applications">
<vid Title="First video" Description="This is the first expishare video to run on the system. Okay." src="Videos/robot.flv" thumb="Thumb/robot.png" />
</playlist>
<html>
<head>
<title>Video Upload Form</title>
<body>
<form method="POST" name="frmVideoUpload" enctype="multipart/form-data" action="">
  <p>Video:  </p>
  <p>
    <input type="file" name="filename" />
    <br/>
    <input type="submit" name="cmdSubmit" value="Upload" />
    </p>
</form>
<br/>
  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="500" height="400" title="Player">
    <param name="movie" value="UP-MODE.swf">
    <param name="quality" value="high">
    <embed src="UP-MODE.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="500" height="400"></embed>
  </object>
</body>
</html>
TypeError: Error #1085: The element type "param" must be terminated by the matching end-tag "</param>".
    at VideoPlaylist/initMediaPlayer()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at flash.net::URLLoader/onComplete()

Similar Messages

  • TypeError: Error #1085

    Hello,
    I've posted a question on dreamweaver forums, but it seems its not easy to solve this one
    does anyone had this error when loading data from database in serverside, but working on localhost? I mean, when running my app on mamp (on mac) or mamp (unther windows xp), i get no errors, not even a warning using flash tracer to acomplish developing.
    when uploading this to real server, two diferent ones, I get this error... checking google, it seems it is a bad xml formating issue, something like an missing tag, but again, the same code runs nice on localhost...
    what can it be?
    could this be a time issue? I'm not an expert on php, how to add a timer to make sure my function is finished?
    Thanks!
    sample code at
    http://forums.adobe.com/message/2059387#2059387

    got it!
    or better, it works, but i don't really know why...
    i changed the function order inside php
    in spite of having
    ffunction getFamilias($tabela, $nivel = 0)
    and then
    function getSubFamilias($tabela, $id, $nivel)
    i did
    function getSubFamilias($tabela, $id, $nivel)
    function getFamilias($tabela, $nivel = 0)
    Thanks for reply :-)

  • ActionScript 3 + PHP: TypeError: Error #2007: Parameter text must be non-null.

    Hi - Still new to flash as3 and php -
    it is a contact form page - user puts in information - i am to receive it in an email address their information
    as well the variables get sent back from the php to the .swf file.
    I am receiving these errors and not knowing how to fix them.
    any help would be much appreciated. thank you in advance really.
    below are the errors in flash - as3 code - and php code setup.
    errors:
    ActionScript 3 + PHP: TypeError: Error #2007: Parameter text must be non-null:
      at flash.text::TextField/set text()
              at kwangjaekim_fla::wholeform_16/completeHandler()
              at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
              at flash.events::EventDispatcher/dispatchEvent()
              at flash.net::URLLoader/flash.net:URLLoader::onComplete()
    my as3 code is the following:
    // build variable name for the URL Variables loader
    var variables:URLVariables = new URLVariables();
    //Build the varSend variable
    var varSend:URLRequest = new URLRequest("contact_parse.php");
    varSend.method = URLRequestMethod.POST;
    varSend.data = variables;
    //Build the varLoader variable
    var varLoader:URLLoader = new URLLoader;
    varLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
    varLoader.addEventListener(Event.COMPLETE, completeHandler);
    //handler for the PHP  script completion and return of status
    function completeHandler(event:Event):void{
              //value is cleared at ""
              name_txt.text = "";
              contact_txt.text = "";
              msg_txt.text = "";
              //Load the response PHP here
              status_txt.text = event.target.data.return_msg;
    //Add event listener for submit button click
    submit_btn.addEventListener(MouseEvent.CLICK, ValidateAndSend);
    //function ValidateAndSend
    function ValidateAndSend(event:MouseEvent):void{
              //validate fields
              if(!name_txt.length){
                        status_txt.text = "Please Enter Your Name";
              }else if(!contact_txt.length){
                        status_txt.text = "Please Enter Your Contact Detail";
              }else if(!msg_txt.length){
                        status_txt.text = "Please Enter Your Message";
              }else {
              // ready the variables in form for sending
      variables.userName = name_txt.text;
              variables.userContact = contact_txt.text;
              variables.userMsg = msg_txt.text;
              // Send the data to PHP now
    varLoader.load(varSend);
    submit_btn.addEventListener(MouseEvent.CLICK, function(){MovieClip(parent).gotoAndPlay(151)});
              } // Close else condition for error handling
    } // Close validate and send function
    my php code is the following:
    <?php
    // Create local PHP variables from the info the user gave in the Flash form
    $senderName   = $_POST['userName'];
    $senderEmail     = $_POST['userContact'];
    $senderMessage = $_POST['userMsg'];
    // Strip slashes on the Local variables
    $senderName   = stripslashes($senderName);
    $senderContact     = stripslashes($senderContact);
    $senderMessage   = stripslashes($senderMessage);
    //!!!!!!!!!!!!!!!!!!!!!!!!!     change this to my email address     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                              $to = "put iny me email address";
         // Place sender Email address here
        $from = "$senderContact ";
        $subject = "Contact from your site";
        //Begin HTML Email Message
        $message = <<<EOF
    <html>
      <body bgcolor="#FFFFFF">
    <b>Name</b> = $senderName<br /><br />
    <b>Contact</b> = <a href="mailto:$senderContact">$senderEmail</a><br /><br />
    <b>Message</b> = $senderMessage<br />
      </body>
    </html>
    EOF;
       //end of message
        $headers  = "From: $from\r\n";
        $headers .= "Content-type: text/html\r\n";
        $to = "$to";
        mail($to, $subject, $message, $headers);
    exit();
    ?>
    thank you once again
    jay

    thank you Ned -
    i put in the trace line as you mentioned -
    and this is what i received -
    returns: undefined
    TypeError: Error #2007: Parameter text must be non-null
              at flash.text::TextField/set text()
              at kwangjaekim_fla::wholeform_16/completeHandler()
              at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
              at flash.events::EventDispatcher/dispatchEvent()
              at flash.net::URLLoader/flash.net:URLLoader::onComplete()
    what does this mean exactly?
    thank you for the help really

  • ActionScript TypeError: Error #1009?

    Okay, so I was on this website earlier, www.peterdavid.net and tried to view a video that Vevo was hosting directly on the site's homepage, when it loaded up till about 56% an ActionScript error came up saying basicallly something like:
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at com.vevo.mx::MenuScreenContainer/setModelInfo()
        at EmbeddedPlayer/bootstrapCompleteHandler()
        at flash.events::EventDispatcher/dispatchEventFunction()
        at flash.events::EventDispatcher/dispatchEvent()
        at org.swizframework::Swiz$/dispatchEvent()
        at com.vevo.controller::BootstrapController/checkAsyncCalls()
        at com.vevo.controller::BootstrapController/youTubeReadyHandler()
        at flash.events::EventDispatcher/dispatchEventFunction()
        at flash.events::EventDispatcher/dispatchEvent()
        at org.swizframework::Swiz$/dispatchEvent()
        at EmbeddedPlayer/playerReadyHandler()
        at EmbeddedPlayer/__corePlayer_playerReady()
        at flash.events::EventDispatcher/dispatchEventFunction()
        at flash.events::EventDispatcher/dispatchEvent()
        at mx.core::UIComponent/dispatchEvent()
        at com.vevo.view.controls::CorePlayer/playerReadyHandler()
        at flash.events::EventDispatcher/dispatchEventFunction()
        at flash.events::EventDispatcher/dispatchEvent()
        at mx.core::UIComponent/dispatchEvent()
        at com.vevo.view.controls::AS3YouTubePlayer/onPlayerReady()
        at flash.events::EventDispatcher/dispatchEventFunction()
        at flash.events::EventDispatcher/dispatchEvent()
        at com.google.youtube.application::SwfProxy/onExternalEvent()
        at flash.events::EventDispatcher/dispatchEventFunction()
        at flash.events::EventDispatcher/dispatchEvent()
        at com.google.youtube.model::YouTubeEnvironment/broadcastExternal()
        at com.google.youtube.application::VideoApplication/build()
        at com.google.youtube.application::Application/onInited()
        at com.google.youtube.application::VideoApplication/onInited()
        at com.google.youtube.application::Application/initData()
        at com.google.youtube.application::VideoApplication/initData()
        at com.google.youtube.application::Application/init()
        at com.google.youtube.application::VideoApplication/init()
        at com.google.youtube.application::Application/onInit()
    Now my question is really, first of all, is this a problem with the website or with my computer, second, how do I fix this, and yeah I don't know anything about ActionScript, I was not trying to write one at all I simply came across a website and this happened during the video playing. Any thoughts?
    EDIT: not sure if it would help, but the options I had were to Dismiss All and Continue.
    Thanks in advance.

    Usually this type of error is caused by the website, rather than your Flash Player installation.  If you tell us what video on the website is causing it, someone here can test it.
    What OS and browser are you using?
    Also, is 'third-party content' checked on the Flash Player Settings Manager at http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager.html ?

  • TypeError: Error #1034 - Want to display a swf

    Hi,
    I´m new to AS3 and try to load/display swf´s on the stage. The swf´s should run and if the user clicks a button the next swf should be displayed.
    That works so far if I use some swf´s that are created also with FlashPlayer 9 and AS3. But if I use a swf created by someone else I get a TypeError: Error #1034. So far, I have no idea why this happens. Maybe you can have a look at my code and give me a hint. Thanks in advance.
    var configfile = "test.xml";
    var xml_url:String = configfile;
    var urlLoader:URLLoader = new URLLoader();
    urlLoader.addEventListener(Event.COMPLETE, setClips);
    var xml:XML;
    var currentClip:int = 0;
    var clips:Array = new Array(); btnPrevious.addEventListener(MouseEvent.CLICK, previousClip);
    setChildIndex(btnPrevious,1);
    btnNext.addEventListener(MouseEvent.CLICK, nextClip);    
    setChildIndex(btnNext,1);
    function setClips(e:Event) {
        this.xml = new XML(e.target.data);
        this.playClip(this.currentClip);
    function playClip(index:Number) {              
        if (!this.clips[index]) {           
            var request:URLRequest = new URLRequest(this.xml.item[index]);           
            var loader:Loader = new Loader();
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.setMovieClip);    
            loader.load(request);
        else {
            this.currentClip = index;              
         this.clips[this.currentClip].play();    
            this.addChild(this.clips[this.currentClip]);
            setChildIndex(this.clips[this.currentClip],0);              
            this.clips[this.currentClip].addEventListener(Event.ENTER_FRAME, this.onEnterFrameCheck);
    function nextClip(e:MouseEvent) {
         this.clips[this.currentClip].gotoAndStop(0);
            this.removeChild(this.clips[this.currentClip]);
         this.currentClip = this.currentClip + 1;    
         if(this.currentClip == this.xml.item.length()) {
              this.currentClip = 0;
         this.playClip(this.currentClip);    
    function previousClip(e:MouseEvent) {
        this.clips[this.currentClip].gotoAndStop(0);
        this.removeChild(this.clips[this.currentClip]);
        this.currentClip = this.currentClip - 1;
        if(this.currentClip == -1) {
           this.currentClip = this.xml.item.length() - 1;    }         this.playClip(this.currentClip);    
    function setMovieClip(e:Event):void {    this.clips[this.currentClip] = MovieClip(e.target.loader.content);
        this.addChild(this.clips[this.currentClip]);
        setChildIndex(this.clips[this.currentClip],0);  
        this.clips[this.currentClip].addEventListener(Event.ENTER_FRAME, this.onEnterFrameCheck);
    function onEnterFrameCheck(e:Event):void {
        if(this.clips[this.currentClip] && this.clips[this.currentClip].currentFrame == this.clips[this.currentClip].totalFrames) {
            this.clips[this.currentClip].gotoAndStop(0);    
            this.clips[this.currentClip].removeEventListener(Event.ENTER_FRAME, this.onEnterFrameCheck);         
            this.removeChild(this.clips[this.currentClip]);    
            if(this.currentClip >= this.xml.item.length()-1) {
                 this.currentClip = -1;
         }                               this.currentClip++;              
            this.playClip(this.currentClip);
    urlLoader.load(new URLRequest(this.xml_url)); 
    stop();
    And here The XML:
    <banners>
    <item>banner1.swf</item>
    <item>banner2.swf</item>
    <item>banner3.swf</item>
    </banners>
    The full Error Message (In German:)
    TypeError: Error #1034: Typumwandlung fehlgeschlagen: flash.display::AVM1Movie@34d4df9 kann nicht in flash.display.MovieClip umgewandelt werden.
        at teaser_fla::MainTimeline/setMovieClip()

    The problem will be related to trying to manipulate an AS1/AS2 file using AS3... it cannot be done.  In this case, you are probably just seeing the first of a few errors where you try to manipulate an AS2 object by trying to cast it as an AS3 MovieClip object.  You would run into problems later when you try controlling/reading that same file (currentFrame is not an AS1/AS2 property, but you attempt to extract it).
    Per the Flash Help documentation...
    "ActionScript 3.0 code can load a SWF file written in ActionScript 1.0 or 2.0, but it cannot access the SWF file's variables and functions. "
    You can implement the LocalConnection class to overcome some of the issues, but if you are using other people's files, you are likely to hit a wall...
    "LocalConnection objects created in ActionScript 3.0 can communicate with LocalConnection objects created in ActionScript 1.0 or 2.0.
    The reverse is also true: LocalConnection objects created in ActionScript 1.0 or 2.0 can communicate with LocalConnection objects created in ActionScript 3.0. Flash Player handles this communication between LocalConnection objects of different versions automatically."

  • Another TypeError: Error #1009 Problem

    Hey all,   I've searched the 'net and searched these forums but can't seem to figure out what I'm doing wrong.  I'm creating a flash based game for school that so far has ten frames on the timeline.  I have buttons on frame one, frame 5, and frame 10. I have actionscript code to control those buttons on frame 1, frame 5, and frame 10 respectively.  The code is worded identically on each frame with the exception that I've changed the button names and the function names that are called when the mouse button is pressed.   The code works fine on frame 1 and on frame 5, but when I click the button on frame 5 that sends me to frame 10, I get this error immediately:
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
        at keys2BibleTest_fla::MainTimeline/frame10()
        at flash.display::MovieClip/gotoAndStop()
        at keys2BibleTest_fla::MainTimeline/stormBtnHandler1()
    I have verified that each instance of the buttons do indeed have the name of the button being listened for in the event handlers. I can change the type from button to movieclip and it works fine.  I can also remove frames 1 through 9 and the code works.
    Here's the code:
    Frame 1:
    stop();
    enterBtn.addEventListener(MouseEvent.MOUSE_DOWN, enterBtnHandler1);
    function enterBtnHandler1(event:MouseEvent):void {
        gotoAndStop(5, "Scene 1");
    Frame 5:
    import flash.events.MouseEvent;
    stormBtn.addEventListener(MouseEvent.MOUSE_DOWN, stormBtnHandler1);
    function stormBtnHandler1(event:MouseEvent):void {
        gotoAndStop(10, "Scene 1");
    chickenOutBtn.addEventListener(MouseEvent.MOUSE_DOWN, chickenOutBtnHandler1);
    function chickenOutBtnHandler1(event:MouseEvent):void {
        gotoAndStop(1, "Scene 1");
    Frame 10:
    import flash.events.MouseEvent;
    creationBtn.addEventListener(MouseEvent.MOUSE_DOWN, creation);
    function creation(event:MouseEvent):void {
        gotoAndStop(3, "Scene 1");
    lifeBtn.addEventListener(MouseEvent.MOUSE_DOWN, lifeOfChrist);
    function lifeOfChrist(event:MouseEvent):void {
        navigateToURL(new URLRequest("http://www.ceoutreach.org"));
    I can't for the life of me figure out what's wrong.  Can anyone help?
    Thank you,
    Mike

    Ned,
    thank you for your reply. Unfortunately, my buttons are on separate layers and separated by blank keyframes to boot.  When I posted originally, the buttons were all on the same layer BUT separated by blank keyframes. After doing some research on the web, I moved the buttons to their own separate layers (one button per layer) and kept the blank keyframes as well.
    Currently, my only filled keyframes are one, five, and ten. All other keyframes are blank except for my labels and actionscript code. I'm using separate layers for labels and actions, too. I attempted to attach the file with my original post but received the message that .fla files are not allowed.  I don't know about your window, but mine says Max size 5.0 MB (my file is 2), All files types allowed except.... .fla is not one of those in the exception list so I expected it to go.
    It's got something to do with the two buttons on frame 10.... I just went into the actionscript and bypassed frame 5, going directly to frame 10 when the Enter button is depressed, and got the same error message.   There's something in the code I'm just not seeing.... when I comment out the code for the buttons, no error message.  Put the code back in, error message comes back.  Delete the buttons and the code and insert new ones, the error message comes back.
    It's got me totally stumped.
    Thank you for trying,
    Mike
    Edit: I forgot to mention, frame ten is the only place on the timeline where instances of these particular buttons are being used. The other frames are populated with different buttons.  Also, when I change the type to movieclip, everything works.  Weird, huh?

  • TypeError: Error #1007:Tried to create an instance in a no constructor

    Hello guys,
    Im stuck with actionscript error, i really need help here the error i got:-
    TypeError: Error #1007:Tried to create an instance in a no constructor.
    at Away3dScene/initObjects()
        at Away3dScene/init()
        at flash.display::DisplayObjectContainer/addChild()
        at Away3dProject()
    So use Away3d, however dont know really where is the error becouse every thing seems be okay, im using adobe flash cs5.5, flash player 10.
    main.as code:
    package
        import flash.display.Sprite;
        import flash.display.StageScaleMode;
        import flash.display.StageAlign;
        import net.hires.utils.Stats;
        public class Away3dProject extends Sprite
            public function Away3dProject()
                stage.scaleMode =  StageScaleMode.NO_SCALE;
                stage.align =  StageAlign.TOP_LEFT;
                var scene:Away3dScene = new Away3dScene();
                addChild(scene);
                var stats:Stats = new Stats();
                addChild(stats);
         and here Away3dscene.as:
    package
        import away3d.cameras.Camera3D;
        import away3d.containers.Scene3D;
        import away3d.containers.View3D;
        import away3d.core.base.Object3D;
        import away3d.core.clip.RectangleClipping;
        import away3d.core.math.Number3D;
        import away3d.materials.WireColorMaterial;
        import away3d.overlays.LensFlare;
        import away3d.primitives.Plane;
        import flash.display.BlendMode;
        import flash.display.Sprite;
        import flash.events.Event;
        public class Away3dScene extends Sprite
            //[Embed(source="assets/library.swf", symbol="Halo")]
            private var Halo:Class;
            //[Embed(source="assets/library.swf", symbol="Flare1")]
            private var Flare1:Class;
            //[Embed(source="assets/library.swf", symbol="Flare2")]
            private var Flare2:Class;
            //[Embed(source="assets/library.swf", symbol="Flare3")]
            private var Flare3:Class;
            private var _scene:Scene3D;
            private var _camera:Camera3D;
            private var _view:View3D;
            private var _flare:LensFlare;
            public function Away3dScene()
                this.addEventListener(Event.ADDED_TO_STAGE, init);
            private function init(evt:Event):void
                initScene();
                initObjects();
                this.addEventListener(Event.ENTER_FRAME, render);
            private function initObjects():void
                /*var floor:Plane = new Plane();
                floor.width = floor.height = 100000;
                floor.segmentsW = floor.segmentsH = 12;
                floor.y = -3500;
                floor.material = new WireColorMaterial(0x333333);
                _scene.addChild(floor);*/
                var flareSourceDummy:Object3D = new Object3D();
                flareSourceDummy.x = 1000;
                flareSourceDummy.y = 500;
                flareSourceDummy.z = 3000;
                _scene.addChild(flareSourceDummy);
                _flare = new LensFlare(flareSourceDummy, _camera);
                _flare.setBurnClip(_view);
                _flare.setHaloAsset(new Halo());
                _flare.addFlareAsset(new Flare1());
                _flare.addFlareAsset(new Flare3());
                _flare.addFlareAsset(new Flare1());
                _flare.addFlareAsset(new Flare2());
                _flare.useRotation = false;
                //_flare.useAlpha = false;
                //_flare.useScaling = false;
                //_flare.useBurning = false;
                //_flare.blendMode = BlendMode.SCREEN;
                //_flare.burnMethod = LensFlare.BURN_METHOD_COLOR_TRANSFORM;
                _view.addOverlay(_flare);
            private function hoverCamera():void
                var mX:Number = this.mouseX > 0 ? this.mouseX : 0;
                var mY:Number = this.mouseY > 0 ? this.mouseY : 0;
                var tarX:Number = 3*(mX - stage.stageWidth/2);
                var tarY:Number = -2*(mY - stage.stageHeight/2);
                var dX:Number = _camera.x - tarX;
                var dY:Number = _camera.y - tarY;
                _camera.x -= dX*0.25;
                _camera.y -= dY*0.25;
                _camera.lookAt(new Number3D(0, 0, 0));
            private function initScene():void
                _scene = new Scene3D();
                _camera = new Camera3D({z:-1500});
                _view = new View3D({scene:_scene, camera:_camera});
                _view.x = stage.stageWidth/2;
                _view.y = stage.stageHeight/2;
                _view.clipping = new RectangleClipping({minX:-stage.stageWidth/2, minY:-stage.stageHeight/2, maxX:stage.stageWidth/2, maxY:stage.stageHeight/2});
                _view.opaqueBackground = 0;
                addChild(_view);
            private function render(evt:Event):void
                hoverCamera();
                _view.render();
          Please guys, any idea will be helpful to me.
        Best,

    Yes, you right, now after i do what you explain appear more informations. 
      at Away3dScene/initObjects()[C:\Users\ahmed\Desktop\3d\Away3dScene.as:65]
        at Away3dScene/init()[C:\Users\ahmed\Desktop\3d\Away3dScene.as:44]
        at flash.display::DisplayObjectContainer/addChild()
        at Away3dProject()[C:\Users\ahmed\Desktop\3d\Away3dProject.as:17]
    error number 65 in Away3dScene is: _flare.setHaloAsset(new Halo());
    error number 44 in Away3dScene is: initObjects();
    error number 17 in Away3dProject.as is: addChild(scene);
    and the last error is: at flash.display::DisplayObjectContainer/addChild()
    But what is strange i test project at flash builder and he work fine, i just want move from flash builder to run in flash cs5.5, so i move Away3dProject.as, Away3dScene.as, and i add Away3d classes to flash cs5.5 and also   add net class to flash cs5.5.
    also i add all movies clips to my libriry project, please could you help me to find why i got this error with flash cs5.5.
    Best,

  • Voting poll using PHP & MySQL TypeError: Error #2007: Parameter text must be non-null.

    I am getting this back:
    TypeError: Error #2007: Parameter text must be non-null.
    at flash.text::TextField/set text()
    at AS3_Flash_Poll_PHP_MySQL_fla::WholePoll_1/completeHandler()
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at flash.net::URLLoader/onComplete()
    PHP code:
    <?php
    // ---------------------------------------- Section 1 -----------------------------------------------
    //  IMPORTANT!!!! Connect to MySQL database here(put your connection data here)
    mysql_connect("ginaty05.fatcowmysql.com","fall2010","@regina") or die (mysql_error());
    mysql_select_db("poll_2010") or die (mysql_error());
    // When Flash requests the totals initially we run this code
    if ($_POST['myRequest'] == "load_numbers") {
    // Query the totals from the database
        $sql1 = mysql_query("SELECT id FROM votingPoll WHERE choice='1'");
        $choice1Count = mysql_num_rows($sql1);
        $sql2 = mysql_query("SELECT id FROM votingPoll WHERE choice='2'");
        $choice2Count = mysql_num_rows($sql2);
        $sql3 = mysql_query("SELECT id FROM votingPoll WHERE choice='3'");
        $choice3Count = mysql_num_rows($sql3);
        echo "choice1Count=$choice1Count";
        echo "&choice2Count=$choice2Count";
        echo "&choice3Count=$choice3Count";
    // ---------------------------------------- Section 2 -----------------------------------------------
    // IF POSTING A USER'S CHOICE
    if ($_POST['myRequest'] == "store_choice") {
        //Obtain user IP address
        $ip = $_SERVER['REMOTE_ADDR'];
        // Create local variable from the Flash ActionScript posted variable
        $userChoice = $_POST['userChoice'];
        $sql = mysql_query("SELECT id FROM votingPoll WHERE ipaddress='$ip'");
        $rowCount = mysql_num_rows($sql);
        if ($rowCount == 1) {
    $my_msg = "You have already voted in this poll.";
    print "return_msg=$my_msg";
        } else {
    $sql_insert = mysql_query("INSERT INTO votingPoll (choice, ipaddress) VALUES('$userChoice','$ip')")  or die (mysql_error());
    $sql1 = mysql_query("SELECT * FROM votingPoll WHERE choice='1'");
    $choice1Count = mysql_num_rows($sql1);
    $sql2 = mysql_query("SELECT * FROM votingPoll WHERE choice='2'");
    $choice2Count = mysql_num_rows($sql2);
    $sql3 = mysql_query("SELECT * FROM votingPoll WHERE choice='3'");
    $choice3Count = mysql_num_rows($sql3);
    $my_msg = "Thanks for voting!";
            echo "return_msg=$my_msg";
            echo "&choice1Count=$choice1Count";
    echo "&choice2Count=$choice2Count";
    echo "&choice3Count=$choice3Count";
    ?>
    AS3 code:
    stop(); // Stop the timeline since it does not need to travel for this to run
    // Assign a variable name for our URLVariables object
    var variables1:URLVariables = new URLVariables();
    //  Build the varSend variable
    var varSend1:URLRequest = new URLRequest("parse_my_poll.php");
    varSend1.method = URLRequestMethod.POST;
    varSend1.data = variables1;
    // Build the varLoader variable
    var varLoader1:URLLoader = new URLLoader;
    varLoader1.dataFormat = URLLoaderDataFormat.VARIABLES;
    varLoader1.addEventListener(Event.COMPLETE, completeHandler1);
    // Set variable to send to PHP here for the varloader below
    variables1.myRequest = "load_numbers";  
    // Send data to php file now, and wait for response using the COMPLETE event
    varLoader1.load(varSend1);
    function completeHandler1(event:Event):void{
        count1_txt.text = "" + event.target.data.choice1Count;
        count2_txt.text = "" + event.target.data.choice2Count;
        count3_txt.text = "" + event.target.data.choice3Count;
    // hide the little processing movieclip
    processing_mc.visible = false;
    // Initialize the choiceNum variable that we will use below
    var choiceNum:Number = 0;
    // Set text formatting colors for errors and success messages
    var errorsFormat:TextFormat = new TextFormat();
    errorsFormat.color = 0xFF0000; // bright red
    var successFormat:TextFormat = new TextFormat();
    successFormat.color = 0x00FF00; // bright green
    // Button Click Functions
    function btn1Click(event:MouseEvent):void{
        choiceNum = 1;
        choice_txt.text = choice1_txt.text;
    function btn2Click(event:MouseEvent):void{
        choiceNum = 2;
        choice_txt.text = choice2_txt.text;
    function btn3Click(event:MouseEvent):void{
        choiceNum = 3;
        choice_txt.text = choice3_txt.text;
    // Button Click Listeners
    btn1.addEventListener(MouseEvent.CLICK, btn1Click);
    btn2.addEventListener(MouseEvent.CLICK, btn2Click);
    btn3.addEventListener(MouseEvent.CLICK, btn3Click);
    // Assign a variable name for our URLVariables object
    var variables:URLVariables = new URLVariables();
    //  Build the varSend variable
    var varSend:URLRequest = new URLRequest("parse_my_poll.php");
    varSend.method = URLRequestMethod.POST;
    varSend.data = variables;
    // Build the varLoader variable
    var varLoader:URLLoader = new URLLoader;
    varLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
    varLoader.addEventListener(Event.COMPLETE, completeHandler);
    // Handler for PHP script completion and return
    function completeHandler(event:Event):void{
        // remove processing movieclip
        processing_mc.visible = false;
        // Clear the form fields
        choice_txt.text = "";
        choiceNum = 0;
        // Load the response from the PHP file
        status_txt.text = event.target.data.return_msg;
        status_txt.setTextFormat(errorsFormat);
        if (event.target.data.return_msg == "Thanks for voting!") {
            // Reload new values into the count texts only if we get a proper response and new values
            status_txt.setTextFormat(successFormat);
            count1_txt.text = "" + event.target.data.choice1Count;
            count2_txt.text = "" + event.target.data.choice2Count;
            count3_txt.text = "" + event.target.data.choice3Count;
    // Add an event listener for the submit button and what function to run
    vote_btn.addEventListener(MouseEvent.CLICK, ValidateAndSend);
    // Validate form fields and send the variables when submit button is clicked
    function ValidateAndSend(event:MouseEvent):void {
        //validate form fields
        if(!choice_txt.length) {  
            // if they forgot to choose before pressing the vote button
            status_txt.text = "Please choose before you press vote.";  
            status_txt.setTextFormat(errorsFormat);
        } else {
            status_txt.text = "Sending...";
            processing_mc.visible = true;
            // Ready the variables for sending
            variables.userChoice = choiceNum;
            variables.myRequest = "store_choice";  
            // Send the data to the php file
            varLoader.load(varSend);
        } // close else after form validation
    } // Close ValidateAndSend function ////////////////////////

    This error means that you are trying to set the text field but there is no data in the variable. As a first step, try to identify where this is happening, eg Is it the first call, or once you have submitted your data or only if you try to submit data second time?
    Trace out the data that is returned for both completeHandlers to see if there is a missing var. Try this for "load_numbers" and "store_choice". Do it twice for "store_choice". Do you get back what you expected?
    You could also try altering the php to return some fixed dummy variables, eg  choice1Count=11&choice2Count=22&choice3Count=33, etc. If this works then you know that the error is in the PHP.
    It looks to me like the issue is when you submit the data a second time and just get back the return_msg - the handler then tries to assign the choice1Count etc but doesn't have any count data back from the poll.php.
    Test that there is data before assigning it, eg
        if(event.target.data.choice1Count){
            count1_txt.text =  event.target.data.choice1Count;
            count2_txt.text =  event.target.data.choice2Count;
            count3_txt.text =  event.target.data.choice3Count;

  • TypeError: Error #1009: Cannot access a property or method of a null object reference.

    Hi all,
    I am new to ActionScript and Flash, and I am getting this error: TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at jessicaclucas_fla::MainTimeline/stopResumescroll()
    I have several different clips in one movie that have scrolling content. When I click a button to move to a different clip that doesn’t have a certain scroll, it gives me this error. I cannot figure out how to fix this. You can see the site I am working on: http://www.jessicaclucas.com. I would really appreciate some help! Thank you in advance. Here is the code:
    //Import TweenMax and the plugin for the blur filter
    import gs.TweenMax;
    import gs.plugins.BlurFilterPlugin;
    //Save the content’s and mask’s height.
    //Assign your own content height here!!
    var RESUMECONTENT_HEIGHT:Number = 1500;
    var RESUME_HEIGHT:Number = 450;
    //We want to know what was the previous y coordinate of the content (for the animation)
    var oldResumeY:Number = myResumecontent.y;
    //Position the content on the top left corner of the mask
    myResumecontent.x = myResume.x;
    myResumecontent.y = myResume.y;
    //Set the mask to our content
    myResumecontent.mask = myResume;
    //Create a rectangle that will act as the Resumebounds to the scrollMC.
    //This way the scrollMC can only be dragged along the line.
    var Resumebounds:Rectangle = new Rectangle(resumescrollMC.x,resumescrollMC.y,0,450);
    //We want to know when the user is Resumescrolling
    var Resumescrolling:Boolean = false;
    //Listen when the user is holding the mouse down on the scrollMC
    resumescrollMC.addEventListener(MouseEvent.MOUSE_DOWN, startResumescroll);
    //Listen when the user releases the mouse button
    stage.addEventListener(MouseEvent.MOUSE_UP, stopResumescroll);
    //This function is called when the user is dragging the scrollMC
    function startResumescroll(e:Event):void {
    //Set Resumescrolling to true
    Resumescrolling = true;
    //Start dragging the scrollMC
    resumescrollMC.startDrag(false,Resumebounds);
    //This function is called when the user stops dragging the scrollMC
    function stopResumescroll(e:Event):void {
    //Set Resumescrolling to false
    Resumescrolling = false;
    //Stop the drag
    resumescrollMC.stopDrag();
    //Add ENTER_FRAME to animate the scroll
    addEventListener(Event.ENTER_FRAME, enterResumeHandler);
    //This function is called in each frame
    function enterResumeHandler(e:Event):void {
    //Check if we are Resumescrolling
    if (Resumescrolling == true) {
    //Calculate the distance how far the scrollMC is from the top
    var distance:Number = Math.round(resumescrollMC.y - Resumebounds.y);
    //Calculate the percentage of the distance from the line height.
    //So when the scrollMC is on top, percentage is 0 and when its
    //at the bottom the percentage is 1.
    var percentage:Number = distance / RESUME_HEIGHT;
    //Save the old y coordinate
    oldResumeY = myResumecontent.y;
    //Calculate a new y target coordinate for the content.
    //We subtract the mask’s height from the contentHeight.
    //Otherwise the content would move too far up when we scroll down.
    //Remove the subraction to see for yourself!
    var targetY:Number = -((RESUMECONTENT_HEIGHT - RESUME_HEIGHT) * percentage) + myResume.y;
    //We only want to animate the scroll if the old y is different from the new y.
    //In our movie we animate the scroll if the difference is bigger than 5 pixels.
    if (Math.abs(oldResumeY - targetY) > 5) {
    //Tween the content to the new location.
    //Call the function ResumetweenFinished() when the tween is complete.
    TweenMax.to(myResumecontent, 0.3, {y: targetY, blurFilter:{blurX:22, blurY:22}, onComplete: ResumetweenFinished});
    //This function is called when the tween is finished
    function ResumetweenFinished():void {
    //Tween the content back to “normal” (= remove blur)
    TweenMax.to(myResumecontent, 0.3, {blurFilter:{blurX:0, blurY:0}});

    Hi again,
    Thank you for helping. I really appreciate it! Would it be easier to say, if resumescrollMC exists, then execute these functions? I was not able to figure out the null statement from your post. Here is what I am trying (though I am not sure it is possible). I declared the var resumescrollMC, and then I tried to put pretty much the entire code into an if (resumescrollMC == true) since this code only needs to be completed when resumescrollMC is on the stage. It is not working the way I have tried, but I am assuming I am setting up the code incorrectly. Or, an if statement is not supposed to be issued to an object:
    //Import TweenMax and the plugin for the blur filter
    import gs.TweenMax2;
    import gs.plugins.BlurFilterPlugin2;
    //Save the content's and mask's height.
    //Assign your own content height here!!
    var RESUMECONTENT_HEIGHT:Number = 1500;
    var RESUME_HEIGHT:Number = 450;
    var resumescrollMC:MovieClip;
    if (resumescrollMC == true) {
    //We want to know what was the previous y coordinate of the content (for the animation)
    var oldResumeY:Number = myResumecontent.y;
    //Position the content on the top left corner of the mask
    myResumecontent.x = myResume.x;
    myResumecontent.y = myResume.y;
    //Set the mask to our content
    myResumecontent.mask = myResume;
    //Create a rectangle that will act as the Resumebounds to the scrollMC.
    //This way the scrollMC can only be dragged along the line.
    var Resumebounds:Rectangle = new Rectangle(resumescrollMC.x,resumescrollMC.y,0,450);
    //We want to know when the user is Resumescrolling
    var Resumescrolling:Boolean = false;
    //Listen when the user is holding the mouse down on the scrollMC
    resumescrollMC.addEventListener(MouseEvent.MOUSE_DOWN, startResumescroll);
    //Listen when the user releases the mouse button
    stage.addEventListener(MouseEvent.MOUSE_UP, stopResumescroll);
    //This function is called when the user is dragging the scrollMC
    function startResumescroll(e:Event):void {
    //Set Resumescrolling to true
    Resumescrolling = true;
    //Start dragging the scrollMC
    resumescrollMC.startDrag(false,Resumebounds);
    //This function is called when the user stops dragging the scrollMC
    function stopResumescroll(e:Event):void {
    //Set Resumescrolling to false
    Resumescrolling = false;
    //Stop the drag
    resumescrollMC.stopDrag();
    //Add ENTER_FRAME to animate the scroll
    addEventListener(Event.ENTER_FRAME, enterResumeHandler);
    //This function is called in each frame
    function enterResumeHandler(e:Event):void {
    //Check if we are Resumescrolling
    if (Resumescrolling == true) {
    //Calculate the distance how far the scrollMC is from the top
    var distance:Number = Math.round(resumescrollMC.y - Resumebounds.y);
    //Calculate the percentage of the distance from the line height.
    //So when the scrollMC is on top, percentage is 0 and when its
    //at the bottom the percentage is 1.
    var percentage:Number = distance / RESUME_HEIGHT;
    //Save the old y coordinate
    oldResumeY = myResumecontent.y;
    //Calculate a new y target coordinate for the content.
    //We subtract the mask's height from the contentHeight.
    //Otherwise the content would move too far up when we scroll down.
    //Remove the subraction to see for yourself!
    var targetY:Number = -((RESUMECONTENT_HEIGHT - RESUME_HEIGHT) * percentage) + myResume.y;
    //We only want to animate the scroll if the old y is different from the new y.
    //In our movie we animate the scroll if the difference is bigger than 5 pixels.
    if (Math.abs(oldResumeY - targetY) > 5) {
    //Tween the content to the new location.
    //Call the function ResumetweenFinished() when the tween is complete.
    TweenMax.to(myResumecontent, 0.3, {y: targetY, blurFilter:{blurX:22, blurY:22}, onComplete: ResumetweenFinished});
    //This function is called when the tween is finished
    function ResumetweenFinished():void {
    //Tween the content back to "normal" (= remove blur)
    TweenMax.to(myResumecontent, 0.3, {blurFilter:{blurX:0, blurY:0}});

  • TypeError: Error #1009: Cannot access a property or method of a null object reference. at mx.controls::AdvancedDataGrid/findHeaderRenderer()

    Can anyone throw any light on this obscure Flex error?...
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at mx.controls::AdvancedDataGrid/findHeaderRenderer()[...path...\projects\datavisualisation\ src\mx\controls\AdvancedDataGrid.as:1350]
    at mx.controls::AdvancedDataGrid/mouseEventToItemRenderer()[...path...\projects\datavisualis ation\src\mx\controls\AdvancedDataGrid.as:1315]
    at mx.controls.listClasses::AdvancedListBase/mouseMoveHandler()[...path...\projects\datavisu alisation\src\mx\controls\listClasses\AdvancedListBase.as:8091]
    I found a related bug reported on Jira: https://bugs.adobe.com/jira/browse/FLEXDMV-1631
    But in our case, we have no zoom effect.  It may be timing related, as there is a lot of computation going on when this page, and the ADG is first initialised.
    Please?... Any suggestions or workarounds?  We don't want this falling over in the hands of our customers.
    <rant> And people wonder why I hate Flex!?  These obscure instabilities never happen when I develop Pure ActionScript.  The Flash platform is wonderfully stable.  But as soon as you bring Flex into play, things take longer to develop, it's a struggle to extend or change the behaviour of the bloated components, and everything falls apart as these bugs begin to surface.</rant>

    facing the same problem... sdk 4.1. no solution for about 2 years ????

  • TypeError: Error #1009 on FLVPlayback

    I've been struggling with this error for a few days now, I can't seem to figure out what is actually going wrong.
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
         at fl.video::UIManager/http://www.adobe.com/2007/flash/flvplayback/internal::hookUpCustomComponents()
         at fl.video::FLVPlayback/http://www.adobe.com/2007/flash/flvplayback/internal::handleVideoEvent()
         at flash.events::EventDispatcher/dispatchEventFunction()
         at flash.events::EventDispatcher/dispatchEvent()
         at fl.video::VideoPlayer/http://www.adobe.com/2007/flash/flvplayback/internal::setState()
         at fl.video::VideoPlayer/http://www.adobe.com/2007/flash/flvplayback/internal::finishAutoResize()
         at flash.utils::Timer/_timerDispatch()
         at flash.utils::Timer/tick()
    The app is one for a tourist centre, with an intro video that can be skipped by being clicked, which leads to a four options menu, of which two options lead you to frames with intro videos which can also be bypassed by a simple click. All three intro videos use the FLVPlayback 2.5 component. The app runs without any issues, even playing the videos with no problem, until, seemingly at random intervals, this error will occur. It does, however, only occur at the start or end of a video. I have had trouble tracing the error. It causes the program to become unresponsive at seemingly random intervals while the program is being used, or even if it's just running looping video. If I dismiss the error, the program will continue to run without any further issues, except for this error, which can be in turn dismissed, etc... However, when it is installed on the system it simply becomes unresponsive since dismissing it is not an option. I have not been able to catch or trace this error or its source. Any ideas? I'll attatch the code from one of my frames with the FLVPlayback, since that seems to be where the error is.
    import flash.display.MovieClip;
    import flash.events.MouseEvent;
    import flash.events.Event;
    import fl.video.FLVPlayback;
    import fl.video.*;
    var heritageVideo:FLVPlayback = heritage_sequence;
    stage.addEventListener(MouseEvent.CLICK, gotoHeritageHistory);
    stop();
    heritageVideo.addEventListener(VideoEvent.COMPLETE, gotoHeritageTwo);
    function gotoHeritageHistory(evt:MouseEvent):void
         gotoAndStop(6);
         stage.removeEventListener(MouseEvent.CLICK, gotoHeritageHistory);
         heritageVideo.removeEventListener(VideoEvent.COMPLETE, gotoHeritageTwo);
         heritageVideo.stop();
         heritageVideo.visible = false;
    function gotoHeritageTwo(evt:VideoEvent):void
         gotoAndStop(6);
         stage.removeEventListener(MouseEvent.CLICK, gotoHeritageHistory);
         heritageVideo.removeEventListener(VideoEvent.COMPLETE, gotoHeritageTwo);
         heritageVideo.visible = false;
    This is my first real as3 work, so I wouldn't be surprised if I'm missing something obvious, and I do hope that's the case. Let me know if you have any ideas!

    Hi,
    From the error, it looks like you're trying to manipulate something that isn't initialized yet.  I'm not very familiar with Flash professional (I do my work using Flash Builder), would you mind posting this over on the Flash forums?  You'll probably get a much better response over there.
    Thanks,
    Chris

  • Stupid TypeError: Error #1009:

    Ok, guys I have posted this same question to a few forums but no luck. So heres my problem that im getting when I complile my swf. I get this stupid, compiling error message, I know what its reffering to but I tried tackleing the line which its referring to but no luck.
    TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at net.schemagroup.ui::Interface/revealDropDown()[/Users/abel/Desktop/mySite/fla/net/schemag roup/ui/Interface.as:174]
    at net.schemagroup::LatestWorks/initRevealDropDown()[/Users/abel/Desktop/mySite/fla/net/sche magroup/LatestWorks.as:407]
    at Function/http://adobe.com/AS3/2006/builtin::apply()
    at SetIntervalTimer/onTimer()
    at flash.utils::Timer/_timerDispatch()
    at flash.utils::Timer/tick()
    So basically i'm just calling a instance method from my LatestWorks.as class. Which this instance method is defined in Interface.as class also, my Interface.as class is initialized through my Shell.as class.
    Heres my hiarchy of my class structure.
    here are my classes in order Shell.as,Interface.as, and LatestWorks.as
    Here is Shell.as class
    Code: Select all
    package net.schemagroup
       import gs.*;
       import gs.easing.*;
       import flash.display.*;
       import flash.media.Sound;
       import flash.media.SoundChannel;
       import flash.media.SoundLoaderContext;
       import flash.media.SoundTransform;
       import flash.events.*;
       import flash.net.*;
       import net.schemagroup.ui.Interface;
       import net.schemagroup.LatestWorks;
       public class Shell extends MovieClip
          public var duration:Number;
          public var swfWidth:uint;
          public var swfHeight:uint;
          private var mySound:Sound;
          private var urlSound:String;
          private var urlRequest:URLRequest;
          private var soundBuffTime:Number;
          private var sndChannel:SoundChannel;
          private var testingSound:Boolean;
          private var transform0:SoundTransform;
          private var directoryPath:String;
          private var latestPage:MovieClip;
          var myWork:LatestWorks;
          public function Shell()
             soundBuffTime = 1000;
             var myInterface:Interface = new Interface();
             myInterface.revealInterface(interface_mc);
             latestPage = pages_mc.page0_mc;
             testingSound = true;
             duration = 0.75;
             if (testingSound)
                directoryPath = "../ambient/";
                urlSound = directoryPath + "06_Dabz_Beat.mp3";
             else
                directoryPath = "ambient/";
                urlSound = directoryPath + "06_Dabz_Beat.mp3";
             mySound = new Sound();
             urlRequest = new URLRequest(urlSound);
             var context:SoundLoaderContext = new SoundLoaderContext(soundBuffTime, true);
             mySound.load(urlRequest, context);
             sndChannel = mySound.play();
             transform0 =  sndChannel.soundTransform;
             addEventListener(Event.ENTER_FRAME, onPosition);
             myWork = new LatestWorks();
             swfWidth = stage.stageWidth;
             swfHeight = stage.stageHeight;
             setDefaultStageSettings();
             stage.scaleMode = StageScaleMode.NO_SCALE;
             stage.align = StageAlign.TOP_LEFT;
             stage.frameRate = 30;
             stage.addEventListener(Event.RESIZE, resizeDisplay);
             var myFullScreenSprite:Sprite = MovieClip(usability_controls_mc.fullscreen_mc);
             myFullScreenSprite.buttonMode = true;
             myFullScreenSprite.addEventListener(MouseEvent.CLICK, _handleClick);
             pages_mc.page0_mc.title0_mc.mask = pages_mc.page0_mc.mask_mc;
             pages_mc.page0_mc.scrollBox_mc.sb.mask = pages_mc.page0_mc.scrollBox_mc.maskscrollbar_mc;
          private function goFullScreen():void
             if (stage.displayState == StageDisplayState.NORMAL)
                stage.displayState = StageDisplayState.FULL_SCREEN;
             else
                stage.displayState=StageDisplayState.NORMAL;
          private function _handleClick(event:MouseEvent):void
             trace("here!");
             goFullScreen();
          private function onPosition(e:Event):void
             var soundPosition:uint = Math.ceil(Math.ceil(Math.abs(sndChannel.position))/Math.ceil(Math.abs(mySound.length)) * 100);
             if (soundPosition == 90)
                removeEventListener(Event.ENTER_FRAME, onPosition);
                transform0.volume = 1;
                TweenMax.to(sndChannel, 12, {volume:0});
                var mySound2:Sound = new Sound();
                var context2:SoundLoaderContext = new SoundLoaderContext(1000, true);
                mySound2.load(new URLRequest(directoryPath + "14_Broken_Language.mp3"), context2);
                var sndChannel2:SoundChannel = mySound2.play();
                var transform:SoundTransform =  sndChannel2.soundTransform;
                transform.volume = 1;
                TweenMax.from(sndChannel2, 12, {volume:0});
          public function setDefaultStageSettings():void
             pages_mc.page0_mc.scrollBox_mc.mask_content_mc.width = swfWidth;
             pages_mc.page0_mc.bar6_mc.expandbar2_mc.width = swfWidth;
             pages_mc.page0_mc.bar5_mc.expandbar_mc.width = swfWidth;
             usability_controls_mc.x = swfWidth - usability_controls_mc.width;
             usability_controls_mc.y = swfHeight - usability_controls_mc.height;
             myWork.setStageHeight = swfHeight;
             myWork.setStageWidth = swfWidth;
             myWork.setupParameters(latestPage);
             myWork.runInitAnimation();
             trace("My stageWidth is: "+ myWork.setStageWidth);
             trace("My stageHeight is: "+ myWork.setStageHeight);
             pages_mc.y = swfHeight - 478;
             trace("Pages y is: " + pages_mc.y);
          public function resizeDisplay(e:Event):void
             swfWidth = stage.stageWidth;
             swfHeight = stage.stageHeight;
             myWork.setStageHeight = swfHeight;
             myWork.setStageWidth = swfWidth;
             pages_mc.page0_mc.scrollBox_mc.mask_content_mc.width = swfWidth;
             pages_mc.page0_mc.bar6_mc.expandbar2_mc.width = swfWidth;
             pages_mc.page0_mc.bar5_mc.expandbar_mc.width = swfWidth;
             usability_controls_mc.x = swfWidth - usability_controls_mc.width;
             usability_controls_mc.y = swfHeight - usability_controls_mc.height;
             pages_mc.y = uint(swfHeight - pages_mc.height);
    Here is Interface.as class
    Code: Select all
    package net.schemagroup.ui
       import gs.*;
       import gs.easing.*;
       import flash.events.*;
       import flash.display.*;
       import flash.utils.setTimeout;
       import flash.net.URLLoader;
       import flash.net.URLRequest;
       import flash.net.Socket;
       import flash.text.AntiAliasType;
       import flash.text.TextFieldAutoSize;
    a
       public class Interface extends MovieClip
          private var duration:Number;
          private var xml:XML;
          private var movContainer:MovieClip;
          private var movDropDownContainer:MovieClip;
          private var myMenuArray:Array;
          private var myMenuDropArray:Array;
          private var newY:uint;
          private var oldY:uint;
          private var spacer:int;
          private var timedProcess:int;
          private var myMainDrop:DropItem;
          public function Interface():void
             duration = 0.75;
             spacer = 12;
             myMenuDropArray = [];
             myMenuArray = [];
          public function revealInterface(myContainer:MovieClip):void
             trace("Revealing Interface!");
             movContainer = myContainer;
             movDropDownContainer = myContainer.container_mc;
             var yArray:Array = [-10.0,6,105];
             var delayArray:Array = [2,2.15,2.45];
             TweenMax.to(movContainer.logo_mc, duration, {y:yArray[0], delay:delayArray[0], alpha:1,timeScale:1, ease:Strong.easeOut});
             TweenMax.to(movContainer.bar0_mc, duration, {y:yArray[1], delay:delayArray[1], alpha:1,timeScale:1, ease:Strong.easeOut});
             TweenMax.to(movContainer.bar1_mc, duration, {y:yArray[2], delay:delayArray[2], alpha:1,timeScale:1, ease:Strong.easeOut, onComplete:loadXML});
          private function loadXML():void
             var testingSound = true;
             var xmlPath:String;
             if (testingSound)
                xmlPath = "../xml/interface.xml";
             else
                xmlPath = "xml/interface.xml";
             var xmlURLRequest:URLRequest = new URLRequest(xmlPath);
             var xmlURLLoader:URLLoader = new URLLoader(xmlURLRequest);
             xmlURLLoader.addEventListener(Event.COMPLETE, onComplete);
          private function onComplete(e:Event):void
             xml = new XML(e.target.data);
             //trace(xml);
             if (xml != null)
                buildInterface(xml);
             else
                trace("XML did not load successfully!");
          private function buildInterface(e:XML):void
             var xmlLength:uint = e.menu.section.page.length();
             var xmlLength2:uint = e.dropdown.section.item.length();
             //trace("XMLength is: "+ xmlLength);
             var xmlList:XMLList = new XMLList(e.menu.section.page);
             var xmlList2:XMLList = new XMLList(e.dropdown.section.item);
             myMainDrop = new DropItem();
             myMainDrop.mainDrop_mc.txt.text = e.dropdown.section.attribute("title");
             myMainDrop.mainDrop_mc.txt.autoSize = TextFieldAutoSize.LEFT;
             myMainDrop.mainDrop_mc.txt.antiAliasType = AntiAliasType.ADVANCED;
             myMainDrop.alpha = 0;
             myMainDrop.y = int(Math.round(myMainDrop.height / 2));
             myMainDrop.buttonMode = true;
             myMainDrop.mouseChildren = false;
             myMainDrop.addEventListener(MouseEvent.CLICK, dropDown);
             var yArray:Array = [0,spacer * 2];
             TweenMax.to(myMainDrop, duration, {y:int(spacer), alpha:1, ease:Strong.easeOut});
             movContainer.dropcontainer_mc.addChild(myMainDrop);
             oldY = uint(movContainer.dropcontainer_mc.y +  -  spacer);
             for (var i:uint = 0; i < xmlLength; i++)
                //trace(xmlList[i].title);
                var myItem:MenuItem = new MenuItem();
                myItem.myText_mc.txt.htmlText = xmlList[i].title.toString();
                myItem.myText_mc.txt.autoSize = TextFieldAutoSize.LEFT;
                myItem.myText_mc.txt.antiAliasType = AntiAliasType.ADVANCED;
                myItem.y = int(myItem.height + spacer) * i;
                myItem.alpha = 0;
                myMenuArray.push(myItem);
                var setDynamicDelay = Number("0." + 1) * i;
                trace(setDynamicDelay);
                myItem.mouseChildren = false;
                myItem.buttonMode = true;
                myItem.addEventListener(MouseEvent.CLICK, selectedPage);
                TweenMax.to(myItem, duration, {y:yArray[i], alpha:1, delay:setDynamicDelay, ease:Strong.easeOut});
                movContainer.container_mc.addChild(myItem);
             for (var j:uint = 0; j < xmlLength2; j++)
                //trace(xmlList[i].title);
                var dropItem:MenuItem = new MenuItem();
                dropItem.myText_mc.txt.text = xmlList2[j].title.toString();
                dropItem.myText_mc.txt.autoSize = TextFieldAutoSize.LEFT;
                dropItem.myText_mc.txt.antiAliasType = AntiAliasType.ADVANCED;
                dropItem.y = int(spacer) * j;
                dropItem.x = int(spacer);
                myMainDrop.container_mc.y =  -  int(myMainDrop.container_mc.height);
                newY = myMainDrop.container_mc.y;
                myMenuDropArray.push(dropItem);
                dropItem.buttonMode = true;
                dropItem.mouseChildren = false;
                dropItem.addEventListener(MouseEvent.CLICK, selectedPage);
                myMainDrop.mask_mc.height = myMainDrop.container_mc.height;
                movDropDownContainer.addChild(dropItem);
                if(j >= xmlLength2-1)
                   //timedProcess = setTimeout(revealDropDown, 400);
          private function dropDown(e:MouseEvent):void
             revealDropDown();
          private function selectedPage(e:MouseEvent):void
          public function revealDropDown():void
             TweenMax.to(movDropDownContainer, 1, {y:200, ease:Strong.easeOut});
             TweenMax.to(myMenuArray[1], 1, {y:movDropDownContainer.height + spacer + spacer/2, ease:Strong.easeOut});
    Here is LatestWorks.as class
    Code: Select all
    package net.schemagroup
       import gs.*;
       import gs.easing.*;
       import flash.events.*;
       import flash.net.URLLoader;
       import flash.net.URLRequest;
       import flash.geom.Rectangle;
       import flash.net.Socket;
       import flash.display.*;
       import flash.utils.*;
       import flash.filters.BlurFilter;
       import flash.text.AntiAliasType;
       import flash.text.TextFieldAutoSize;
       import net.schemagroup.ui.Interface;
       public class LatestWorks extends Interface {
          private var currentCount:uint;
          private var setDelays:Array;
          private var imageTarget:Array;
          private var myXCordBoxArray:Array;
          private var myYCordBoxArray:Array;
          private var setBlurX:Array;
          private var setBlurY:Array;
          private var setTimeScale:Number;
          private var setDuration:Number;
          private var passXMLength:Number;
          private var imageRatio:Number;
          private var xmlPath:String;
          private var timedProcess:Number;
          private var xmlLength:int;
          private var xmlLength2:int;
          private var xmlURLRequest:URLRequest;
          private var xmlURLLoader:URLLoader;
          private var xml:XML;
          private var categorySelector:uint;
          private static var spacer:int=10;
          private var passMask:Sprite;
          private var passScrollBar:MovieClip;
          private var projectItemURL:Array;
          public var catButtonsArray:Array;
          public var passContainer:MovieClip;
          public var whatState:Boolean;
          private var imageDirectory:String;
          private var counter:Number;
          private var projectImageWidth:Number;
          private var testingXML:Boolean;
          public var btnClicked:Boolean;
          private var passedArray:Array;
          public var scrollBarWidth:Number;
          public var whatCategory:int;
          public var increment:int;
          public var increment2:int;
          private var swfWidth:int;
          private var swfHeight:int;
          private var projectsLoaded:Boolean;
          private static const tintColor:int=0x0180AA;
          public var mainObject:MovieClip;
          private var myInterface:MovieClip;
          private var myThumbContainer:DisplayObjectContainer;
          private var someInterface:Interface;
          public function LatestWorks():void
             this.projectsLoaded=false;
             this.increment=0;
             this.increment2=0;
             this.catButtonsArray=[];
             testingXML=true;
             if (testingXML) {
                imageDirectory="../images/";
                xmlPath="../xml/portfolio.xml";
             } else {
                imageDirectory="images/";
                xmlPath="xml/portfolio.xml";
          public function setupParameters(latestPage:MovieClip):void {
             this.mainObject = latestPage;
             this.passScrollBar= mainObject.scrollBox_mc.sb.scrollbar_mc;
             this.passMask= mainObject.mask_mc;
             this.passContainer= mainObject.scrollBox_mc.content_mc;
             counter=30;
             setBlurX = [5,
             5,
             5,
             0,
             150,
             150,
             10];
             setBlurY = [10,
             10,
             10,
             10,
             150,
             150,
             0];
             myXCordBoxArray = [-260,
                -55,
                -147,
                271,
                289,
                this.swfWidth+577,
                this.swfWidth+368];
             myYCordBoxArray = [this.swfHeight + -50,
                this.swfHeight + -167,
                this.swfHeight + -309,
                this.swfHeight + 72,
                this.swfHeight + 72,
                this.swfHeight + 142,
                72];
             setDelays=[0,0.35,0.55,0.75,0.95,1.15,1.35,1.45];
             setTimeScale=2;
             this.mainObject.categoryHolder_mc.mask = this.mainObject.mask_category_mc;
             setDuration=0.75;
          public function runInitAnimation():void {
             var objectLength:uint = 7;
             for (var i:int = 0; i < objectLength; i++) {
                var myMC:DisplayObject = this.mainObject["bar"+i+"_mc"];
                //trace("Counter is: " + i + " " + myMC.name + " Ycord is: "+  myYCordBoxArray[i]);
                TweenMax.from(myMC, setDuration, {blurFilter:{blurX:setBlurX[i],
                  blurY:setBlurX[i]},
                  x:myXCordBoxArray[i],
                  y:myYCordBoxArray[i],
                  delay:setDelays[i],
                  timescale:Math.random() * setTimeScale,
                  ease:Back.easeInOut});
                if (i>=4) {
                   TweenMax.from(mainObject.bar5_mc, setDuration, {blurFilter:{blurX:setBlurX[5],
                    blurY:setBlurY[5]},
                    x:myXCordBoxArray[5],
                    delay:setDelays[5],
                    ease:Strong.easeOut});
                   TweenMax.from(mainObject.bar6_mc, setDuration, {blurFilter:{blurX:setBlurX[6],
                    blurY:setBlurX[6]},
                    x:myXCordBoxArray[6],
                    delay:setDelays[6],
                    ease:Strong.easeOut});
                   TweenMax.to(this.passMask, setDuration, {scaleX:1, delay:2, ease:Strong.easeOut, onStart:AssignXMLSettings});
                   break;
          public function AssignXMLSettings():void {
             xmlURLRequest=new URLRequest(xmlPath);
             xmlURLLoader=new URLLoader(xmlURLRequest);
             xmlURLLoader.addEventListener(Event.COMPLETE, onLoaded);
          public function onLoaded(e:Event):void {
             xml=new XML(e.target.data);
             if (xml.data!=null) {
                trace(xmlPath + " successfully loaded!");
                buildPortfolio(xml);
                buildCatMenu(xml);
                TweenMax.to(mainObject.categoryHolder_mc, 0.75, {y:221, ease:Strong.easeOut});
                TweenMax.to(mainObject.scrollBox_mc.maskscrollbar_mc, setDuration, {scaleX:1,  ease:Strong.easeOut});
             } else {
                trace(xmlPath + " did not load successfully!");
          public function buildCatMenu(e:XML):void {
             var xmlList:XMLList=e.category.items.catitem;
             xmlLength2=xmlList.length();
             var XPos:int=0;
             var myCatMain:CatItem = new CatItem();
             myCatMain.category_txt.htmlText=e.category.@main;
             myCatMain.category_txt.autoSize=TextFieldAutoSize.LEFT;
             myCatMain.category_txt.antiAliasType=AntiAliasType.ADVANCED;
             mainObject.categoryHolder_mc.addChild(myCatMain);
             var TextValue:int=myCatMain.width;
             for (var i:uint = 0; i < xmlLength2; i++) {
                var myCatItem:CatItem = new CatItem();
                myCatItem.category_txt.htmlText=xmlList[i].title;
                myCatItem.category_txt.autoSize=TextFieldAutoSize.LEFT;
                myCatItem.category_txt.antiAliasType=AntiAliasType.ADVANCED;
                myCatItem.btnClicked=xmlList[i].@setDefault;
                myCatItem.whatCategory=i;
                //trace(xmlList[i].@setState);
                myCatItem.x=TextValue;
                XPos=myCatItem.width;
                catButtonsArray.push(myCatItem);
                TextValue+=Number(spacer+XPos);
                mainObject.categoryHolder_mc.addChild(myCatItem);
                myCatItem.buttonMode=true;
                myCatItem.mouseChildren=false;
                myCatItem.addEventListener(MouseEvent.CLICK, catClick);
                myCatItem.addEventListener(MouseEvent.MOUSE_OVER, catOver);
                myCatItem.addEventListener(MouseEvent.MOUSE_OUT, catOut);
                if (catButtonsArray[i].btnClicked==true) {
                   catButtonsArray[i].buttonMode=false;
                   catButtonsArray[i].mouseEnabled=false;           
                   TweenMax.to(catButtonsArray[i], 1, {tint:tintColor, delay:0.45, ease:Strong.easeOut});
          private function catClick(e:MouseEvent):void {
             var myButton:MovieClip=MovieClip(e.currentTarget);
             if(projectsLoaded)
             projectsLoaded = false;
             myButton.buttonMode=false;
             myButton.mouseEnabled=false;
             TweenMax.to(myButton, 1, {tint:tintColor, ease:Strong.easeOut});
             categorySelector = myButton.whatCategory;
             removeItems();
             validateCategories();
             myButton.btnClicked=true;
             changeTitle(myButton.category_txt.text);
          public function removeItems():void {
             //trace("Remove items fired!");
             var setDynamicDelay:Number;
             for (var i:int = 0; i < xmlLength; i++)
             setDynamicDelay = Number("0."+ 1) * i;
             var myItem:MovieClip = imageTarget[i];
             //trace(myItem.name);
             //trace("RemoveItem count is: "+ i + " out of " + Number(xmlLength-1));
             TweenMax.to(myItem, 1, {blurFilter:{blurY:50},
             y:this.swfHeight - myItem.height,
             ease:Strong.easeOut,
             delay:setDynamicDelay,
             onComplete:removeTarget,
             ease:Strong.easeOut});
          public function removeTarget():void {
             increment++;
             //trace("Increment is: "+ increment);
             this.passContainer.removeChildAt(0);
             if (increment >= Number(xmlLength))
                increment = 0;
                //trace("Increment is: "+ increment);
                //trace("Increment is equal to: "+ Number(xmlLength-1));
                buildPortfolio(xml);
          private function validateCategories():void {
             for (var i:int = 0; i < xmlLength2; i++)
                if (catButtonsArray[i].btnClicked==true)
                   TweenMax.to(catButtonsArray[i], 1, {removeTint:true, ease:Strong.easeOut});
                   catButtonsArray[i].buttonMode=true;
                   catButtonsArray[i].mouseEnabled=true;
                   catButtonsArray[i].btnClicked=false;
          private function changeTitle(e:String):void {
             TweenMax.to(mainObject.mask_mc, 0.75, {scaleX:0, ease:Strong.easeOut, onComplete:loadTitle, onCompleteParams:[e]});
          private function loadTitle(e:String) {
             mainObject.title0_mc.title_txt.htmlText=e;
             if(e == "WEBSITES")
             TweenMax.to(mainObject.title0_mc, 0.75, {x:120, delay:0.45, ease:Strong.easeOut});
             TweenMax.to(mainObject.bar6_mc, 0.75, {x:550, delay:0.45, ease:Strong.easeOut});
             TweenMax.to(mainObject.mask_mc, 0.75, {scaleX:1, delay:0.45, ease:Strong.easeOut});
             }else{
             TweenMax.to(mainObject.title0_mc, 0.75, {x:226, delay:0.45, ease:Strong.easeOut});
             TweenMax.to(mainObject.bar6_mc, 0.75, {x:656, delay:0.45, ease:Strong.easeOut});
             TweenMax.to(mainObject.mask_mc, 0.75, {scaleX:1, delay:0.45, ease:Strong.easeOut});
          public function buildPortfolio(e:XML):void
             trace("Building Portfolio!");
             //trace("XML category is: " + categorySelector);
             var xmlList:XMLList=e.projectitem[categorySelector].item;
             xmlLength=xmlList.length();
             //trace("Length of section is: " + xmlLength);
             var itemGap:Number=20;
             var setDynamicDelay:Number;
             currentCount=0;
             passXMLength=Number(xmlLength);
             var imageRatio:uint=passXMLength/passXMLength;
             //trace("Image ratio is: " + imageRatio);
             imageTarget=[];
             projectItemURL=[];
             for (var i:uint = 0; i < xmlLength; i++)
                /*trace("-----------------------------------");
                trace("Client is: " + xmlList[i].client);
                trace("Description is: " + xmlList[i].description);
                trace("Platform is: " + xmlList[i].platform);
                trace("Launch is: " + xmlList[i].launch);
                trace("-----------------------------------");
                var myItem:ProjectItem = new ProjectItem();
                myItem.name="item"+i+"_mc";
                myItem.x=Number(myItem.width+itemGap)*i;
                myItem.y=Number(this.swfHeight/2 - myItem.height);
                projectImageWidth=Number(myItem.width+itemGap)*i;
                //trace("Project image width is: " + projectImageWidth);
                this.passContainer.addChild(myItem);
                imageTarget.push(myItem);
                //trace(imageTarget[i].name);
                myItem.text_mc.description_txt.htmlText = xmlList[i].description.toString();
                myItem.text_mc.description_txt.wordWrap = true;
                myItem.text_mc.description_txt.autoSize = TextFieldAutoSize.LEFT;
                myItem.text_mc.description_txt.antiAliasType = AntiAliasType.ADVANCED;
                projectItemURL.push(imageDirectory + xmlList[i].attributes());
                setDynamicDelay = Number("0."+1)*i;
                TweenMax.to(myItem, 0.75, {blurFilter:{blurY:50}});
                TweenMax.to(myItem, 0.75, {blurFilter:{blurY:0}, y:0, delay:setDynamicDelay, ease:Strong.easeOut});
                if (i == xmlLength-1) {
                   trace("Preloading images!");
                   //preloadImages(projectItemURL,imageTarget);
                   preloadImages();
                   timedProcess = setTimeout(initRevealDropDown, 10000);
                   this.passScrollBar.width=Number(myItem.width+itemGap/imageRatio);
          public function initRevealDropDown():void
             clearTimeout(timedProcess);
             someInterface = new Interface();
             someInterface.revealDropDown();
          private function preloadImages() {
             var loaderURLRequest:URLRequest=new URLRequest(projectItemURL[currentCount]);
             var loader:Loader = new Loader();
             loader.contentLoaderInfo.addEventListener(Event.OPEN, _onOpen);
             loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, _onProgress);
             loader.contentLoaderInfo.addEventListener(Event.COMPLETE, _handleImageLoaded);
             loader.load(loaderURLRequest);
          private function _onOpen(e:Event):void {
             //trace("loading started!");
             imageTarget[currentCount].preloader_mc.gotoAndPlay("play");
          private function _onProgress(e:ProgressEvent):void {
             var loadBytes:Number=e.target.bytesLoaded;
             var totalBytes:Number=e.target.bytesTotal;
             var percent:Number=Math.ceil(loadBytes/totalBytes*100);
             //trace("BytesLoaded: " + loadBytes + " out of " + totalBytes + " Percentage: " + percent);
             imageTarget[currentCount].preloader_mc.percent_mc.pct_txt.text=Math.ceil(loadBytes/totalBytes*10).toString();
          private function _handleImageLoaded(e:Event):void {
             //trace("Finished loading: " + e.target.url);
             imageTarget[currentCount].preloader_mc.percent_mc.pct_txt.text="";
             imageTarget[currentCount].container_mc.alpha=0;
             imageTarget[currentCount].container_mc.addChild(Bitmap(e.target.content));
             imageTarget[currentCount].preloader_mc.stop();
             TweenMax.to(imageTarget[currentCount].preloader_mc, 0.75, {alpha:0, ease:Strong.easeOut});
             TweenMax.to(imageTarget[currentCount].container_mc, 0.75, {alpha:1, ease:Strong.easeOut});
          if (currentCount<passXMLength-1)
                currentCount++;
                preloadImages();
             }else if(currentCount >= passXMLength-1)
                //trace("Current count is equal to xmlLength!");
                projectsLoaded = true;
                //trace("ProjectsLoaded is: "+ projectsLoaded);
          private function catOver(e:MouseEvent):void {
             var myButton:MovieClip=MovieClip(e.currentTarget);
             TweenMax.to(myButton, 1, {tint:tintColor, ease:Strong.easeOut});
          private function catOut(e:MouseEvent):void {
             var myButton:MovieClip=MovieClip(e.currentTarget);
             if (myButton.btnClicked!=true) {
                TweenMax.to(myButton, 1, {removeTint:true, ease:Strong.easeOut});
          public function get selectCategory():uint {
             return this.categorySelector;
          public function set selectCategory(e:uint):void {
             this.categorySelector=e;
          public function get getState():Boolean {
             return this.whatState;
          public function set getState(setState:Boolean):void {
             this.whatState=setState;
          public function get setStageHeight():int
             return swfHeight;
          public function set setStageHeight(whatHeight:int):void
             swfHeight = whatHeight;
          public function get setStageWidth():int
             return swfWidth;
          public function set setStageWidth(whatWidth:int):void
             swfWidth = whatWidth;
    Please anybody, it would be very helpful since i'm still trying to tackle as3 classes.
    thanks
    abe

    so, movDropDownContainer (which i know is myContainer.container_mc) doesn't exist WHEN revealDropDown() is called (and that error message is displayed).
    we already know it does exist and movDropDownContainer is defined correctly when your constructor is called so some time after that the timeline that contains myContainer.container_mc must move and it no longer exists or actionscript is used to remove the movieclip.
    the most subtle way that can happen is with a timeline created instance (ie, created in the ide).  there are lots of ways this can happen.  obviously, if you see that your timeline moves to or through a frame where myContainer.container_mc doesn't exist, it should be clear why you're seeing that error message.  but this error can be caused by more difficult to understand situations.
    for example, if it appears that movieclip is in every frame but it's in a layer with more than 1 keyframe, then you can have identically named instances (and that all look the same) that are not the same instance.  in fact, the only sure way to know that movieclip exists in keyframes where it appears to exist is to clear all the keyframes in its layer (after the first keyframe where it appears) and then create all the additional keyframes.  at that point, if you do not remove the movieclip from the stage, in any keyframes, all the instances will be the same.  if you do anything else or you've done anything else, you're going to run into this problem.

  • TypeError: Error #1009 (loaded SWF)

    I'm pulling out my hair on this one!
    I'm just starting a site (full-Flash site) using CS3 and AS3.
    I'm pretty much accustom to the new AS3 changes. I built a rough
    structure to make sure the way I wanted to set the site up would
    work (loading in external SWFs, etc.). The tests worked.
    Now, I'm going in to make some things real, and I'm getting
    this error as soon as an external SWF loads in:
    TypeError: Error #1009: Cannot access a property or method of
    a null object reference.
    at test_fla::MainTimeline/test_fla::frame2()
    I've tried narrowing it down, couldn't find the exact culprit
    (had to remove every ounce of ActionScript before it started to
    function again). So I started to rebuild that movie entirely --
    cleared out the Library and deleted every layer. Didn't work.
    Couldn't even add a stop(); action in Frame 1.
    Then I started completely fresh File > New, rebuilt again.
    I tested after every single change. I finally built it up to the
    point where I first tested the original, and it worked. So, then I
    added a couple more things tested again, and got the error again.
    Ahh, so I removed EXACTLY what I had just added. Tested again. SAME
    ERROR -- now it won't go away no matter what I remove!
    Crazier yet is that I can still load in my other test SWF
    files and they have actions in them, and they're set up the exact
    same way -- but they work...
    The whole site is new, so every SWF is CS3/AS3. I'm not even
    doing anything crazy, so I'm getting pretty frustrated trying to
    build an all AS3 site and I can't even do basic stuff....
    I can upload/email the FLA files in question if anyone has
    time to look...
    Thanks,
    Brandon

    Well, when I test the loaded SWF within the Flash environment
    (by itself), it plays just fine.
    Then, I try to play the root containing movie (both within
    Flash and on the web server) and as soon as that section loads, is
    when the error occurs.
    I've tried tracing everything. even down to putting trace()
    actions between every layer. Can't determine what causes it...
    One thing I noticed (but I assume is a naming convention that
    Flash uses), is in the error above you see "test_fla", well, lets
    say I have these files:
    test-container.fla
    test-home.fla
    I don't have a test_fla, but the error code refers to it
    anyway...

  • More "TypeError: Error #1006: value is not a function." trouble

    var pntClk:int = -1;
    for(var t:int=0;t<tab1PointsArray.length;t++) {
         tab1PointsArray[t].addEventListener(MouseEvent.CLICK, tab1PointClicked); <Problem code i think. Error points to line 117
         trace("Event listener added to " + tab1PointsArray[t].name);
    function tab1PointClicked (event:MouseEvent):void {
         for(var T:int=0;T< tab1PointsArray.length;T++) {
              if (event.currentTarget == tab1PointsArray[T]) {
                   pntClk = T;
                   openInfoTab();
                   trace("Point Clicked: " +  tab1PointsArray[T].name);
    I wrote some previous code that worked and i copy pasted over to this project and it doesn't work.
    The weird part to me is that it still runs the first set of trace statements (there are 8 objects in that array). But, it won't run the second set...
    for(var l:int=0;l<Tab2PointsArray.length;l++) {
         Tab2PointsArray[l].addEventListener(MouseEvent.CLICK, tab2PointClicked);
         trace("Event listener added to " + Tab2PointsArray[l].name);
    function tab2PointClicked (event:MouseEvent):void {
         for(var t:int=0;t< Tab2PointsArray.length;t++) {
              if (event.currentTarget ==  Tab2PointsArray[t]) {
                   pntClk = t;
                   openInfoTab();
                   trace("Point Clicked: " +  Tab2PointsArray[t].name);
    if you need more code or info to help me figure this out let me know
    I don't know actionscript that well so bare with

    The output window:
    Event listener added to PointHitch
    Event listener added to PointPTO
    Event listener added to PointSafety
    Event listener added to PointGearBox
    Event listener added to PointBlade
    Event listener added to PointTeeth
    Event listener added to PointGrapple
    TypeError: Error #1006: value is not a function.
    at TractorSawFlash_fla::MainTimeline/frame1()[TractorSawFlash_fla.MainTimeline::frame1:115]
    I think the first set of listeners is added then the error happens and the second set of listeners doesn't get added.
    Here is more code.
    import fl.transitions.Tween;
    import fl.transitions.easing.*;
    import flash.events.MouseEvent;
    var infoTabIsOpen:Boolean = false;
    //TAB CODE
    var TractorSawTabToggle:Boolean = false;
    var TabButtonArray:Array = new Array(TabTR3200.TR3200BTN, TabTR3200LT.TR3200BTNLT);
    for (var i:int=0; i<TabButtonArray.length; i++)
         TabButtonArray[i].id = i;
         TabButtonArray[i].addEventListener(MouseEvent.CLICK, onClick);
    TabTR3200.TR3200BTN.mouseEnabled = false;
    TabTR3200.TR3200BTN.buttonMode = false;
    function onClick(event:MouseEvent):void{
         if (TractorSawTabToggle == true) {
              TractorSawTabToggle = false;
              swapChildren(this.TabTR3200,this.TabTR3200LT);
              TabTR3200LT.TR3200BTNLT.mouseEnabled = true;
              TabTR3200LT.TR3200BTNLT.buttonMode = true;
              TabTR3200.TR3200BTN.mouseEnabled = false;
              TabTR3200.TR3200BTN.buttonMode = false;
         else {
              TractorSawTabToggle = true;
              swapChildren(this.TabTR3200,this.TabTR3200LT);
              TabTR3200LT.TR3200BTNLT.mouseEnabled = false;
              TabTR3200LT.TR3200BTNLT.buttonMode = false;
              TabTR3200.TR3200BTN.mouseEnabled = true;
              TabTR3200.TR3200BTN.buttonMode = true;
    //END TAB CODE
    //MovieTab
    MovieButton.addEventListener(MouseEvent.CLICK, clickedMainMovie);
    MovieTab.Exit_BTN.addEventListener(MouseEvent.MOUSE_DOWN, outMainMovieTrigger);
    function clickedMainMovie(event:MouseEvent):void {
         var TabMainMovieDown:Tween = new Tween(MovieTab, "y", Strong.easeOut, -600, 0, 1, true);
         var TabMainMovieAlphaIn:Tween = new Tween(MovieTab, "alpha", Strong.easeOut, 0, 1, 1, true);
         if (infoTabIsOpen == true) {
              closeInfoTab();
    function outMainMovieTrigger(event:MouseEvent):void {
         outMainMovie();
    function outMainMovie():void {
         trace("Three Sixty MOUSE_OUT");
         var TabMainMovieUp:Tween = new Tween(MovieTab, "y", Strong.easeOut, 0, -600, 1, true);
         var TabMainMovieAlphaOut:Tween = new Tween(MovieTab, "alpha", Strong.easeOut, 1, 0, 1, true);
         MovieTab.FLVPlayback.stop();
    //END MovieTab
    //INFO TAB ARRAYS AND FUNCTIONS
    var placeHolder:String = "null";
    var tab1PointsArray:Array = new Array(this.TabTR3200.PointHitch, //0
                                                             this.TabTR3200.PointPTO, //1
                                                             this.TabTR3200.PointSafety, //2
                                                             this.TabTR3200.PointGearBox, //3
                                                             this.TabTR3200.PointBlade, //4
                                                             this.TabTR3200.PointTeeth, //5
                                                             this.TabTR3200.PointGrapple, //6
                                                             placeHolder); //7
    var Tab2PointsArray:Array = new Array(this.TabTR3200LT.PointHitch, //0
                                                              this.TabTR3200LT.PointPTO, //1
                                                              this.TabTR3200LT.PointSafety, //2
                                                              this.TabTR3200LT.PointGearBox, //3
                                                              this.TabTR3200LT.PointBlade, //4
                                                              this.TabTR3200LT.PointTeeth, //5
                                                              placeHolder, //6
                                                              this.TabTR3200LT.PointPushingBar);//7
    var pictureArray:Array = new Array(placeHolder,
                                                       placeHolder,
                                                       placeHolder,
                                                       placeHolder,
                                                       placeHolder,
                                                       placeHolder,
                                                       placeHolder,
                                                       placeHolder);
    var textArray:Array = new Array(InfoTab.txtHitch, //0
                                                   InfoTab.txtPTO, //1
                                                   InfoTab.txtSafety, //2
                                                   InfoTab.txtGearbox, //3
                                                   InfoTab.txtBlade, //4
                                                   InfoTab.txtTeeth, //5
                                                   InfoTab.txtGrapple, //6
                                                   InfoTab.txtPushingBar); //7
    //Point Clicked Code
    var pntClk:int = -1;
    for(var t:int=0;t<tab1PointsArray.length;t++) {
         tab1PointsArray[t].addEventListener(MouseEvent.CLICK, tab1PointClicked); <LINE 115 were it says the error is happening
         trace("Event listener added to " + tab1PointsArray[t].name);
    function tab1PointClicked (event:MouseEvent):void {
         for(var T:int=0;T< tab1PointsArray.length;T++) {
              if (event.currentTarget == tab1PointsArray[T]) {
                   pntClk = T;
                   openInfoTab();
                   trace("Point Clicked: " +  tab1PointsArray[T].name);
    for(var l:int=0;l<Tab2PointsArray.length;l++) {
         Tab2PointsArray[l].addEventListener(MouseEvent.CLICK, tab2PointClicked);
         trace("Event listener added to " + Tab2PointsArray[l].name);
    function tab2PointClicked (event:MouseEvent):void {
         for(var t:int=0;t< Tab2PointsArray.length;t++) {
              if (event.currentTarget ==  Tab2PointsArray[t]) {
                   pntClk = t;
                   openInfoTab();
                   trace("Point Clicked: " +  Tab2PointsArray[t].name);
    //Info Tab
    var ImageLoader:Loader;
    ImageLoader = new Loader();
    // make text invisible
    function makeTextInvisible():void {
         for (var txt:int=0; txt<textArray.length; txt++) {
              textArray[txt].visible = false;
    InfoTab.Exit_BTN.buttonMode = true;
    InfoTab.Exit_BTN.addEventListener(MouseEvent.CLICK, closeInfoTrigger);
    function closeInfoTrigger(e:MouseEvent):void {
         trace("close feature triggered");
         closeInfoTab();
    //OPEN INFO TAB
    function openInfoTab():void {
         //EnableExitButton
         var EnableExitButton:Timer = new Timer(333, 1);
         InfoTab.mouseEnabled = true;
         InfoTab.mouseChildren = true;
         var tabIn:Tween = new Tween(InfoTab, "y", Regular.easeOut, 600, 60, 10, false);
         var tabAlphaIn:Tween = new Tween(InfoTab, "alpha", Regular.easeOut, 0, 1, 10, false);
         //pictureSetter
         if (pictureArray[pntClk] != "null") {
              ImageLoader.load(new URLRequest(pictureArray[pntClk]));
              this.InfoTab.ImageHolder_MC.addChild(ImageLoader);
         textArray[pntClk].visible = true;
         infoTabIsOpen = true;
    //end open info tab
    //CLOSE INFO TAB
    function closeInfoTab():void{
         //deactivating setters
         InfoTab.mouseEnabled = false;
         InfoTab.mouseChildren = false;
         trace("feature tab deactivated");
         //unload picture
         if (pictureArray[pntClk] != "null") {
              ImageLoader.unload();
              this.InfoTab.ImageHolder_MC.removeChild(ImageLoader);
              ImageLoader = null;
         //tab action variables
         var tabAlphaOut:Tween = new Tween(InfoTab, "alpha", Regular.easeIn, 1, 0, 8, false);
         var tabOut:Tween = new Tween(InfoTab, "y", Regular.easeIn, 60, 600, 8, false);
         infoTabIsOpen = false;
         //exit timer
         var exitTimer:Timer = new Timer(200, 1);
         exitTimer.addEventListener(TimerEvent.TIMER, exitHandler);
         exitTimer.start();
         function exitHandler(event:TimerEvent):void
              trace("exit handler fired");
              makeTextInvisible();
         //end exit timer
         pntClk = -1;
    //end closeFeatureTab

  • TypeError: Error #1009 A.S 3.0

    Sorry i am bad in English...In this case, I'm still new.I have this error
    "TypeError: Error #1009: Cannot access a property or method of a null object reference. at Monster/hurtPlayer() at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at fl.motion::AnimatorBase/end() at fl.motion::AnimatorBase/handleLastFrame()
    This my code:  
    var monstersInGame:uint;
    var monsterMaker:Timer;
    var container_mc:MovieClip;
    var cursor:MovieClip;
    var winning:wins = new wins();
    var gameovers:gameover = new gameover();
    var livecherep:liveimg = new liveimg();
    var score:int;  var energy:int;
    var live:Number =3;
    var myTimer2:Timer;
    var myTimer3:Timer;
    var monster:MovieClip; function startlevel(); {container_mc = new MovieClip(); addChild(container_mc);  energy = energy_mc.totalFrames; energy_mc.gotoAndStop(energy); if(live==3){     lives.gotoAndStop(3);} if(live==2){     lives.gotoAndStop(2);} if(live==1){     lives.gotoAndStop(1);} monstersInGame = 8;     monsterMaker = new Timer(1000,monstersInGame); monsterMaker.addEventListener(TimerEvent.TIMER, createMonsters); monsterMaker.start(); cursor = new Cursor();      addChild(cursor);                     Mouse.hide ();          stage.addEventListener(MouseEvent.MOUSE_MOVE, dragCursor);          score = 0;         }   function dragCursor(event:MouseEvent):void   {      cursor.x = this.mouseX; cursor.y = this.mouseY; }  function createMonsters(event:TimerEvent):void   {         monster = new Monster();     monster.x = Math.random() * stage.stageWidth;     if (monster.x <= 100) {       monster.x = 100;    }   else if (monster.x >= 380) {    monster.x = 350;   }     monster.y = Math.random() * stage.stageHeight;     if (monster.y <= 100)     {       monster.y = 100;      }   else if (monster.y >= 380)   {    monster.y = 350;   }      container_mc.addChild(monster);     }   function nextf(event:TimerEvent) // timer for winning   {  myTimer2.removeEventListener(TimerEvent.TIMER_COMPLETE,nextf);   removeChild(winning)   gotoAndStop(4);  }   function nextm(event:TimerEvent) // timer for gameover   {  myTimer3.removeEventListener(TimerEvent.TIMER_COMPLETE,nextm); removeChild(gameovers)   gotoAndStop(13);      }        function increaseScore():void //if win  { score ++; if(score >= 6)  {  monsterMaker.stop();     removeChild(container_mc);     removeChild(cursor)         stage.removeEventListener(MouseEvent.MOUSE_MOVE, dragCursor);                  addChild(winning)          myTimer5 = new Timer(1000,1); myTimer5.addEventListener(TimerEvent.TIMER_COMPLETE,nextf);  myTimer5.start();                 } }  function decreaseEnergy():void // if lose  { energy --; if(energy==4){     energy_mc.gotoAndStop(4);}     if(energy==3){     energy_mc.gotoAndStop(3);}     if (energy==2){     energy_mc.gotoAndStop(2);}      if(energy==1){     energy_mc.gotoAndStop(1);}      if(energy==0){     energy_mc.gotoAndStop(1);}            if(energy <= 1) { live--;         monsterMaker.stop();     removeChild(container_mc);     removeChild(cursor)                 Mouse.show();      stage.removeEventListener(MouseEvent.MOUSE_MOVE, dragCursor);         if (live==0)  { addChild(gameovers)   myTimer6 = new Timer(1500,1); myTimer6.addEventListener(TimerEvent.TIMER_COMPLETE,nextm);  myTimer6.start(); }         else {     gotoAndStop(9);     } } } [/HIGHLIGHT]  but this code i am have in MovieClip monster :  [HIGHLIGHT] import fl.motion.Animator;  import fl.motion.MotionEvent; var this_xml:XML =
                                                                                                                                                                          ;  var this_animator:Animator = new Animator(this_xml, this);  this_animator.play();  this_animator.addEventListener(MotionEvent.MOTION_END, hurtPlayer);  function hurtPlayer (Event:MotionEvent): void  {          var main:MovieClip = MovieClip(this.parent.parent);              main.decreaseEnergy();          this.parent.removeChild(this); }  this.addEventListener(MouseEvent.CLICK, killMonster);  function killMonster(event:MouseEvent):void  { gotoAndPlay(31) ; this_animator = new Animator(this_xml, this);  this_animator.play(); this_animator.addEventListener(MotionEvent.MOTION_END, die); } function die(event:MotionEvent):void  {     var main:MovieClip = MovieClip(this.parent.parent);     main.increaseScore();         this_animator.removeEventListener(MotionEvent.MOTION_END, hurtPlayer) this.parent.removeChild(this); }   [/HIGHLIGHT]
    As I understand it, the error is in the function hurtPlayer at monster movieclip .I am ran Debug movie, showed on main.decreaseEnergy(); in hurtPlayer function.Please help me.Thanks.

    This code i have in mine timeline first frame:
    var monstersInGame:uint;
    var monsterMaker:Timer;
    var container_mc:MovieClip;
    var cursor:MovieClip;
    var winning:wins = new wins();
    var gameovers:gameover = new gameover();
    var livecherep:liveimg = new liveimg();
    var score:int;
    var energy:int;
    var live:Number =3;
    var myTimer2:Timer;
    var myTimer3:Timer;
    var monster:MovieClip;
    function startlevel();
    container_mc = new MovieClip();
    addChild(container_mc);
    energy = energy_mc.totalFrames;
    energy_mc.gotoAndStop(energy);
    if(live==3){     lives.gotoAndStop(3);}
    if(live==2){     lives.gotoAndStop(2);}
    if(live==1){     lives.gotoAndStop(1);}
    monstersInGame = 8;
    monsterMaker = new Timer(1000,monstersInGame);
    monsterMaker.addEventListener(TimerEvent.TIMER, createMonsters);
    monsterMaker.start();
    cursor = new Cursor();
    addChild(cursor);
    Mouse.hide ();
    stage.addEventListener(MouseEvent.MOUSE_MOVE, dragCursor);
    score = 0; 
    function dragCursor(event:MouseEvent):void
    cursor.x = this.mouseX;
    function createMonsters(event:TimerEvent):void
    monster = new Monster();
    monster.x = Math.random() * stage.stageWidth;
    if (monster.x <= 100)
    monster.x = 100;
    else if (monster.x >= 380)
    monster.x = 350;
    monster.y = Math.random() * stage.stageHeight;
    if (monster.y <= 100)
    monster.y = 100;
    else if (monster.y >= 380)
    monster.y = 350;
    container_mc.addChild(monster);
    function nextf(event:TimerEvent) // timer for winning
    myTimer2.removeEventListener(TimerEvent.TIMER_COMPLETE,nextf);
    removeChild(winning)   gotoAndStop(4);
    function nextm(event:TimerEvent) // timer for gameover
    myTimer3.removeEventListener(TimerEvent.TIMER_COMPLETE,nextm);
    removeChild(gameovers)
    gotoAndStop(13);
    function increaseScore():void //if win
    score ++;
    if(score >= 6)
    monsterMaker.stop();
    removeChild(container_mc);
    removeChild(cursor)  
    stage.removeEventListener(MouseEvent.MOUSE_MOVE, dragCursor);         
    addChild(winning)  
    myTimer5 = new Timer(1000,1);
    myTimer5.addEventListener(TimerEvent.TIMER_COMPLETE,nextf);
    myTimer5.start();         
    function decreaseEnergy():void //if lose
    energy --;
    if(energy==4){     energy_mc.gotoAndStop(4);}
    if(energy==3){     energy_mc.gotoAndStop(3);}
    if (energy==2){     energy_mc.gotoAndStop(2);}
    if(energy==1){     energy_mc.gotoAndStop(1);}
    if(energy==0){     energy_mc.gotoAndStop(1);}      
    if(energy <= 1)
    live--;  
    monsterMaker.stop();
    removeChild(container_mc);
    removeChild(cursor)          
    Mouse.show();
    stage.removeEventListener(MouseEvent.MOUSE_MOVE, dragCursor);  
    if (live==0)
    addChild(gameovers)
    myTimer6 = new Timer(1500,1); myTimer6.addEventListener(TimerEvent.TIMER_COMPLETE,nextm);
    myTimer6.start();
    else
    gotoAndStop(9);
    This code i have in MovieClip monster:
    import fl.motion.Animator;
    import fl.motion.MotionEvent;
    var this_xml:XML =   HERE I inserted the classic tween code with the instance name "this" to use in the ActionScript
    Sorry i am cant insert there this classic tween code
    var this_animator:Animator = new Animator(this_xml, this);
    this_animator.play();
    this_animator.addEventListener(MotionEvent.MOTION_END, hurtPlayer);
    function hurtPlayer (Event:MotionEvent): void
    var main:MovieClip = MovieClip(this.parent.parent);
    main.decreasyEnergy(); in this line i am have error
    "TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at Monster/hurtPlayer()[Monster::frame1:35]
    at flash.events::EventDispatcher/dispatchEventFunction()
    at flash.events::EventDispatcher/dispatchEvent()
    at fl.motion::AnimatorBase/end()
    at fl.motion::AnimatorBase/handleLastFrame()
    at fl.motion::AnimatorBase/nextFrame()
    at fl.motion::AnimatorBase/handleEnterFrame()"
    this.parent.removeChild(this);
    this.addEventListener(MouseEvent.CLICK, killMonster);
    function killMonster(event:MouseEvent):void
    gotoAndPlay(31)
    this_animator = new Animator(this_xml, this);
    this_animator.play();
    this_animator.addEventListener(MotionEvent.MOTION_END, die);
    function die(event:MotionEvent):void
    var main:MovieClip = MovieClip(this.parent.parent);
    main.increaseScore();
    this_animator.removeEventListener(MotionEvent.MOTION_END, hurtPlayer);
    this.parent.removeChild(this);

Maybe you are looking for

  • Possibilities Web Dynpro for ABAP versus JAVA

    Hello, I would like to know whether WebDynpro for ABAP and Java have the same options, abilities and possibilities. e'm I able to produce the same results with WebDynpro for ABAP as Java. I would like to standardize on just one of the two and be sure

  • Using complexsection node (smartforms)

    I would like to print a table data by using the complexsection node in smart forms. Can you please tell me the procedure to do it. What I did is , 1. I create a complex section node under main window. 2. 1 table and 1 work area of required table type

  • Question about BootCamp/Windows licenses

    I currently have a MBP that I'd like to install Windows 7 on via BootCamp.  In 1-2 years I'll be upgrading to a MBP Retina.  When I transfer my data over, will the Windows partition transfer too?  Or will I have to buy another Windows 7 license? Basi

  • System becoming un-responsive after upgrade to Maverick

    After upgrading to Maverick I am experiencing massive performace problems to the point of the system not being usable. System: 2010 iMac Upgraded Yesterday morning, Upgrade process went smooth, no issues at first. First symptoms of problems were hick

  • 1760 as conf bridge DSPFarm

    Hello I have a 1760 with DSPs in it...i would like to use it as a DSP farm for Conferencing...i setup the dspfarm parameters in the router, how do i get it to be recognized in the CCM...i went to add new IOS bridge, typed in the IP address for the na