把地图指定点开始的一屏内容绘制到屏幕上
来源:互联网 发布:网络女主播电影的歌曲 编辑:程序博客网 时间:2024/06/01 12:19
/** 地图最大的行数 */
#define mapRow 20
/** 地图最大的列数 */
#define mapCol 20
/** tile的个数 */
#define ImageNum 100
int mapArray[mapRow][mapCol]; /** 地图tile的索引 */
Image cellImage[ImageNum]; /** 所有的tile的图片 */
int cellsize; /** cellsize为地图tile的宽和高 */
int ScreenWidth; /** 屏幕的宽 */
int ScreenHeight; /** 屏幕的高 */
/**
leftTopX:地图X方向的位置
leftTopY:地图Y方向的位置
将地图上,点(leftTopX, leftTopY)开始的区域绘制到屏幕上
*/
void DrawAScreen(int leftTopX, int leftTopY)
{
/* 计算单元格起始位置下标 */
int iStart = leftTopY / cellSize; /** 起始行 */
int jStart = leftTopX / cellSize; /** 起始列 */
//计算单元格绘制宽度和高度
int iNum = ScreenWidth / cellSize + 1;
int jNum= ScreenWidth / cellSize + 1;
//防止下标越界
if (iStart + iNum >= mapRow)
iNum = mapRow - 1 - iStart;
if (jStart + jNum >= mapCol)
jNum = mapCol - 1 - jStart;
int i, j;
for (i = iStart; i < iNum; i++)
{
for (j = jStart; j < jNum; j++)
{
/** 将一个tile绘制到屏幕上 */
if (mapArray[i][j]>0)
drawImage(cellImage[mapArray[i][j] - 1], j * cellSize - leftTopX, i * cellSize - leftTopY);
}
}
}
- 把地图指定点开始的一屏内容绘制到屏幕上
- 图像绘制到屏幕上的原理。
- 如何用c语言编写这样一函数:当按下屏幕a键时,把当前屏幕某一指定区域的内容保存到e盘下,格式为.bmp或.jpg。
- 绘制像素到屏幕上
- 绘制像素到屏幕上
- 绘制像素到屏幕上
- 绘制像素到屏幕上
- 绘制像素到屏幕上
- 绘制像素到屏幕上
- 绘制像素到屏幕上
- 绘制像素到屏幕上
- 绘制像素到屏幕上
- iOS每日一记-----把window暂时的移除到屏幕外面 pop到指定的Viewcontroller
- 把指定的DataSet中的内容导出到Excel中
- 把指定的DataSet中的内容导出到Excel中
- 把指定的DataSet中的内容导出到Excel中
- 截取屏幕的指定内容
- 把iPhone的屏幕投影到Mac上
- C# WebBrowser强制使新窗口网页只在WebBrowser打开
- 回到未来 – 大胆畅想如何追赶并超越腾讯模式
- 超冷
- 关于正则里面的几个不解的情况!
- .properties读取
- 把地图指定点开始的一屏内容绘制到屏幕上
- C#点击打开webbrowser中网页中的超链接
- 棋牌游戏服务器基本架构
- UltraEdit/UltraEdit Studio操作常用技巧
- 无法解决 equal to 操作中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之间
- perl dbi使用详解
- wishlist member
- symbian 如何取http cookie
- 求ASP 导购网站代码(简单的最好,交作业)