从零开始-边学边做-塔防游戏-七彩三国(六)--SDL--全红屏幕
来源:互联网 发布:淘宝修改折扣价权重 编辑:程序博客网 时间:2024/05/06 04:52
第六章:全红屏幕
前面我们已经熟悉了,如果将sdl自带的测试程序编译出目标测试程序在android手机上运行。本章,我们将创建一个自己的空的工程。并且调用SDL的接口,刷新屏幕为全红色。
申明:本文及后续内容,都是本人参考别人代码做的自我理解,如有解释错误,而误导读者,请见谅。
一。获取屏幕
开发windows程序时,SDL有这样的方式获取屏幕
SDL_Surface* pSDL_Surface = SDL_SetVideoMode(m_uiWidthPixel, m_uiHeightPixel, 32,SDL_SWSURFACE);
但是在android上没有使用成功。 也没再深究。于是采用拿来主义,从之前的那个例子中抠出了,获取屏幕的方法。
//定义一个全局的 g_statestatic SDLTest_CommonState *g_state;//首先需要下面两步初始化int skypark_sdl_init(char **argv) {g_state = SDLTest_CommonCreateState(argv, SDL_INIT_VIDEO);if (!g_state) {return -1;}g_state->window_flags |= SDL_WINDOW_RESIZABLE;if (!SDLTest_CommonInit(g_state)) {return -2;}return 0;}
然后在程序主循环中获取屏幕
SDL_Event event;while (!done) {//sleep(60);//g_SkyparkLog.log("[%s][%d]run...", __FILE__, __LINE__);while (SDL_PollEvent(&event)) {SDLTest_CommonEvent(g_state, &event, &done);}for (int i = 0; i < g_state->num_windows; ++i) {if (g_state->windows[i] == NULL)continue;//按照我的理解,g_state->renderers[i],就是屏幕了。ShowScreen(g_state->renderers[i]);}}
二。绘制红色屏幕
void ShowScreen(SDL_Renderer * renderer) {sleep(1);static Uint64 i = 0;i++;if (i % 10 == 0) {g_SkyparkLog.log("[%s][%d]run...", __FILE__, __LINE__);}//设置颜色SDL_SetRenderDrawColor(renderer, 0xFF, 0x00, 0x00, 0xFF);//以上面的颜色擦除SDL_RenderClear(renderer);//将缓存刷新到实际屏幕SDL_RenderPresent(renderer);}
三。编译运行:
好了,步骤虽然不多,但是其中遇到不少小问题。相信新手也会遇到各种莫名其妙的问题。所以,我上传一份打包好的代码到csdn上。有需要的朋友可以下载:
http://download.csdn.net/detail/ycg01/6784551
0 0
- 从零开始-边学边做-塔防游戏-七彩三国(六)--SDL--全红屏幕
- 从零开始-边学边做-塔防游戏-七彩三国(七)--SDL--全红屏幕2
- 从零开始-边学边做-塔防游戏-七彩三国(四)--SDL集成
- 从零开始-边学边做-塔防游戏-七彩三国(五)--SDL项目
- 从零开始-边学边做-塔防游戏-七彩三国(十)--SDL迁移
- 从零开始-边学边做-塔防游戏-七彩三国(一)--前言
- 从零开始-边学边做-塔防游戏-七彩三国(二)--环境搭建
- 从零开始-边学边做-塔防游戏-七彩三国(三)--JNI集成
- 从零开始-边学边做-塔防游戏-七彩三国(九)--加载背景
- 从零开始-边学边做-塔防游戏-七彩三国(八)--强制横屏
- 三国塔防游戏android源码
- HTML5另类塔防游戏 -『三国战线』发布
- 《三国塔防》为什么成功?
- Android 屏幕七彩闪动
- Android屏幕七彩闪动
- Cocos2D:塔防游戏制作之旅(六)
- Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(一)
- Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(二)
- 利用FPGA实现PCI总线接口及Windows驱动实现
- windows server 2008 远程桌面(授权、普通用户登录)~ ...
- 代码阅读工具SourceInsight
- asp.net编程利用Repeater控件做简单的留言板
- linux串口属性O_CTTY O_NDELAY
- 从零开始-边学边做-塔防游戏-七彩三国(六)--SDL--全红屏幕
- 查看自己端口被谁占用的几个命令(以9000为例)
- 《Java并发》:第三节 创建有返回值的线程
- 《交互设计之路》读书笔记
- 修改gp集群主机名称
- 乌班图系统Ubuntu 12.04安装教程(图文详解)
- Leetcode: Populating Next Right Pointers in Each Node II
- linux-od
- SCANF返回值问题