STLVisual Studio .NET 2002Visual C++ 7.1Visual C++ 7.0Windows 2003Windows 2000Visual C++ 6.0Windows XP中级开发Visual StudioWindowsC++
CMapEditor





4.00/5 (9投票s)
2003年10月9日
2分钟阅读

48743

1236
一个简单高效的接口,用于使用多级数值矩阵。
引言
CMapEditor
是一个简单高效的接口,用于使用多级数值矩阵。它可以轻松地用于游戏或其他需要通用地图结构的程序。
函数
如何使用 CMapEditor
#include "CMapEditor.h"
在您的代码中包含 .h 文件。同时请记住,CMapEditor
需要您的机器上存在 <vector>
头文件。
要初始化地图,只需使用
CMapEditor meEditor(WIDTH,HEIGHT,LEVELS);
或
CMapEditor *meEditor = new CMapEditor(WIDTH,HEIGHT,LEVELS);
要设置地图中的单元格值,请使用
meEditor->SetMapValue(X,Y,LEVEL,VALUE);
您还可以使用高级操作,例如区域填充或类似拖动的功能
meEditor->Fill(X,Y,LEVEL,REPLACE_VALUE,VALUE);
和
meEditor->StartDrag(X,Y,LEVEL); meEditor->EndDrag(DX,DY,VALUE);
CMapEditor
还支持基本的撤销和重做操作。您可以通过调用来决定将要撤销的内容
meEditor->NextUndo();
在执行其他操作之前。例如
meEditor->NextUndo(); meEditor->SetMapValue(X,Y,LEVEL,VALUE); eEditor->Fill(X,Y,LEVEL,REPLACE_VALUE,VALUE); ...
在这种情况下,SetMapValue()
和 Fill()
的效果将一起撤销。要执行撤销和重做,只需使用
meEditor->Undo();
和
meEditor->Redo();
我为什么要编写这个类
实际上,这个类的目的是让我学习。而且我确实学到了。事实上,类编程以前是一种奇怪的思考方式,因此,我决定从基础开始,并开始学习它。好的,我已经掌握了基础知识,但是如果您对我的类编程方式有任何意见,请告诉我。其次,我想熟悉匈牙利命名法(我所有的其他项目都是一团糟),所以如果您对这方面也有意见,请告诉我。最后,我学会了如何使用向量,这我没有预料到(实际上,我甚至不知道它们是什么),而且它们似乎非常有用。我决定编写这个类的另一个原因是,我想为 CodeProject 贡献一些有用的东西。
历史
- 最后更新 (2003年10月15日)
- 我修复了一些内存泄漏问题。现在类的析构函数是正确的。