SDL第十九课圆碰撞检测.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
/SDL_tutorials/lesson19/index.php 圆的碰撞检测 最后更新时间:2009/12/28 除了矩形之外,更常见的需要处理的形状就是圆形。在上一课已经学习了使用 11 个碰撞快 构成一个圆。这一课要讲一种更有效的方法来处理圆以及圆的碰撞检测。 /*本代码的版权属于 Lazy Foo Productions (2004-2009) ,未经允许不得传播*/ //头文件 #include SDL/SDL.h #include SDL/SDL_image.h #include string #include vector #include cmath 这一课需要距离公式,所以我们包含 math 头文件。 //屏幕属性 const int SCREEN_WIDTH = 640; const int SCREEN_HEIGHT = 480; const int SCREEN_BPP = 32; //帧速率 const int FRAMES_PER_SECOND = 20; //点的属性 const int DOT_WIDTH = 20; //画面指针 SDL_Surface *dot = NULL; SDL_Surface *screen = NULL; //事件声明 SDL_Event event; //一个圆的结构 struct Circle { 1 /SDL_tutorials/lesson19/index.php int x, y; int r; }; 在这个程序里,我们需要建立一个圆的结构体,x,y 表示圆心的位置,而 r 表示半径。 //点类 class Dot { private: //点的区域 Circle c; //点的速度 int xVel, yVel; public: //初始化变量 Dot(); //处理按键控制和调整点的速度 void handle_input(); //移动点 void move( std::vectorSDL_Rect rects, Circle circle ); //在屏幕上显示点 void show(); }; 这个是另一个版本的点类。 除了两点不同,其他的都和以前的一样。这一次,我们有一个圆的结构体来代替 SDL_Rect 向量,同样,也是在 move()函数中检查一个 SDL_Rect 向量和一个圆的碰撞。 //定时器类,以下基本和以前的内容相同,不再重复翻译。 class Timer { private: //The clock time when the timer started int startTicks; //The ticks stored when the timer was paused int pausedTicks; //The timer status bool paused; 2 /SDL_tutorials/lesson19/index.php bool started; public: //Initializes variables Timer(); //The various clock actions void start(); void stop(); void pause(); void unpause(); //Gets the timers time int get_ticks(); //Ch

文档评论(0)

wq640326 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档