OpherV Posted April 19, 2014 Share Posted April 19, 2014 What would be the best way to iterate over all sprites? I'm placing sprites randomly on screen and I don't want the newly placed elements to collide with any other elements.My sprites are nested in their own groups sets, so a shallow forEach on game.world will not help in this case... Link to comment Share on other sites More sharing options...
plicatibu Posted April 19, 2014 Share Posted April 19, 2014 I'm doing a game that puts sprites at random positions and I that can't collide too. I solved this problem doing the following: 1 - I have a matrix of sprites 2 - A matrix of positions 3 - I created a matrix of n lines x m columns and I have some functions that generate random positions (and assure that repeated positions don't be used). These positions are put in the matrix of positions. 4 - Then I randomly assign the positions in the matrix for sprites in the sprites array. Link to comment Share on other sites More sharing options...
ForgeableSum Posted January 4, 2015 Share Posted January 4, 2015 @plicatibu Care to explain how you created a matrix of sprites and their positions? Link to comment Share on other sites More sharing options...
plicatibu Posted January 4, 2015 Share Posted January 4, 2015 I didn't understand your question quite well, so I'm answering what think you asked:I know how many sprites I want to show in the screen then I create each sprite and add it to.the array.To access an element I do something like tile.x, tile.width, and so on.For the positions I do the following: Given the screen dimensions, sprite dimensions and space between sprites (so they don't overlap), I determine how many sprites in a row and in a column I can have.The matrix contains the number of rows x number of columns elements that are the same as the number of positions available for sprites.Then I determine 2 functions (say getX and getY) that will return position in pixels given the position number.These are used to set sprite's x and y position.Notice that the screen dimensions used in the calculation above does not include space needed for HUD Link to comment Share on other sites More sharing options...
Recommended Posts