Как нарисовать круг внутри Border Container, используя графический объект?
Мое основное требование - нарисовать круг внутри BorderContainer
с макетом, установленным в BasicLayout
Я запускаю этот метод в CREATION_COMPLETE
событие объекта BorderContainer.
this.graphics.beginFill(0xff0000);
this.graphics.lineStyle(1, 0x00ff00);
this.graphics.drawCircle(0, 0, 50);
this.graphics.endFill();
Извините за грубость, но почему я ничего не вижу? Я знаю, что, должно быть, мне здесь не хватает чего-то ОЧЕНЬ базового Могу ли я просто рисовать, как это, или я должен рисовать в каком-то другом событии?
PS: я знаю, что могу создать объект Ellipse и легко добавить его в контейнер границы, но я хотел бы знать, как я могу сделать это, используя графический объект.
3 ответа
В былые времена вы переопределяли updateDisplayList и рисовали там. Я предполагаю, что вещи обновляются в какой-то момент после завершения создания. Поскольку вы рисуете, а не добавляете объект на сцену, ваш круг на самом деле не является частью какого-либо жизненного цикла и будет очищаться всякий раз, когда список отображения будет загрязнен / перерисован. Надеюсь, это поможет.
Я вижу две возможные проблемы.
- Вы забыли добавить объект BorderContainer на сцену
- это не ссылка на ваш объект BorderContainer. Попробуйте отследитьэто в вашем списке событий или измените на target или currentTarget
var _shape:Shape=new Shape();
addchild(_shape);
_shape.graphics.lineStyle(1, 0x000000, 1);
_shape.graphics.drawRect(10,5,100,100);
Использование приведенного выше кода покажет прямоугольник на вашем экране.