Сообщения без ответов | Активные темы Текущее время: 27 май 2017, 02:33



Ответить на тему  [ Сообщений: 2 ] 
Помогите Нубу с Нубов 
Автор Сообщение
Новичок

Зарегистрирован: 08 мар 2017, 17:21
Сообщения: 1
Сообщение Помогите Нубу с Нубов
Привет, решил наконец-то начать програмировать в класах, читал книгу Мука, но ивдимо я полний нуб.Воопщем моя проблема вот в чем:
1.Написал код чтоби виводить изображение на екран
  1. package{
  2.    import flash.display.MovieClip;
  3.    import flash.events.Event;
  4.    public class Bird extends MovieClip{
  5.       public function Bird(){
  6.          bird.addEventListener(Event.ENTER_FRAME, Enter);
  7.       }
  8.       public Enter(e:Event):void{
  9.          var bird:Bird = new Bird();
  10.          addChild(bird);
  11.          bird.y++;
  12.       }
  13.    }
  14. }



Но он не работает, скажите, в чем проблема?


08 мар 2017, 17:28
Профиль
Модератор
Аватара пользователя

Зарегистрирован: 28 окт 2009, 15:20
Сообщения: 1768
Откуда: Воронеж
Сообщение Re: Помогите Нубу с Нубов
Во-первых, ты подключаешь слушатель к несуществующему и необъявленному объекту bird.

Во-вторых, функция слушателя в каждом кадре создает новый объект и помещает его на сцену, но ничего не перемещает. Твои птицы просто накладываются друг на друга. Кроме того твой класс создаёт сам себя в каждом кадре. Если бы твой код запустился, то память компьютера забивалась бы в геометрической прогрессии.

В-третьих, пропущено слово function в объявлении функции Enter. В общем, начинай читать Мука сначала. :)

Программирование в классах подразумевает наличие главного класса, например, класс Main. В классе Main затем объявляется свойство bird. В конструкторе класса Main, который вызывается автоматически при старте программы, создается объект new Bird(), помещается на сцену. После чего назначается слушатель кадров. И уже в функции слушателя нужно перемещать птицу.

  1. package
  2. {
  3.    import flash.display.MovieClip;
  4.    import flash.events.Event;
  5.  
  6.    public class Main extends MovieClip
  7.    {
  8.       public var bird:Bird = null;
  9.  
  10.       public function Main()
  11.       {
  12.          bird = new Bird();
  13.          this.addChild( bird );
  14.          bird.x = stage.stageWidth * 0.5;
  15.          this.addEventListener( Event.ENTER_FRAME, enterFrame );
  16.       }
  17.  
  18.       private function enterFrame( e:Event = null ):void
  19.       {
  20.          bird.y++;
  21.       }
  22.    }
  23. }

_________________
Читайте на здоровье СПРАВКУ по ActionScript и РУКОВОДСТВО по Adobe Flash!


17 май 2017, 11:14
Профиль ICQ
Показать сообщения за:  Поле сортировки  
Ответить на тему   [ Сообщений: 2 ] 

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron