Sprite movement in scrollable background

Hi all,

I am writing a platform game in MIDP 2.0. My problem (besides others) is that i try to make a sprite move between two points in a specific part of the screen (an enemy that will move from point A to point B and backwards until it gets killed).

The player should be able to see the sprite when he approaches there.

the problem is that when i scroll the background to move my hero (by moving all the layers, including the sprite), the sprite that i want to move between the 2 points, is moving too. so if i dont stop moving it wont stop either!

i need a way to decide when the sprite will change direction (from point A to point B and backwards), without comparing the x and/or y coordinates of this sprite (Which is changing when i move the player)

any advise of how i should do this?

many thanks in advance

I’m not sure if i understand what you are trying to do. But the best way to handle a scrolling engine is to use a camera.

This camera would be a class that you design, it has an area (which is the maximum visible area of the mobile phone) and what you do is move the camera. So lets say your sprite moves a few pixels to the right, you just move the camera with him.

Inside this camera class you would check to see that X and Y are >=0 and the bottom corner of the camera wont pass through the maximum length of the map.

This gives you complete independency and allows you to move the camera at any time regardless of the sprite ( perfect for a story driven thing where if lets say you want to move the camera to a different sprite, its easy)

Also, by doing what I said about checking the values, when the player arrives at the edge of the map, the map would stop scrolling and the sprite would move from the middle of the screen (like in zelda). This is exactly how a 2d engine should be written. Good luck (and I hope that helps)

Hi, thanks for your reply

actually i am not trying to move the camera. This is quite easy with MIDP 2.0. what i want is to have some enemy sprites placed in some places. These enemies should move between two specific points.

For now i just solved this problem by using an integer variable and move the sprite left and right according to each values. I hope it will work for more enemies too.

Meanwhile if anyone has a better approach i would like to hear it

Thanks