《俄罗斯方块游戏的视图与图形类解析》
1. 视图类概述
CTetrisView 是应用程序的视图类,它接收系统消息并对客户区进行全部或部分重绘。视图的绘制状态由字段m_iColorStatus控制,其状态有彩色和灰度两种。彩色是正常模式,在构造函数中m_iColorStatus被初始化为彩色;灰度模式用于闪烁行,以及在询问用户是否开始新游戏时将游戏网格设置为灰度显示。
2. 视图类的重要方法
- OnCreate:在视图创建完成但尚未显示时调用。此方法将
m_pTetrisDoc字段设置为指向文档类对象,并确认其有效性。示例代码如下:
int CTetrisView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) { return -1; } m_pTetrisDoc = (CTetrisDoc*) m_pDocument; check(m_pTetrisDoc != NULL); ASSERT_VALID(m_pTetrisDoc); return 0; }- OnSize:每次视图大小改变时调用。它设置全局变量
g_iRowHeight和g_iColWid