Java-Gaming.org Hi !
 Featured games (83) games approved by the League of Dukes Games in Showcase (522) Games in Android Showcase (127) games submitted by our members Games in WIP (590) games currently in development
 News: Read the Java Gaming Resources, or peek at the official Java tutorials
Pages: [1]
 ignore  |  Print
 Scrolling tile game help  (Read 766 times) 0 Members and 1 Guest are viewing this topic.
Farscience

Innocent Bystander

 « Posted 2012-10-04 13:13:41 »

I'm working on a scrolling tile game (think minicraft) and i have two questions:

1. How do I make the screen move depending on where the player is?
2. How do I know which tiles to draw depending on which tiles on currently on screen (my method of this(looping through every single tile) doesn't work).

Any help would be appreciated, and any code examples would be greatly appreciated  .
Regenuluz
 « Reply #1 - Posted 2012-10-04 13:26:46 »

If you store your map in a 2d array, and you know which tile the player is supposed to be on, then it's easy to calculate which tiles to render.

Say the player is on (50, 50) and there can be a total of 40 tiles across the screen and 30 vertical. If you want to keep the player centered, then you just divide 40 by 2 and then you know you have to render x = 30..70 (40 tiles across) and same with the vertical position. 30 / 2 = 15, so y = 35..65.

QuicK

Junior Devvie

 « Reply #2 - Posted 2012-10-09 10:58:04 »

The way I would do this is:

Create a Map class with a 2d array of Tiles.

if the player has free movement rather than tile movment, I would find the nearest tile.

I would then take that tile and center the camera on it. (basically translate the matrix to that position)

I would only render tiles that are within the camera position.x +/- Display.getWidth()/2 and camera position.y +/- Display.getHeight()/2

You might need to play with the render distance to make sure tiles that are half on the screen and half off are still drawn.

If you still need help tomorrow, I might be able to throw something simple together for you
Pages: [1]
 ignore  |  Print

You cannot reply to this message, because it is very, very old.

 Add your game by posting it in the WIP section, or publish it in Showcase. The first screenshot will be displayed as a thumbnail.
 trollwarrior1 (28 views) 2014-11-22 12:13:56 xFryIx (70 views) 2014-11-13 12:34:49 digdugdiggy (49 views) 2014-11-12 21:11:50 digdugdiggy (43 views) 2014-11-12 21:10:15 digdugdiggy (37 views) 2014-11-12 21:09:33 kovacsa (61 views) 2014-11-07 19:57:14 TehJavaDev (65 views) 2014-11-03 22:04:50 BurntPizza (63 views) 2014-11-03 18:54:52 moogie (79 views) 2014-11-03 06:22:04 CopyableCougar4 (78 views) 2014-11-01 23:36:41
 theagentd 29x basil_ 27x HeroesGraveDev 23x BurntPizza 22x Riven 19x Spasi 18x princec 17x KevinWorkman 13x SHC 11x kpars 11x Grunnt 10x gouessej 10x Nate 9x Longarmx 9x CopyableCougar4 8x LiquidNitrogen 8x
 Understanding relations between setOrigin, setScale and setPosition in libGdx2014-10-09 22:35:00Definite guide to supporting multiple device resolutions on Android (2014)2014-10-02 22:36:02List of Learning Resources2014-08-16 10:40:00List of Learning Resources2014-08-05 19:33:27Resources for WIP games2014-08-01 16:20:17Resources for WIP games2014-08-01 16:19:50List of Learning Resources2014-07-31 16:29:50List of Learning Resources2014-07-31 16:26:06
 java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org