Четверг, 18 Апреля 2024, 20:36

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Adobe Flash и Создание флэш-игр » Композиция
Композиция
GavolotДата: Пятница, 18 Мая 2012, 22:09 | Сообщение # 1
Последователь Тени
Сейчас нет на сайте
Разобрался я с такой темой, как сделать, что-то на вроде двойного наследования, но вот простой вопрос, Есть интерфейс Structure в нем определена функция Txt, тут все понятно и нормально, далее идут 2 класса Structure и Unit, через Unit в композиции:

класс Structure:
Code

                    package  {
  import flash.display.Shape;
   
  public class Construct extends Shape implements Structure {
   var c_red:uint = 0xFF0000;

   public function Construct() {

   }
   public function Txt()
   {
     trace("Воин");
     graphics.beginFill(c_red,1);
     graphics.drawCircle(70,70, 100);
   }

  }
   
}
                         


класс Unit:
Code

package  {
  import flash.text.TextField;
   
  public class Unit extends TextField implements Structure {
   var Constr:Construct;

   public function Unit() {
    // constructor code
    Constr = new Construct();
     
    Constr.Txt();
     
    text = "Казарма";
    x = 50;
    y = 50;
   }
    
   public function Txt()
   {
    return Constr.Txt();
   }
    
  }
   
}
                    


Так вот, я все-таки хочу попробовать совместить Shape и TextField, но блин когда я пытался внутри Unit или Structure как то вызвать addChild нечего не вышло, как это обойти, ведь слово "Воин" в trace показывается, а значит не смотря на то, что я расширяю TextFireld, с помощью композиции, я все-таки добрался до Structure. Но вот как отобразить круг, который рисуется в классе Construct в методе Txt, который типо наследуется не знаю.


В общем что-то делаю, но пока не пойму ни как :)
Тень - выражение основной сущности человека.
SoWaДата: Суббота, 19 Мая 2012, 10:39 | Сообщение # 2
частый гость
Сейчас нет на сайте
Слушай, а не проще сделать класс, наследуемый от MovieClip и в нем размещать все, что душе угодно? А то наследование с реализацией интерфейса - страшновато.
Внутри Structure ты ничего не создашь - это интерфейс.
Внутри Unit тоже - это TextField, у него нет метода addChild.

Добавлено (19.05.2012, 10:39)
---------------------------------------------
Если ты опечатался и в Construct у тебя тоже ниче не добавляется - опять же потому, что у Shape нет метода addChild.
Пиши класс-наследник от мувиклипа, в нем программно создавай шейп и текстфилд, размещай и работай с ними изнутри.


ActionScript-программист. Так же Flash Media Server, C#, PHP. Рисовать не умею и не люблю.
Ищу проект, желательно где есть грамотный менеджер, дизайнер и художник.
GavolotДата: Суббота, 19 Мая 2012, 14:44 | Сообщение # 3
Последователь Тени
Сейчас нет на сайте
SoWa, спасибо за разъяснения) Я вообще только начинаю во всем этом)) Синтаксис С++ мне конечно помог понять ООП, но кое-где я еще путаюсь. +

В общем что-то делаю, но пока не пойму ни как :)
Тень - выражение основной сущности человека.
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Adobe Flash и Создание флэш-игр » Композиция
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг