Structure of Game Classes for Display

[FONT=Calibri]Hi, I’m from C background and I’m new to AS3 & to OOP. I’m using Flex SDK and FlashDevelop. I’m trying to write a tic-tac-toe type of game to start me off, I’ve read numerous tutorials and I’ve now got my first little app up and running. Cool! :D[/FONT]

[FONT=Calibri]What I’d like to do with this game now is enhance it beyond the game board screen which currently fills the stage. I’d like to have the stage comprise an “instrument panel” on the left of the stage and my game board square on the right. (The instrument panel would have a “Start new game” button, a “Quit current game” button and a score board.)[/FONT]

[FONT=Calibri]Now my current AS3 code has roots in a game tutorial that I mashed up so the structure might not be ideal but I’m happy to change it. What I have is an MXML which just does view:Level. A “Level” class (extends Canvas) which starts up the game objects (ie the human player’s “cursor” and the animated game pieces) and redraws the stage in its enterFrame. And I have a GameObjectManager class which, you guessed it, manages the game objects, handling the mouse events and ENTER_FRAME events, positioning each game object and drawing them on a backBuffer. There are also two minor separate classes associated with the two game object types ie Player and Game Piece.[/FONT]

[FONT=Calibri]Ok so problem is what is the best way to achieve my goal of two separate “panels” on the stage - instrumentation and game board? I did some prototyping and found that I can still refresh the backBuffer from the Level.enterFrame without filling the stage by using Matrix, thus:[/FONT]


[FONT=Calibri]myCanvas.graphics.beginBitmapFill( GameObjectManager.Instance.backBuffer, new Matrix(1, 0, 0, 1, 150, 20));[/FONT]  
[FONT=Calibri]myCanvas.graphics.drawRect( 150, 20, GameObjectManager.Instance.backBuffer.rect.width,  GameObjectManager.Instance.backBuffer.rect.height);[/FONT]

[FONT=Calibri](myCanvas is a child of the Level singleton object).[/FONT]

[FONT=Calibri]What I feel I should be doing but don’t know how is to have the GameObjectManager drawing its own game board area, the new “Instrument Panel” class drawing its own buttons & scoreboard and Level class just pulling them together, yes? No? I’ve googled for answers but as I don’t really know what I’m looking for I didn’t find anything useful.[/FONT]

[FONT=Calibri]Thanks for any suggestions.[/FONT]