当前位置: 首页 > news >正文

量子秘密网站怎么做成都最新新闻事件今天

量子秘密网站怎么做,成都最新新闻事件今天,四川大学网站seo诊断报告,软文发布系统SDL2基本操作头文件主函数初始化创建窗口窗口暂停以及事件讲解销毁窗口(释放指针)并退出加载bmp图片新加载图片的方法(使用渲染、纹理)加载其他格式的图片头文件 #include SDL.h #include SDL_image.h主函数 int main(int argc,char* argv[]) //一定… SDL2基本操作头文件主函数初始化创建窗口窗口暂停以及事件讲解销毁窗口(释放指针)并退出加载bmp图片新加载图片的方法(使用渲染、纹理)加载其他格式的图片头文件 #include SDL.h #include SDL_image.h主函数 int main(int argc,char* argv[]) //一定要写成这种含参数形式 { }初始化 使用SDL_Init(参数)参数表示整个游戏可以播放动画和声音等可以只填一个但是一定要有参数。 SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO); 创建窗口 采用SDL_Window类型的指针来创建使用SDL_CreateWindow(const char *title, int x, int y, int w,int h, Uint32 flags)函数来创建窗口。 函数参数意义依次为 窗口标题窗口显示在屏幕的位置(x,y),x和y可以让系统来设置可以写成SDL_WINDOWPOS_UNDEFINED和SDL_WINDOWPOS_UNDEFINED窗口的大小(w,h)以什么样的方式显示窗口,如SDL_WINDOW_SHOWN(直接显示),SDL_WINDOW_FULLSCREEN(全屏显示) 代码如下 SDL_Window* window SDL_CreateWindow(Asuna,100,100,800,600,SDL_WINDOW_SHOWN);窗口暂停以及事件讲解 代码如下 //方法1 SDL_Delay(3000); //窗口停留3000秒 //方法2 system(pause);//一直暂停窗口知道输入其他键才消失 //方法3使用事件弄一个循环 SDL_Event event; bool quitfalse; while (quitfalse) { /*用SDL_PollEvent(event)来检测是否有事件用SDL_Event的实例属性event.type来获取事件。*/while (SDL_PollEvent(event)) //当触发事件时候执行该循环没有事件的时候就暂停这样做的目的是可以减少使用更多的内存和cpu消耗{if (event.typeSDL_QUIT) //窗口操作的事件当点击窗口右上角关闭按钮的时候就执行if{quittrue;//使用exit(0)是退出程序,这样有个缺点就是可能有之前创建的内存没有释放}else if (event.typeSDL_MOUSEBUTTONDOWN) //鼠标事件,当在窗口内点击鼠标的时候触发。{if (event.button.buttonSDL_BUTTON_LEFT) //点击鼠标左键的时候执行该代码{}else if(event.button.buttonSDL_BUTTON_RIGHT) //点击鼠标右键的时候执行该代码{}}else if (event.type SDL_KEYDOWN) //键盘事件,当输入任意键时触发。{if (event.key.keysym.symSDLK_UP) //如果按下的键是上就执行代码,左侧用来接收用户按下的键{} }} }销毁窗口(释放指针)并退出 程序最后需要执行的代码。代码如下 SDL_DestroyWindow(window); //销毁窗口 SDL_Quit(); //以最安全的方式退出加载bmp图片 加载图片相当于在窗口表面覆盖上一张贴图SDL2默认支持加载bmp格式的图片注意图片的大小要比窗口小。步骤如下: 1.使用SDL_Surface类型的指针通过SDL_GetWindowSurface()函数获得到窗口的表面。 2.再创建一个SDL_Surface类型的指针接收SDL_LoadBMP()函数加载的图片。 3.贴图之前要清除原来的图不然之前的图还会呈现在窗口内 4.使用SDL_BlitSurface()函数把图片贴到窗口表面。 第一个参数是图片。 第二个参数是以一个点切割图片取右下角图片。参数形式和参数四一样(NULL默认不切割) 第三个参数是窗口。 第四个参数表示把图片贴到窗口的哪个位置(NULL为贴到左上角)使用结构体SDL_RECT类型创建一个实例该结构体有两个属性x,y代表贴的位置然后对其赋值再将实例作为实参传给第四个参数(需要指针所以需要加取地址)。代码如下 SDL_Rect rect;rect.x 100;rect.y 100;5.刷新窗口 加载图片详细代码如下 SDL_Surface* surface SDL_GetWindowSurface(window);//记住最后需要释放,使用SDL_FreeSurface()函数。SDL_Surface* image SDL_LoadBMP(1.bmp);//此处为相对路径也就是放在和代码同一个文件夹中SDL_FillRect(surface, NULL, 0);//清除原来的图但是程序大的话鼠标会闪屏第一个参数表示在哪画一个矩形(NULL表示整个屏幕)第二个参数表示要填充的地方第三个参数表示颜色SDL_BlitSurface(image,NULL,surface,rect);//贴完之后刷新窗口SDL_UpdateWindowSurface(window)当程序大或者电脑差的时候用这种方法会发生鼠标指针一闪一闪的问题原因是每次更新屏幕时都是通过SDL_FillRect()在屏幕上画了一个很大的矩形然后把原来的屏幕覆盖掉了。为了解决这个问题引入了render(渲染)来更新屏幕。 新加载图片的方法(使用渲染、纹理) 1.先对窗口进行渲染(使用renderer)得到rend,以后都用rend代替窗口。 2.再把图片转换成纹理才能贴到rend上 3.创建一个矩形也就是要贴的大小位置等 4.每次贴之前先清空rend 5.把img贴到rend上 6.显示贴完之后的rend SDL_Window* window SDL_CreateWindow(Asuna, 100, 100, 800, 600, SDL_WINDOW_SHOWN); //1.渲染以后用rend来代表window SDL_Renderer* rend SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED); SDL_Surface* image SDL_LoadBMP(1.bmp); //2.要先把surface转换成纹理(材质)才能贴到rend上 SDL_Texture* img SDL_CreateTextureFromSurface(rend, image); //3.创建矩形 SDL_Rect rect; rect.x 100; rect.y 100; rect.h image-h; rect.w image-w; //4.每次贴之前先清空rend SDL_RenderClear(rend); //5.把img贴到rend上 SDL_RenderCopy(rend, img, NULL, rect);//第三个参数同样是对图片进行分割 //6.显示贴完之后的rend SDL_RenderPresent(rend);加载其他格式的图片 使用来自SDL_image.h库的IMG_Load()函数,其他和加载bmp格式的图片一样改一下获取图片的函数就可以了。 SDL_Surface* image1 IMG_Load(yui.png);通用模板代码如下 #include iostream #include SDL.h #include SDL_image.h using namespace std;int main(int argc, char* argv[]) {SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO);SDL_Window* window SDL_CreateWindow(Asuna, 100, 100, 800, 600, SDL_WINDOW_SHOWN);//渲染之后用rend来代表windowSDL_Renderer* rend SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);SDL_RenderClear(rend); //清空掉窗口SDL_Surface* image SDL_LoadBMP(1.bmp);//此处为相对路径也就是放在和代码同一个文件夹中//要先把surface转换成纹理(材质)才能贴到rend上SDL_Texture* img SDL_CreateTextureFromSurface(rend, image);SDL_Rect rect;rect.x 100;rect.y 100;rect.h image-h;rect.w image-w;SDL_Event event;bool quit false;while (quit false){ /*用SDL_PollEvent(event)来检测是否有事件用SDL_Event的实例属性event.type来获取事件。*/while (SDL_PollEvent(event)) //当触发事件时候执行该循环没有事件的时候就暂停这样做的目的是可以减少使用更多的内存和cpu消耗{if (event.type SDL_QUIT) //窗口操作的事件当点击窗口右上角关闭按钮的时候就执行if{quit true;//使用exit(0)是退出程序,这样有个缺点就是可能有之前创建的内存没有释放}else if (event.type SDL_MOUSEMOTION){//每次贴之前先清空rendSDL_RenderClear(rend);//把img贴到rend上SDL_RenderCopy(rend, img, NULL, rect);}}SDL_Delay(5); //闪屏速度越低越快。可以降低cpu使用率//显示贴完之后的rendSDL_RenderPresent(rend);}SDL_DestroyWindow(window); //销毁窗口SDL_Quit(); //以最安全的方式退出return 0; }
http://www.yutouwan.com/news/196395/

