Разрешить Предупреждение: 1082: Проблема при миграции: метод gameThread будет работать по-другому в ActionScript 3.0 - PullRequest
1 голос
/ 28 марта 2019

С тех пор как я перешел на Adobe Flash 2017+, я получил предупреждения 1082/1083.Предупреждение: Warning: 1082: Migration issue: Method gameThread will behave differently in ActionScript 3.0 due to the change in scoping for the this keyword. See the entry for warning 1083 for additional information.

Хотя единственная ошибка, которую я получаю, заключается в размещении событий внутри классов, я не могу добавить события мыши или какие-либо события без этих предупреждений и не знаю, как их исправить...
Люди предложили удалить super(), что не является решением.

Пример события, которое я добавил к ошибке основного кода, появляется в строке "addEventListener ...."

package  {

    import flash.display.MovieClip;
    import flash.events.Event;
    import data.Player;


    public class Game extends MovieClip {

        private var players:Array = new Array();

        public function Game() {
            super();

            resetPlayers();
            addEventListener(Event.ENTER_FRAME, this.gameThread);
        }

        private function resetPlayers():void{
            for (var i:int = 0; i < this.numChildren; i++){
                if (getChildAt(i) is Player){
                    players.push(getChildAt(i));
                }
            }
        }

        protected function gameThread(event:Event):void{
            for (var i:int = 0; i < this.players.length; i++){
                players[i].fall();
            }
        }
    }
}

1 Ответ

0 голосов
/ 02 апреля 2019

Вы сможете решить эту проблему, просто удалив ключевое слово this .В этом случае он не нужен.

addEventListener(Event.ENTER_FRAME, gameThread);

В AS3 методы рассматриваются в контексте (ваш Game класс), который он определил.То же самое для других применений этого ключевого слова.Players - это переменная класса Game, resetPlayers () и gameThread () являются методами Game ->, поэтому все они в одном контексте.

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