我正在玩一些 DirectX 9.0,并希望一个对象在碰到屏幕边缘(顶部、底部、右侧和左侧)时反弹回来。精灵是一个 128x128 像素的图像。我设法让它来回反弹,但这不会发生在图像在屏幕之外的一半或太早之前。这是因为它自己的对象位于图像的中间,无论如何要“删除”背景部分,以便程序在图像部分本身与屏幕边缘碰撞之前不会反弹精灵?我必须手动修改图像吗?像裁剪它什么的=
这是我正在使用的一些代码:
if(this->Textures[i].posision.x >= this->_screenWidth)
{
this->Textures[i].right = false;
}
else if(this->Textures[i].posision.x <= 0)
{
this->Textures[i].right = true;
}
if(!this->Textures[i].right)
this->Textures[i].posision.x -= 0.3f;
else
this->Textures[i].posision.x += 0.3f;
谢谢你的帮助!