博主今年大三,学校里开设了游戏程序设计这门课,使用vs + win32环境制作二维和三维小游戏(二维已经初步实现,三维方面刚刚完成了beizer曲面和孔斯曲面的绘制,即将开始进行三维CS制作),现在总结一下二维游戏制作过程中踩到的一个坑。
博主打算使用面向对象的思想实现游戏对象的生成,意思是先写好一个游戏对象类,再在主函数中实例化该游戏对象。
在实现了这个类后,博主实例化了该游戏对象,并调用该游戏对象的绘制图形方法绘制这个游戏对象。
但是遇到了这样一个问题:当游戏运行一段时间后,再次绘制该游戏对象时却显示不出来了。解决方法是将与该对象对应的bufdc和bitmap在主函数中就初始化好,调用绘制方法时通过传参的方式传递到该对象绘制方法中,然后再进行绘制,就成功了。务必要记住,每一个游戏对象最好有一个单独对应的bufdc和bitmap,为的是防止出现冲突,导致显示失败。