⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 graphic.h

📁 国外一套很好的游戏代码,款经典的小游戏 希望大家提出宝贵意见 让我们一起进步
💻 H
字号:
/*	graphic.h		(c) Richard Thrippleton	Licensing terms are in the 'LICENSE' file	If that file is not included with this source then permission is not given to use this source in any way whatsoever.*/struct SDL_Surface;struct SDL_Rect;struct sbox //Bounding box on screen{	int x,y,w,h; //Co-ordinates, width and height};class graphic //A sprite object{	public:	static const int ISIZE=512; //Graphics index size	enum {LOGO=0,FIRE=1,NAV=2,WARP=3,PANEL=4,GRID=5,POS=6,TRG=7}; //Special gfx index/file numbers	enum {BLACK=0,RED=1,LIGHTRED=2,GREEN=3,LIGHTGREEN=4,BLUE=5,LIGHTBLUE=6,YELLOW=7,ORANGE=8,PURPLE=9,GREY=10,DARKGREY=11,WHITE=12}; //Colour values	static void init(); //Initialise the graphic system data	static void setup(bool big,bool full); //Setup the screen, with big as true sets up an extra large window, full for fullscreen	static void blit(); //Commit all graphics to the screen	static graphic* get(int indx); //Fetch a graphic sprite by index	static void string(char* str,int x,short y,bool opq); //Render a string to the screen, string and co-ordinates given, can put it in a (black) opaque box if necessary	static void box(sbox* box,int col); //Render a box of given dimensions and color to the screen	static void clip(sbox* box); //Set the graphics clipping box	static void pix(int x,short y,short col); //Render a pixel to the screen	static sbox dimension(); //Return the dimensions of the screen as an sbox	static void line(int x1,short y1,short x2,short y2,short col); //Draw a line with given colour and co-ordinates	static void embed(); //Embed screen so far as part of unerasable background	static void clean(); //Erase off screen that which has been drawn since last time	void draw(int x,short y,short rot,short zout,short haze,bool trg); //Draw this graphic at given co-ordinates, rotation and zoom-out, with given haze percentage. trg determines if targetting crosshairs are drawn	private:	enum {DTYP_PIX,DTYP_LINE,DTYP_RECT,DTYP_CLIP}; //Drawn types (see dtyp)		graphic(int indx); //Constructor to create a clean graphic object	void load(); //Load sprite from file	void calculate(int rot,short zout); //Calculate a rotation and zoom	static graphic* graphics[ISIZE]; //Index of available graphic objects (sprites)	static SDL_Surface* screen; //Main drawing surface	static SDL_Surface* font; //Font store	static SDL_Surface* cloak; //Cloaking haze image	static unsigned long cols[16]; //Colour keys, defined at initialisation	static int nd; //Next 'drawn' slot	static int dtyp[1024]; //Stores the type of drawn objects	static SDL_Rect dpos[1024]; //Stores the position of drawn objects	static SDL_Rect crct; //Stored clipping rect	int self; //Self index of this sprite	SDL_Surface* orig; //Original loaded graphic	SDL_Surface* rots[36][4]; //Rotations and zooms, calculated as needed (rot[0][0] loaded from disk)	bool imem; //In memory and loaded?	bool miss; //Sprite missing? Keep this as a record and try not to load it again};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -