[HGE]-源码分析-4 core里的demo和graphics(a)

本文详细分析了HGE库中Core模块的Demo与Graphics部分,探讨了开场Logo的显示逻辑以及Graphics的接口实现,强调了在使用引擎时尊重版权的重要性。同时,介绍了2D图形渲染的基本原理,如矩阵运算、投影矩阵设置和裁剪技术,其中裁剪通过调整投影矩阵实现视觉效果。文章引用《Windows游戏编程大师技巧》作为进一步学习2D图形实现的资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    继续接着上次的,Core中的文件一个一个来。

顺便提一下demo,就是第一个cpp文件,上次说了这个是开场画面,想了下还是上代码一点一点说吧,随便提点怕说不清

ok,demo.cpp

他完成的事情是:把一进去那个logo画出来,停留一小会,然后滚蛋

 

 

/*
** Haaf's Game Engine 1.8
** Copyright (C) 2003-2007, Relish Games
** hge.relishgames.com
**
** Core functions implementation: HGE splash screen
*/


#include "hge_impl.h"

#ifdef DEMO

hgeQuad dquad;//定义的一个区域数据结构,可以理解为一个方格,在这个方格里可以放我们想画的图片,画方格就行
float dtime;//demo停留时间


//这个很有意思,是把图片嵌入代码的方式,这是个位图,这样做的好处是它就包含在hge.dll里面,不用再配个图片跑的时候才载入了,想到于刻在了心里(=。=)
//这是人家的logo当然要无时不刻都有了。
unsigned short hgelogo[]={
	0x5089,0x474E,0x0A0D,0x0A1A,0x0000,0x0D00,0x4849,0x5244,
	0x0000,0x8000,0x0000,0x8000,0x0308,0x0000,0xF400,0x91E0,
	0x00F9,0x0000,0x6704,0x4D41,0x0041,0xAF00,0x37C8,0x8A05,
	0x00E9,0x0000,0x7419,0x5845,0x5374,0x666F,0x7774,0x7261,
	0x0065,0x6441,0x626F,0x2065,0x6D49,0x6761,0x5265,0x6165,
	0x7964,0xC971,0x3C65,0x0000,0x3000,0x4C50,0x4554,0x8F8F,
	0x298F,0x2929,0xFFFF,0xEEFF,0xEEEE,0xCECE,0xBACE,0xBABA,
	0x7575,0xAA75,0xAAAA,0x4444,0x5544,0x5555,0xF8F8,0xE0F8,
	0xE0E0,0x6565,0x1065,0x1010,0x0000,0xD600,0xD6D6,0x531D,
	0x9976,0x0000,0x3008,0x4449,0x5441,0xDA78,0xE062,0x601B,
	0x1000,0x0C40,0xED03,0x8000,0x1A00,0x0770,0x0400,0x80D0,
	0x003B,0x8020,0xDC06,0x0001,0x3401,0x0EE0,0x0800,0x01A0,
	0x0077,0x0040,0xB80D,0x0003,0x6802,0x1DC0,0x1000,0x0340,
	0x00EE,0x0080,0x701A,0x0007,0xD004,0x3B80,0x2000,0x9080,
	0xC01D,0xC3C8,0xCEC0,0xCACA,0xC2C2,0x334F,0xC2C0,0xCAC2,
	0xCECA,0xC3C0,0x6488,0x4029,0x2100,0xC01C,0xCEC1,0x3744,
	0xCEC0,0xB701,0x2016,0xE080,0x600E,0x6663,0x6262,0x6061,
	0xE4E3,0x60E0,0x21A4,0xE0E0,0x64E0,0x6063,0x6261,0x6662,
	0xD983,0x100B,0x3040,0x7007,0x3330,0x72B1,0x2BD2,0x39DE,
	0x9959,0x6198,0x0061,0x4010,0x0730,0x33B0,0xF2B1,0x2FD2,
	0xF1E5,0x32B2,0x43B1,0x0099,0x0401,0x0075,0x1323,0x2713,
	0xD33D,0x273E,0x1313,0x2534,0x0402,0xD410,0x3C01,0x2C4C,
	0xCDF4,0x2C7D,0x3C4C,0x0610,0x0040,0x1D41,0xC0C0,0xE744,
	0x0102,0x216E,0x0040,0xC031,0x0092,0x7D1B,0xC01D,0x4B06,
	0x0004,0x0401,0x0075,0x7D2B,0x0093,0x1128,0x42B0,0x0018,
	0x0401,0x0077,0x7D07,0xC01D,0x7301,0x4000,0x3100,0xD2C0,
	0x5904,0xE00E,0x1605,0xAC2B,0xC040,0xC6C0,0xB241,0xA003,
	0x1EA9,0x8020,0x0EE0,0x9440,0xACCF,0xC050,0x5483,0xC04B,
	0x90C4,0x714B,0x1E3E,0xA456,0x95D2,0x0199,0x8E45,0x0715,
	0x9B80,0x7308,0x4000,0x4100,0xC01D,0xE48F,0x9800,0x6C91,
	0xEEC8,0x0285,0x8F24,0xB232,0x97A0,0xC8F0,0x18E9,0x2D57,
	0x7080,0x3F00,0x0184,0x4010,0x3B64,0x0780,0xE98B,0xBC2C,
	0x3BA4,0x2000,0xC880,0x0075,0x560F,0x59E3,0x7748,0x4000,
	0x9100,0x00E9,0x6646,0xE6EC,0x9033,0x00EC,0x0080,0xD322,
	0xAC01,0x2CB8,0x2460,0x01D5,0x0100,0x9E44,0x1803,0x06E1,
	0x8372,0x379A,0x0C8C,0x4118,0xB440,0x0003,0x8802,0x073C,
	0xA030,0x3B27,0x9244,0x45E0,0x8435,0x0D95,0x6015,0x0038,
	0x8020,0x73C8,0x3300,0x887A,0x9C23,0x83C4,0x10D3,0x0014,
	0x0077,0x0040,0xE591,0x7800,0xB00C,0x1923,0x1A88,0x4407,
	0x003B,0x8020,0x72C8,0x0F00,0x779A,0x8041,0x161B,0x24E6,
	0x003A,0x8020,0x72C8,0x1B00,0x8296,0x9611,0x982F,0x7449,
	0x4000,0x9100,0x00E5,0xF476,0x8D34,0x089C,0x7448,0x4000,
	0x9100,0x00E5,0x2C56,0x600E,0xD323,0x0001,0x4401,0x0735,
	0xA0F0,0x77D6,0x3B44,0x2000,0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值