我做了一个小的游戏。用到了地图 我想在有障碍的地方的后面放置一张黑色的区域与障碍相重合。然后判断是否碰到黑色区域。
但是我让人物碰到后 人物却不动了。我检查了方法。利用CDC::GETPI进行判断不知道出了什么问题。想不明白

解决方案 »

  1.   

    楼主的意思是用按位与对图片进行判断么。你用的应该是GetPixel吧 getpi是什么....如果你用这种方法来做的话
    给你个思路。可以去人物中心的一点和黑色进行与运算。如果是黑色则判断为碰壁,人物不可移动 我估计是你直接判断为真后让他不可用了。这样一直循环为真,人物一直不动的。你应该判断为真后,让人物那点落在不是黑色的像素上,以便下次移动继续判断。
      

  2.   

    或者用坐标移动的话比较方便,如需要移动到xx,yy是下一格。

    if(accessable(xx,yy))
      move(xx,yy);
    else
      .............
      

  3.   

    用pixel或坐标判断都行,一般是完全弹性碰撞,重新计算一下速度和方向就行了