SFML纹理像播放器



所以我一直在使用SFML库在C++中制作自己的射击游戏。对于我遇到的一个问题,我找不到合适的答案。在SFML中有没有任何函数可以将玩家和敌人的精灵设置为不是其纹理的大小(只是矩形(;彩色";源png文件的区域,以便sprite与播放器的形状匹配?

所以据我所知,假设你的玩家是"彩色";纹理中的其余部分是透明的。首先,根据图像大小,纹理和精灵(sf::sprite(将与图像(png(和设置的比例具有相同的边界。然而,唯一会被画到屏幕上的是你的";彩色";部分,因为图像的其余部分具有0作为alpha值(透明(。因此实际上不需要创建具有相同"大小"的精灵;边界";因为它是可见的部分。除非,您正在处理碰撞。

如果你确实在处理碰撞,请研究一种称为像素完美碰撞检测的方法。(SFML"intersect"函数使用边界框检测,如果你使用的话。(

如果这不是你想要的答案,请详细说明这个问题,我会帮助你:(

最新更新