请教图片怎么覆盖不会覆盖住背景
sdl吧
全部回复
仅看楼主
level 2
图片裂了。。。在做扫雷的游戏
大概设想就是有个格子的背景图,点一下格子,这个格子就会出现一把剑,格子大小80*80,再点一下剑会消失
剑从网上找的,压成了80*80
https://www.google.com.tw/search?biw=1440&bih=782&tbs=isz%3Aex%2Ciszw%3A640%2Ciszh%3A640&tbm=isch&sa=1&q=%E5%88%80%E5%AD%90+%E5%8D%A1%E9%80%9A&oq=%E5%88%80%E5%AD%90&gs_l=img.3.2.0j0i30k1l2j0i24k1j0i7i30k1l6.5057.5057.0.7429.1.1.0.0.0.0.55.55.1.1.0....0...1.1.64.img..0.1.54.v-Ch-coUIZw#imgrc=4q3IPAtV5ZXFUM:
但实际上点一下出现了剑,但是其他格子都变成了黑色。再双击才会变成白色。
请问是怎么回事?
谢谢
2017年06月11日 03点06分 1
level 2
这部分的代码是这个样子的:
//改变这个格子的状态 标雷或者不标雷 (有bug)
void MarkChange(int i, int j)
{
SDL_Surface* win = IMG_Load("/Users/myfile/Desktop/swords.png");
SDL_Texture* wintexture = SDL_CreateTextureFromSurface(renderer, win);
SDL_Rect rect;
rect.x = i * SQUARE_WIDTH;
rect.y = j * SQUARE_HEIGHT;
rect.w = SQUARE_WIDTH;
rect.h = SQUARE_HEIGHT;
if(check[i][j] == 0)
{
check[i][j] = -1;
SDL_RenderCopy(renderer, wintexture, NULL, &rect);
SDL_RenderPresent(renderer);
}
else if(check[i][j] == -1)
{
check[i][j] = 0;
}
}
2017年06月11日 03点06分 2
level 2
-1 表示标记了有雷,0表示没标记
2017年06月11日 03点06分 3
level 2
还有想请教一下,renderclear 是怎么用的?使用了是不是把之前的图片都去掉了?
[委屈]刚学SDL麻烦了
2017年06月11日 03点06分 4
清空这个renderer所有内容
2017年06月11日 14点06分
@辉辉游戏解说🐾 那请问一下我怎么样才能保存之前texture,让它们都显示出来?
2017年06月11日 15点06分
@_小背景NPC2号 重新绘画
2017年06月12日 05点06分
@_小背景NPC2号 或者设置透明度为0,让它消失
2017年06月12日 05点06分
level 13
程序问题,最好保存下texture,sdl创建texture是很耗时的。
什么都不用,在程序中判断就行了
2017年06月13日 06点06分 5
level 1
请问 这个扫雷想要鼠标右键操作怎么办呢
2017年07月05日 01点07分 6
1