2013-08-23 4 views
0

Я очень новичок в AS3. Я хотел бы создать форму, определенную в моем собственном классе конструктора.AS3: Как рисовать фигуры в моем классе

Он должен создать форму при создании класса. (Constructor)

Я прокомментировал свою покупку в следующем коде:

ballShape класс

public class ballShape { 

     public function ballShape() { 
      // define shape properties. 
      // create shape and put that in x = 0, y = 0 
     } 

    } 

Любой помогает будет удивительным.

ответ

2

Вы можете легко сделать это, расширяя свой класс Shape или Sprite

Вот код

public class ballShape extends Sprite { 

    public function ballShape() { 
     // define shape properties. The graphics object is already added to your Sprite, no need to manually addChild() this object. 
     graphics.beginFill(color, alpha); // you can begin a fill with this method, there are also methods to start a bitmap fill, gradient fill. 
     graphics.drawRect(x, y, width, height); // draw a shape 
     graphics.endFill(); 
    } 

} 

Хотя форма может иметь такую ​​же функциональность для рисования фигур и линий, я выбрал Sprite, потому что:

  • Вы будете иметь интерактивность и иметь возможность отправлять события из этого класса
  • Вы будете иметь набор полезные свойства, которыми обладает Sprite.

Для получения дополнительной информации о классе Graphics, пожалуйста, обратитесь к http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Graphics.html

+0

Спасибо за ваши объяснения. Я пытаюсь создать форму с вашим подходом, вы можете видеть мои коды на стороннем сайте в [здесь] (http://textsave.de/VaK). После создания экземпляра из 'ballShape' он проследит что-то правильно. Но после запуска не отображается никаких фигур. –

+1

при создании объекта ballShape (var ball: ballShape = new ballShape()) вам нужно добавить этот объект в список отображения (addChild (ball)); В противном случае ballShape создает форму, но сама ballShape не добавляется на сцену. –

+0

Спасибо. Он работает как шарм. –

Смежные вопросы