Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   анимация человека при перемещении стрелочками (http://www.flasher.ru/forum/showthread.php?t=184298)

XMON 15.09.2012 15:19

анимация человека при перемещении стрелочками
 
вот код который по идее при нажатии клавиш должен двигать героя и проигрывать анимацию ходьбы.
но у меня пишет:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at _fla::MainTimeline/frame1()
как исправить проблему ?
Код AS3:

 
    var leftPressed:Boolean = false;
    var rightPressed:Boolean = false;
 
    movieClip_1.addEventListener(Event.ENTER_FRAME, fl_MoveInDirectionOfKey);
    stage.addEventListener(KeyboardEvent.KEY_DOWN, fl_SetKeyPressed);
    stage.addEventListener(KeyboardEvent.KEY_UP, fl_UnsetKeyPressed);
 
    function fl_MoveInDirectionOfKey(event:Event)
    {
      if (leftPressed)
      {
          movieClip_1.x -= 5;
          gotoAndStop (2)
      }
      if (rightPressed)
      {
          movieClip_1.x += 5;
          gotoAndStop (2)
      }
      if (leftPressed != true)
      {
          gotoAndStop (1)
      }
      if (rightPressed != true)
      {
          gotoAndStop (1)
      }
    }
 
    function fl_SetKeyPressed(event:KeyboardEvent):void
    {
      switch (event.keyCode)
      {
          case Keyboard.LEFT:
          {
            leftPressed = true;
            break;
          }
          case Keyboard.RIGHT:
          {
            rightPressed = true;
            break;
          }
      }
    }
 
    function fl_UnsetKeyPressed(event:KeyboardEvent):void
    {
      switch (event.keyCode)
      {
          case Keyboard.LEFT:
          {
            leftPressed = false;
            break;
          }
          case Keyboard.RIGHT:
          {
            rightPressed = false;
            break;
          }
      }
    }

если проблема зависит не от кода,то вот исходник - ***

в слове - depositfilеs.com последняя буква "е" написана на русском т.к depositfilеs.com не пишется на этом сайте.

Isfet 15.09.2012 17:22

мувиклип то создан? или если экземпляр на сцене ему присвоено имя?
если все сделано , пересохраните исходник под 5.0 версию.
У меня все работает, вкорее всего у вас не задано имя экземпляра.
Переносите персонажа из библиотеки на сцену, нажимаете ctrl+F3, там в поле имя экземпляра вводите movieClip_1. Есть второй вариант, но он с классами, а судя по вашему коду вы с ними не знакомы.

mooncar 15.09.2012 17:33

XMON, исходники нужно прикреплять к сообщению, а не использовать сомнительные методы для обхода автоцензора. Отредактируйте свой пост.
http://www.flasher.ru/forum/showthread.php?t=179076

KVinS 16.09.2012 17:08

А почему
Цитата:

Сообщение от XMON (Сообщение 1096076)
movieClip_1.x -= 5;

но
Цитата:

Сообщение от XMON (Сообщение 1096076)
gotoAndStop (2);

а не
Код AS3:

movieClip_1.gotoAndStop (2);

?


Часовой пояс GMT +4, время: 11:52.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.