У меня проблема с вызовом функции класса в моем классе GamePlay - PullRequest
0 голосов
/ 23 марта 2011

Вот мой GamePlay.as

package com.work.scripts
{
    import flash.display.Stage;
    import flash.events.Event;
    import flash.utils.Timer;
    import flash.events.TimerEvent;

    import com.work.scripts.player.Player;

    public class GamePlay
    {
        private var player:Player;
        private var stageRef:Stage;

        //timers
        private var gameDelay:Timer = new Timer(500, 1);

        public function GamePlay(stageRef:Stage)
        {
            this.stageRef = stageRef;

            //player variables
            player = new Player();

            player.x = 400;
            player.y = 500;
            //

            gameDelay.addEventListener(TimerEvent.TIMER_COMPLETE, StartGame, false, 0, true);
            gameDelay.start();
        }

        private function StartGame(e:TimerEvent):void
        {
            stageRef.addChild(player);

            stageRef.addEventListener(Event.ENTER_FRAME, MainGameLoop, false, 0, true);
        }

        private function MainGameLoop(e:Event):void
        {
            player.Movement();
        }
    }
}

и мой класс Player.as

package com.work.scripts.player
{
    import flash.display.MovieClip;
    import flash.events.Event;

    import scripts.utils.Bounds;

    public class Player extends MovieClip
    {
        private var bounds:Bounds = new Bounds();

        public function Player()
        {

        }

        public function Movement():void
        {
            startDrag(true, bounds.playArea);
        }
    }
}

Я получаю эту ошибку

TypeError: Error #1006: Movement is not a function.
    at com.socialplay.scripts::GamePlay/MainGameLoop()

Означает ли это, что я должен создавать функции перемещения для всех своих объектов в GamePlay.as, я предполагал, что могу просто вызывать функции в других классах, если они общедоступны.

1 Ответ

0 голосов
/ 23 марта 2011

Ваш код в порядке, я просто скопировал 2 класса в новый проект и смог вызвать Player.Movement() просто отлично каждый кадр. Вы все еще получаете эту ошибку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...