onEnterFrame Flex SDK

Hi !

Quick (i think) Flex SDK question.

My workflow is this : I’m using FlashDevelop to edit and free Flex SDK to compile.

(Thanks wxvxvw for helping me to get this working!)

Let’s say I compile the following code ( from Keith Peters’ AS3 Animation ) :

package com.galland.tests
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
import flash.display.StageAlign;
import flash.display.StageScaleMode;

public class ShipSim2 extends Sprite
{
    private var ship:Ship;
    private var vr:Number = 0;
    private var thrust:Number = 0;
    private var vx:Number = 0;
    private var vy:Number = 0;
    public function ShipSim2()
    {
        init();
    }
    
    private function init():void
    {
        stage.scaleMode = StageScaleMode.NO_SCALE;
        stage.align = StageAlign.TOP_LEFT;
        ship = new Ship();
        addChild(ship);
        ship.x = stage.stageWidth / 2;
        ship.y = stage.stageHeight / 2;
        addEventListener(Event.ENTER_FRAME, onEnterFrame);
        stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
        stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
    }
    
    private function onKeyDown(event:KeyboardEvent):void
    {
        
        switch(event.keyCode)
        {
            case Keyboard.LEFT :
            vr = -5;
            break;
            
            case Keyboard.RIGHT :
            vr = 5;
            break;
            
            case Keyboard.UP :
            thrust = 0.2;
            ship.draw(true);
            break;
            
            default :
            break;
        }
    }
    
    private function onKeyUp(event:KeyboardEvent):void
    {
        ship.rotation += vr;
        var angle:Number = ship.rotation * Math.PI / 180;
        var ax:Number = Math.cos(angle) * thrust;
        var ay:Number = Math.sin(angle) * thrust;
        vx += ax;
        vy += ay;
        ship.x += vx;
        ship.y += vy;
        var left:Number = 0;
        var right:Number = stage.stageWidth;
        var top:Number = 0;
        var bottom:Number = stage.stageHeight;
        if (ship.x - ship.width / 2 > right)
        {
            ship.x = left - ship.width / 2;
        }
        else if (ship.x + ship.width / 2 < left)
        {
            ship.x = right + ship.width / 2;
        }
        if (ship.y - ship.height / 2 > bottom)
        {
            ship.y = top - ship.height / 2;
        }
        else if (ship.y < top - ship.height / 2)
        {
            ship.y = bottom + ship.height / 2;
        }
    }
}

}

Anytime I use “onEnterFrame” (line 40) I get this error:

“Access of undefined property onEnterFrame”

Just not sure why and can’t seem to find an answer through searching!

Thanks in advance for anyone’s help !

Galland
:inc: Who’s buried in Grant’s Tomb?