Форум 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=161553)

mihael_p 25.07.2011 18:03

Делаю арканоид. Взаимодействие биты и мяча в основном классе.
 
Уважаемые ! Я в AS3 - недавно, поэтому много чего не знаю.
Дали задание - сделать арканоид.Сначала писал во Фрейме, все летало и разбивало как надо, потом сказали перевести по классам, теперь у меня 4 класса : Main, Brick, Paddle, Ball каждый в отдельном файле.
Подскажите пожалуйста, где какие функции писать и как сделать так, что бы объекты из разных классов начали взаимодействовать друг с другом ?

RaVeN-Nikma 26.07.2011 20:08

Вложений: 1
Вопрос очень обширный. Словами так не расскажешь, напоял тебе на скорую руку игру. Поскольку ты компилируешь через Adobe Flash, а не через SDK, там есть и fla фаил (CS5)

Алгоритмы движения/отскока первое что в голову пришло, особо не замораживался, так что подставляй свои, раз уже делал

П.С. кирпичи конечно надо removeChild делать, а не просто visible = false

mihael_p 27.07.2011 13:01

Огромное спасибо за код, очень интересно сделан, честно говоря не ожидал, что придет помощь да еще и такая ! Огромное спасибо Вам !

mihael_p 27.07.2011 17:57

Спасибо Вам еще раз, у меня возник другой вопрос : как сделать так, что бы при движении биты в противоположную сторону движения мяча изменялся угол отскока ?Спасибо.

In8Finity 12.01.2013 17:52

Посмотрел вышеприведённые исходники.
Возник тоже вопрос небольшой. (скорее, касающийся ООП в целом, а не конкретно этой задачи)

Так вот. В этом арканоиде есть несколько классов - Main, Paddle, Brick, Ball...
И в каждом этом классе вначале есть такая вот конструкция:
Код AS3:

....
  if (stage) init();
  else addEventListener(Event.ADDED_TO_STAGE, init);
  }
    private function init(e:Event = null):void
  {
  removeEventListener(Event.ADDED_TO_STAGE, init);
  ....

Скажите, эту конструкцию действительно желательно вставлять в начало каждого класса? Или достаточно будет только в самое начало в Main вставить и всё?

Gaen 13.01.2013 02:25

In8Finity, эта конструкция нужна для того, чтобы гарантированно получить доступ к сцене на момент инициализации объекта. Соответственно, вставлять ее нужно только в те классы, которым для инициализации нужна сцена.


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

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