![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jun 2006
Сообщений: 55
|
Есть рабочий код, который рисует квадрат:
package { import flash.display.*; public class test extends Sprite { public function test() { init(); } private function init():void { trace("init"); var test: Shape = draw(); test.x = 200; test.y = 200; addChild(test); } private function draw(): Shape { var rect:Shape = new Shape(); rect.graphics.lineStyle(1, 0x000000); rect.graphics.beginFill(0xCCCCCC); rect.graphics.drawRect(0, 0, 20, 20); rect.graphics.endFill(); return rect; } } } Хочу функцию рисования квадрата вынести в отдельный класс. Вероятно я чего-то не так делаю, потому что приведенный далее код не работает. Основной файл проекта содержит код: package { import classes.MyClass; import flash.display.*; public class test extends Sprite { public function test() { init(); } private function init():void { trace("init"); var test: Shape = new MyClass(); test.x = 200; test.y = 200; addChild(test); } } } package classes { import flash.display.*; public class MyClass extends Shape { public function MyClass() { draw(); } private function draw(): Shape { var rect:Shape = new Shape(); rect.graphics.lineStyle(1, 0x000000); rect.graphics.beginFill(0xCCCCCC); rect.graphics.drawRect(0, 0, 20, 20); rect.graphics.endFill(); return rect; } } } вызывается конструктор класса MyClass, в свою очередь в этом конструкторе вызывается функция draw(), которая возвращает объект типа Shape, который, по моему пониманию, после вызова должен появиться на экране, но не появляется. Что делаю неправильно? |
|
|||||
|
strange mood
|
Вы добавляете на сцену экземпляр MyClass, который наследуется от Shape и в котором должен рисоваться квадрат.
Но вы не рисуете квадрат в нём, в нём вы создаёте шейп rect, и рисуете квадрат в этом rect, и после этого ничего с ним не делаете. Рисовать нужно в самом MyClass. Короче:
__________________
тонкий тролль, осеянный благодатью |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 55
|
GAIKER, спасибо большое, вы правы.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:59. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|