当前位置: 首页 > 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://wiki.neutronadmin.com/news/196395/

相关文章:

  • 网站管理有哪些不会做网站
  • 做移动端网站软件用linux做网站
  • 网站开发必备人员长沙建站工作室
  • 阿里巴巴网站推广怎么做网站开发分为
  • 茶叶商城网站建设网站建设与管理课程实训
  • 在线心理健康网站建设无代码系统搭建平台
  • 网站怎么做微博认证网络推广是做什么工作的
  • 建网站收费多少钱网站页面设计工作流程
  • 品牌策划全案公司台州seo排名公司
  • 做网站用上面软件写代码比较好html5移动端网站开发教程
  • 网站建设招聘网响应式网站建设哪家公司好
  • 如何做网站内容上海关键词排名优化价格
  • 在相亲网站认识了一个做红酒生意的百度网页首页
  • 做淘宝客为什么要做网站产品设计优秀作品
  • 网站开发H5毕业设计网站论文
  • 网站建设中的安全问题典型营销型网站有哪些
  • 爱网站关键词挖掘小松建设的官方网站
  • 可以做视频剪辑兼职的网站标识设计公司
  • 建音乐网站东凤网站
  • 网站建设 软件服务什么什么设计英文网站
  • 阿里云服务器上传网站深圳电商公司排行榜
  • 嘉兴网站建设定制网站云南响应式网站建设
  • 包装设计概念网站中的关键词seo设置
  • 学习网站开发软件做网站美工工资多少
  • 上海高登联合建设网站百度点击器找名风
  • 官方网站开发哪家便宜桂林生活网租房信息
  • 泉州网站建设解决方案asp化妆品网站
  • 电子商务网站建设的技术综述论文安卓下载安装
  • 深圳非凡网站建设公司哪里注册域名最便宜
  • 网站编排类型台州网站制作费用