Hello Dianne , Thank you for you response. according to your words, I do not need that each Box will be as a Surface view but only one game surface view and the only way I can mange the game objects(Boxes etc.) is by using a "low level" management of drawing and event handling. If I trying to answer my own question then option (4) is the way to do it. I thought I will design my game "Flash style" where each object draw itself and the main Activity will handle the events and drawing Threads but I presume we are not there yet.
It helped me a lot to read "Playing with graphics in Android Tutorial" (http://www.droidnova.com/playing-with-graphics-in-android- part-i,147.html) which spread a light on hot to use surface view and animation. Regards to you all ayanir On Jul 14, 7:06 pm, Dianne Hackborn <hack...@android.com> wrote: > I very strongly recommend that you don't use multiple surface views. A > surface view is a very heavy-weight object, and intended for the primary > area of the window -- for example, the video part of a video player, the > playfield of a game, etc. It is basically an overlay, and actually its own > separate full window that is simply being Z-ordered with your main window to > make it look like they are related. > > I don't know what your "complicated" animation sequence is, but just having > some animation is not enough reason to use a surface view. Worst case, you > can just create an off-screen bitmap that you draw the animation in and > update the screen by drawing that bitmap to the screen with the normal > invalidate() mechanism. If you need the performance of a surface view, then > you should design your game so that your entire playfield is on surface > view, and you take care of drawing each of your boxes inside of that and > manage them however you want (not as their own views). > > > > On Tue, Jul 14, 2009 at 4:27 AM, ayanir <ayanir...@gmail.com> wrote: > > > Hello, > > > I'm a new Android developer. > > I would like to make a simple game using the SurfaceView (Canvas > > drawing). > > > the game has a a custom Object name Box. Box can draw itself and need > > to get an event when it is clicked. when it does, there is an > > animation sequence coming out of the box like a "jumping clown". > > I have several Boxes on the screen when each of them can be activated. > > Several Boxes animation can also be presented simultaneously. > > > Here it gets tricky: > > Since I have a "complicated" animation sequence, each Box extends > > SurfaceView. > > The problem is I haven't figured it out how can I handle several > > SurfaceView's drawing using only one Thread (in order to present an > > animation I need to use one) and also how can I get the onClick/ > > onThouch event from my Activity to each of my Boxes. > > > The LunarLanding example in the SDK uses only one Thread but also uses > > only one SurfaceView which manage the animation of the game components > > (there are no several game components SurfaceViews). Also, there is no > > need to get onTouch event, so this example doesn't match to my case. > > > I have several questions about what is the right approach do code > > this: > > 1. Should I use Box extends SurfaceView? > > 2. Can SurfaceView gets user events like onTouch/onClick? > > 3. Is there a way to add to the "main" SurfaceView another SurfaceView > > (Box)? > > 4. If none of the above questions is positive, should I use one > > SurfaceView (and one Thread) and try to map the other Boxes on the > > screen for user event handling. I mean Box only paints itself but the > > user event is being handled by me (not by the OS). > > 5. Should each Box (SurfaceView) should handle it's own Thread in case > > of animation (it is not good design but it is also an option)? > > 6. do you have any other proposal? > > > I know that these are a lot of questions but I'll appreciate if you > > can answer some of them. > > > Thanks in advance, > > ayanir > > -- > Dianne Hackborn > Android framework engineer > hack...@android.com > > Note: please don't send private questions to me, as I don't have time to > provide private support, and so won't reply to such e-mails. All such > questions should be posted on public forums, where I and others can see and > answer them. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---