myqingting
所属分类:WEB开发
开发工具:Visual C++
文件大小:1421KB
下载次数:11
上传日期:2006-09-24 21:25:01
上 传 者:
hooker_cs
说明: 使用开发的,自己写的潜艇大战,一个星期写的,适合初学者
(use development, wrote the submarine war, a week writing, for beginners)
文件列表:
我的潜艇大战\Bomb.cpp (1469, 2006-07-28)
我的潜艇大战\Bomb.h (356, 2006-07-28)
我的潜艇大战\Debug (0, 2006-07-28)
我的潜艇大战\Explosion.cpp (1200, 2006-07-26)
我的潜艇大战\Explosion.h (411, 2006-07-26)
我的潜艇大战\Game.aps (278864, 2006-07-27)
我的潜艇大战\Game.cpp (2912, 2006-07-23)
我的潜艇大战\Game.h (765, 2006-07-28)
我的潜艇大战\Game.ncb (93184, 2006-07-28)
我的潜艇大战\Game.rc (11124, 2006-07-27)
我的潜艇大战\Game.sln (897, 2006-07-23)
我的潜艇大战\Game.suo (10752, 2006-07-28)
我的潜艇大战\Game.vcproj (6008, 2006-07-25)
我的潜艇大战\GameDoc.cpp (977, 2006-07-23)
我的潜艇大战\GameDoc.h (534, 2006-07-23)
我的潜艇大战\GameView.cpp (11775, 2006-07-28)
我的潜艇大战\GameView.h (1820, 2006-07-28)
我的潜艇大战\MainFrm.cpp (2101, 2006-07-26)
我的潜艇大战\MainFrm.h (653, 2006-07-23)
我的潜艇大战\MyShip.cpp (1914, 2006-07-28)
我的潜艇大战\MyShip.h (457, 2006-07-28)
我的潜艇大战\res\bomb.bmp (1334, 2004-09-06)
我的潜艇大战\res\explosion.bmp (175950, 2000-11-29)
我的潜艇大战\res\Game.ico (21630, 2003-04-01)
我的潜艇大战\res\Game.manifest (693, 2006-07-23)
我的潜艇大战\res\Game.rc2 (360, 2006-07-23)
我的潜艇大战\res\GameDoc.ico (1078, 2003-04-01)
我的潜艇大战\res\myship.bmp (4534, 2006-07-24)
我的潜艇大战\res\submarine.bmp (28782, 2004-09-07)
我的潜艇大战\res\Thumbs.db (23552, 2006-08-16)
我的潜艇大战\res\Toolbar.bmp (1078, 2003-04-01)
我的潜艇大战\res\torpedo.bmp (822, 2001-03-19)
我的潜艇大战\res (0, 2006-07-24)
我的潜艇大战\resource.h (991, 2006-07-27)
我的潜艇大战\Sprite.cpp (1304, 2006-07-26)
我的潜艇大战\Sprite.h (569, 2006-07-26)
我的潜艇大战\stdafx.cpp (133, 2006-07-23)
我的潜艇大战\stdafx.h (1476, 2006-07-23)
我的潜艇大战\Submarine.cpp (1459, 2006-07-28)
... ...
个人总结:
1。键盘响应与输入法好像有莫大的关联。在英文下毫无问题,中文下就有问题。此问题让我找了一个多小时,以后得记住!!
2.添加图片资源时,要从rc资源文件处修改,否则无用!!!!
3.采用先写入内存,再显示在屏幕上,即建了一个CDC成员变量和一个CBitmap,全部画在其上。
4.改变框架大小时,BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
在上面的函数中改cs的属性,
然后屏蔽掉ResizeParentToFi(),如下所示:
##################################################################
void CGameView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
//ResizeParentToFi();//????????????????????????????????????
//此处须屏蔽,不然修改框架大小的参数无效,即是GAME_WIDTH,GAME_HEIGHT对框架大小无影响,MD,害爷一顿苦找!!!!!!!!!!
//此函数用来:::使框架大小适应视图大小,即视图控制框架大小(纯属个人分析!!!!)
}
#####################################################################
5。onkeydown是否只能响应一个键按下,若有多个键按下,似乎不行,与switch case有关吗?
6.按键有一点延时,与draw有关吗?应该将move放在draw中马?
####################################
经本人亲自实现,确实应将移动代码放到draw()中,这样才不会在第一次延时,
本人猜测结果如下:
按下A不放,会不断产生keydown消息,中间间隔非常之小,而draw函数30毫秒才画一次,
keydown消息的中间间隔小于30毫秒,即可能有2个或3个keydown消息产生,即船的坐标已经变了2,3次了,
此时再画,就有第一次停顿的感觉,而在keyup()函数中,将m_nMotion设为不动,
此时,按下A不放,不断产生keydown消息,但m_nMotion终是LEFT,故30毫秒画一次移动后的,不可能出现30
毫秒画2,3次移动后的,故无第一次停顿的感觉。
###################################
此问题困扰我一晚上,参看别人的源代码结合自己理解 ,终于想出来了!!!!!!!!
================================================================================
MICROSOFT 基础类库: Game 项目概述
===============================================================================
应用程序向导已为您创建了此 Game 应用程序。此应用程序
不仅介绍了使用 Microsoft 基础类的基本知识,
而且是编写应用程序的起点。
此文件包含组成 Game 应用程序的每个文件的内容摘要。
Game.vcproj
这是使用“应用程序向导”生成的 VC++ 项目的主项目文件。
它包含有关生成文件的 Visual C++ 版本的信息,以及
有关用“应用程序向导”所选择的平台、配置和
项目功能的信息。
Game.h
这是应用程序的主头文件。 它包含其他
项目特定的头文件(包括 Resource.h),并声明
CGameApp 应用程序类。
Game.cpp
这是包含应用程序
类 CGameApp 的主应用程序源文件。
Game.rc
这是程序使用的所有 Microsoft Windows 资源
的列表。 它包含存储在 RES 子目录中
的图标、位图和光标。 可直接在 Microsoft
Visual C++ 中编辑此文件。 项目资源包含在 2052 中。
res\Game.ico
这是一个图标文件,用作应用程序的图标。 此
图标包含在主资源文件 Game.rc 中。
res\Game.rc2
此文件包含不由 Microsoft
Visual C++ 编辑的资源。 应将所有不能由
资源编辑器编辑的资源放在此文件中。
/////////////////////////////////////////////////////////////////////////////
对于主框架窗口:
项目将包含标准的 MFC 界面。
MainFrm.h, MainFrm.cpp
这些文件包含框架类 CMainFrame,该类派生自
CFrameWnd 并控制所有的 SDI 框架功能。
res\Toolbar.bmp
此位图文件用于创建工具栏的平铺图像。
初始工具栏和状态栏在 CMainFrame
类中构造。 使用资源编辑器编辑此工具栏位图,并
更新 Game.rc 中的 IDR_MAINFRAME TOOLBAR 数组以添加
工具栏按钮。
/////////////////////////////////////////////////////////////////////////////
应用程序向导将创建一种文档类型和一个视图:
GameDoc.h、GameDoc.cpp - 文档
这些文件包含 CGameDoc 类。 编辑这些文件
以添加特殊的文档数据并实现文件的保存和加载
(通过 CGameDoc::Serialize)。
GameView.h、GameView.cpp - 文档视图
这些文件包含 CGameView 类。
CGameView 对象用于查看 CGameDoc 对象。
/////////////////////////////////////////////////////////////////////////////
其他功能:
ActiveX 控件
应用程序支持使用 ActiveX 控件。
/////////////////////////////////////////////////////////////////////////////
其他标准文件:
StdAfx.h、StdAfx.cpp
这些文件用于生成名为 Game.pch 的预编译头文件 (PCH)
和名为 StdAfx.obj 的预编译类型文件。
Resource.h
这是标准头文件,它定义新资源 ID。
Microsoft Visual C++ 将读取并更新此文件。
/////////////////////////////////////////////////////////////////////////////
其他说明:
应用程序向导使用“TODO:” 来指示
应添加或自定义的源代码部分。
如果应用程序在共享 DLL 中使用 MFC,且应用程序使用的语言不是
操作系统的当前语言,则需要从 Microsoft Visual C++ 光盘上
Win\System 目录下将相应的本地化资源 MFC70XXX.DLL
复制到计算机的 system 或 system32 目录下,
并将其重命名为 MFCLOC.DLL。 (“XXX”代表
语言缩写。 例如,MFC70DEU.DLL 包含翻译成
德语的资源。) 如果不这样做,应用程序的某些 UI 元素
将保留为操作系统的语言。
/////////////////////////////////////////////////////////////////////////////
近期下载者:
相关文件:
收藏者: