Я создаю базовое приложение для рисования в Adobe AIR с помощью Flash Builder 4.5. Прямо сейчас пользователи рисуют на Spark BorderContainer, рисуя непосредственно на обложке BorderContainer.
Например:
var g:Graphics = drawBC.skin.graphics(); //drawBC is the id of my BorderContainer
g.drawWithMouse() // series of listeners that draw only when the user's mouse is clicked
Прямо сейчас, линии, которые пользователь рисует, никогда не стираются, и пользователи будут продолжать рисовать поверх своих предыдущих отметок.
Если я это сделаю:
g.clear();
BorderContainer, кажется, исчезает, так как граница больше не видна, хотя объект все еще там. Кроме того, слушатели, которые должны определять, щелкнул ли пользователь мышью по BorderContainer, не работают, даже если я никогда не удалял слушателей.
trace(g) //isn't null
trace(drawBC) //isn't null
trace(drawBC.enabled) //prints true
Что я делаю не так? Как я могу очистить BorderContainer, чтобы снова рисовать вещи на новом чистом листе? У меня такое чувство, потому что я очищаю графику скина, но если я использую drawBC.graphics, линии рисуются под фоном и их не видно.