Re: A89: Re: Re: Tile-based Game Engine in C
[Prev][Next][Index][Thread]
Re: A89: Re: Re: Tile-based Game Engine in C
this works too;
/*make a structure to hold the tile data (this one holds a 16x16 grey tile*/
typedef struct
{
unsigned int darkplane [16];
unsigned int lightplane [16];
} GREYTILE;
/*store your tiles in a structure array*/
GREYTILE tileset [1] = {
//id #0 (a 16x16 black box)
{{0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF},
{{0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF}}
}
/*then write a function to draw the sprite, passing a pointer to the array*/
void DrawTile (int x, int y, *GREYTILE, int offset)
{ //your code here
}
this works well, becuause you keep all the data together in memory, and all
you are doing is passing a pointer to the draw function.
Mike
>From: Joshua Coyne <antgage@apk.net>
>Reply-To: assembly-89@lists.ticalc.org
>To: assembly-89@lists.ticalc.org
>Subject: Re: A89: Re: Re: Tile-based Game Engine in C
>Date: Sun, 19 Nov 2000 17:51:16 -0500
>
>
>in C would it be something similar to:
>
>int sometile1[] = { 0x...};
>
>char tilearray[] = {&sometile1,...};
>
>Olle Hedman wrote:
>
> > You don't save the whole tiles in the array.
> > What you do is you have an array with say a byte that represents which
>tile
> > number to display.
> > then you have a pointerlist to the different sprites. if you find say
>the
> > number 32 in your array, you take the sprite located at the place the
>32:nd
> > pointer in the list points out and writes it to screen at the position
> > designated to that place in the array.
> > This way you change the list when you change levels, and reuse the same
> > sprite at multiple places witout dubbling the data.
> >
> > ///Olle
> >
> > ----- Original Message -----
> > From: "Josh 'Gage'" <antgage@apk.net>
> > >
> > > Yes, I believe you would create all the textures as 32x32 tiles, then
>your
> > > 'map' would basically be an array of what tiles to display. for
>example in
> > C
> > > you can, I've never created one so I may be missing something...
> > >
> > > What are your thoughts pros? heh :)
>
>
_________________________________________________________________________
Get Your Private, Free E-mail from MSN Hotmail at http://www.hotmail.com.
Share information about yourself, create your own public profile at
http://profiles.msn.com.