Well, having neat code is pretty useless in a game is you are going have
sync issues.
Furthermore, it's standard to have a game loop and a draw loop.

Plus, you are adding the overhead of using message queues.  Also, if you
are launching or using a thread for each sprite the game is going to slow
down significantly from all the overhead.

On Fri, Dec 2, 2011 at 10:20 AM, John Goche <johngoch...@googlemail.com>wrote:

>
> Well, my code uses handlers, which are specific to android, so at least I
> thought I'd post my code,
> so anyone with any comments on this android-specific code feel free to
> drop me a line.
>
> John Goche
>
> class TimeStampedMessage {
>
>   TimeStampedMessage(Handler handler, long when, int what) {
>
>     this.handler = handler;
>
>     this.when = when;
>
>     this.what = what;
>
>     this.timeStamp = System.nanoTime();
>
>   }
>
>   static void pauseTimers() {
>
>     for (int k = 0; k < TimeStampedMessage.timeStampedMessages.size();
> k++) {
>
>       TimeStampedMessage timeStampedMessage =
> TimeStampedMessage.timeStampedMessages.get(k);
>
>       long oldTimeStamp = timeStampedMessage.timeStamp;
>
>       long newTimeStamp = System.nanoTime();
>
>       System.out.println("When1: " + timeStampedMessage.when);
>
>       System.out.println(oldTimeStamp);
>
>       System.out.println(newTimeStamp);
>
>       timeStampedMessage.when -= (newTimeStamp - oldTimeStamp) / 1000000L;
>
>       System.out.println("When2: " + timeStampedMessage.when);
>
>       timeStampedMessage.handler.removeMessages(timeStampedMessage.what);
>
>     }
>
>   }
>
>   static void resumeTimers() {
>
>     for (int k = 0; k < TimeStampedMessage.timeStampedMessages.size();
> k++) {
>
>       Handler handler =
> TimeStampedMessage.timeStampedMessages.get(k).handler;
>
>       long when = TimeStampedMessage.timeStampedMessages.get(k).when;
>
>       int what = TimeStampedMessage.timeStampedMessages.get(k).what;
>
>       TimeStampedMessage.timeStampedMessages.get(k).timeStamp =
> System.nanoTime();
>
>       Message message = handler.obtainMessage(what);
>
>       handler.sendMessageDelayed(message, when);
>
>       System.out.println("resuming: when:" + when);
>
>     }
>
>   }
>
>   static void unloadMessages(Handler handler, int what) {
>
>     for (int k = 0; k < TimeStampedMessage.timeStampedMessages.size(); k++)
>
>       if (TimeStampedMessage.timeStampedMessages.get(k).handler == handler
> &&
>           TimeStampedMessage.timeStampedMessages.get(k).what == what)
>
>         TimeStampedMessage.timeStampedMessages.remove(k);
>
>   }
>
>   Handler handler;
>
>   long timeStamp;
>
>   long when;
>
>   int what;
>
>   static List<TimeStampedMessage> timeStampedMessages = new
> ArrayList<TimeStampedMessage>();
>
> }
>
> abstract class WorldState {
>
>   public abstract void enter(World world);
>
>   public abstract void timerExpired(World world, Message msg);
>
>   public abstract void update(World world, float deltaTime);
>
>   public abstract void exit(World world);
>
>   public void sendMessage(World world, long numMillis, int what) {
>
>     Message message = world.worldHandler.obtainMessage(what);
>
>     world.worldHandler.sendMessageDelayed(message, numMillis);
>
>     TimeStampedMessage timeStampedMessage = new
> TimeStampedMessage(world.worldHandler, numMillis, what);
>
>     TimeStampedMessage.timeStampedMessages.add(timeStampedMessage);
>
>   }
>
>   public void removeMessages(World world, int what) {
>
>     TimeStampedMessage.unloadMessages(world.worldHandler, what);
>
>
> world.worldHandler.removeMessages(World.WorldHandler.MESSAGE_WHAT_PRESENTATION_GHOST_ESCAPE);
>
>   }
>
> }
>
> Regards,
>
>
> John Goche
>
> --
> 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
>



-- 
~ Jeremiah:9:23-24
Android 2D MMORPG: http://solrpg.com/,
http://www.youtube.com/user/revoltingx

-- 
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

Reply via email to