初学Directx,遇到个小问题请大家帮忙了~~~概述:
我现在建立了2个幕后缓冲
pO1:加载背景图
pO2:一个很小的人物图片我的目的是:用键盘控制小人物的行走(现在假设s键 控制)我遇到的问题是:
1。每次我按下S键后,屏幕闪烁(出线最开始创建的window窗口)
2。原来的人物图象没有清除,就是如果按下S两次,将有两个小人物谢谢大家帮忙!
我现在建立了2个幕后缓冲
pO1:加载背景图
pO2:一个很小的人物图片我的目的是:用键盘控制小人物的行走(现在假设s键 控制)我遇到的问题是:
1。每次我按下S键后,屏幕闪烁(出线最开始创建的window窗口)
2。原来的人物图象没有清除,就是如果按下S两次,将有两个小人物谢谢大家帮忙!
解决方案 »
- movenext()不往下走啊!!!
- 怎样使点回车后对话框不退出
- EXCEL 插件中如何操作数据?
- 新论坛,属于程序员的论坛!开源的论坛!~散分,等待你的到来!!! (第二波散分!!!)
- 很郁闷的问题,烦了我一天了,大家进来帮帮忙啊,解决立刻给分!!
- 关于Platform SDK的问题~~求救~~
- 百分相送:这样的一个关于连接数据库服务器的时间进度条该如何来设计与编码?高手指教。
- 紧急求助!!VC高手
- 怎么来看MSDN呢?
- 谁能给一份与多个串口进行通讯的多线程源代码,如符合要求,本人高分相送!
- vc中有相当于delphi中的chr函数吗?
- *** 当toolbar左/右边停靠的时候,我想显示两列的按钮,请问怎么弄?***
你始终在后台缓冲绘制,然后swapbuffer到前台的2 在每帧后台缓冲写内容前,清空后台缓冲,然后绘制背景,再绘制人物
人物的位置是你的内部一个变量记录,s键盘控制这个变量的数值变化
绘制的时候,按照这个变量记录的位置,把小人绘制在相应的位置
绘制结束后,调用swapbuffer切换到主屏幕上显示去3 闪烁可能的原因是:没有重载窗口的OnEraseBackground函数
1。我现在是每次按下 S 键的时候 将小图片(人物)Bitfast到后缓冲区,然后翻页
2。我也考虑到可能是后缓冲区遗留了以前的信息,每次在Bitfast之前,我已经调用了Restore
3。我现在闪烁是每次按下S键后弹出原来的主窗口
谢谢帮忙
然后再bltfast小图片到后缓冲区 (更新了画面了)
再swapbuffer一次
只不过是多个小图片,程序自动移动它