window console窗口创建绘图程序(小游戏)的一般过程

本文介绍了如何在Windows console窗口中进行绘图,特别是如何创建动态图像,如小游戏。由于console窗口的特性,不能直接指定回调函数或处理WM_PAINT消息,因此绘图需手动完成并自行刷新。通过SetTimer()和InvalidateRect()可以实现定时刷新,但可能导致图像闪烁。解决方法是通过回调函数不断绘制和擦除图像。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

console也是窗体,自然也可以在其中画图,但是console窗体与windows窗体又有不同,主要如下:

1 console窗体是由window内部产生的,很多细节并没有暴露给用户,所以有很多事用户干不了,比如自己没办法指定回调函数,这就意味着无法改变默认的消息处理方式。

2 console窗体中有个富文本编辑框(?)

3 windows窗体中画图主要是通过WM_PAINT消息实现的,但是console中由于没法修改回调函数,因此无法操作WM_PAINT消息,绘图只能手工绘制,同时刷新时也需要自己写刷新语句。在console中要实现定时刷新可以通过SetTimer()+InvalidateRect() 来实现。通过观察发现,使用此方法会出现,显示的内容一闪而过,并不能停留。(解决方法从下面程序中说明)


动态绘制图像(游戏)的一般步骤:(利用定时器)

1,设置console样式

2,创建定时器,并分发定时器产生的消息

3,实现定时器指定的回调函数,实现不断绘制

tip:在实现重绘时,由于不能通过WM_PAINT实现,可通过invalidaterect函数擦除console窗体上的图像,然后重新绘制

#include <conio.h>
#include <stdio.h>
#include <tchar.h>
#include <window
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值