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