相关文章:

  • 北京专业的做网站适合个人做的网站有哪些东西吗
  • 网站建设需要代码网站建设方案对比分析
  • 提供网站建设备案报价做网站什么时候注册商标
  • 建设网站群的好处wordpress标签墙
  • wordpress如何做站群章丘网站定制
  • 怎么做类似淘宝一样的网站毕业设计网站建设选题依据
  • 陕西网站建设品牌公司推荐重庆大渡口营销型网站建设价格
  • 临沂网站建设排名重庆建设岗位培训系统
  • 聊城门户网站建设wordpress本地头像
  • argo wordpress阿亮seo技术顾问
  • 黑龙省建设厅网站网站设计职业工作室
  • 电子商务网站整体策划长沙外贸建站哪里好
  • 如何新建站点做二手房网站
  • 织梦网站怎样做锚文本慈溪做网站
  • 网站开发网站设计的标准WordPress添加防盗链接
  • 无锡高端网站建设机构工业互联网平台的意义有哪些
  • 网站建设页面大小网站建设要注意一些什么
  • 网站设计效果专业乐云seo佛山市方维网络技术有限公司
  • 重庆网站建设只选承越网站直播怎样做
  • 佛山建企业网站深圳外贸公司网站建设公司排名
  • 90做网站南通小企业网站建设
  • 网站建设 思维导图大连百度推广
  • 网站上的动态背景怎么做的wordpress 调用二级分类
  • 网站开发维护合同模板电子版免版权图片网站
  • 黑龙江建设网官方网站肇庆制作网络公司
  • Wordpress能更新到最新版本视频网站如何做seo
  • 网站定制开发上海网站开发开票内容
  • 服装网站建设美丽wordpress 信息流
  • 建站用什么工具做网站为什么不要源代码
  • 怎样看一个网站做的网络广告百度导航是哪个国家的公司