DirectX二维游戏中精灵与地图间的精确像素碰撞
背景地图直接用一张bmp图片贴在底层(宽高经过调整成窗口的大小后渲染出),规定了里面黑色的是可移动区域,非黑色的是障碍。
精灵就是一个矩形位图。
想构造一个函数来检测精灵与地图间的精确碰撞,打算检测精灵矩形外接圆上的八个点在地图上的颜色来检测是否与地图碰撞,传入参数就是精灵的世界坐标和移动方向。
自己参考着网上一些纹理与纹理之间的碰撞代码写了一个发现实现不了功能,估计首先世界坐标和地图的纹理坐标之间的转换不当,这里先求教下怎么转换;其次再问问如果我要加上游戏中用武器破坏地图(打算用黑圆遮住被破坏部分)后仍可实现准确的碰撞检测,是不是只能用LPDIRECT3DSURFACE backbuffer作为检测对象?如果是,它的检测和直接对纹理LPDIRECT3DTEXTURE的检测又有何不同?
其实最希望各位大神能给个模板,小弟初学对很多用法都不甚了解,还望多多帮助。
先谢~
[解决办法]
把你的地图生成一组数组 每次移动检测屏幕内的数字是否能行走不就可以了。。。
[解决办法]