Posted on 2008-08-22 17:50
RichardHe 阅读(1319)
评论(4) 编辑 收藏 引用
1.游戏任务界面的的制作;包括从美术的的资源开始,到程序用ImageView.exe把资源图片一张一张的添加到imageset文件中,现在实现了中文的支持,不过,美术那边给的图的中文名字不能有空格,不然还是显示不了,再把自动生成的imageset文件添加到TaharezLook.scheme主题中,这样在用界面编译器中才能找到这这个新的imageset。最后可以在属性中可以改变它的图片,如背景,和状态不同时的对应不同的帧的图。最后可以根据你的需求制作符合你的窗口界面。在项目中用LUA写界面的,从而来控制里面button等事件。
2.学习了多个工程添加到解决方案,单个工程可以生成DLL,使用的类可以使用导出功能,导出里面的类,函数等等。,生成DLL时,也导出了一个LIB,把导出的LIB添加到另一个工程中,这样其它的工程就可以使用这个工程的库,把头文件和LIB,DLL三个东西,这样在团队开发的时候比较方便,一开始就把接口设计好。再分各个模块,最后生成一个工程的时候通过LIB链接,运行时通过DLL动态链接。
//.h
#pragma once
#ifdef SIMPLEDLL_EXPORT
#define DLL_EXPORT __declspec(dllexport)
#else
#define DLL_EXPORT __declspec(dllimport)
#endif
#include <iostream>
using namespace std;
class DLL_EXPORT SimpleDLLClass
{
public:
SimpleDLLClass();
virtual ~SimpleDLLClass();
virtual int getValue() = 0;
virtual int getName() = 0;
virtual int SetName() = 0;
private:
int m_nValue;
};
class DLL_EXPORT testdllclass : public SimpleDLLClass
{
public:
virtual int getValue();
virtual int getName();
virtual int SetName();
};
//.cpp
#include "SimpleDLLClass.h"
SimpleDLLClass::SimpleDLLClass()
{
m_nValue=0;
}
SimpleDLLClass::~SimpleDLLClass()
{
}
int testdllclass::getValue()
{
cout << "111111111111" << endl;return 1;
}
int testdllclass::getName()
{
cout << "what's your name !" << endl;
return 0;
}
int testdllclass::SetName()
{
cout << "fdafdaswhat's your name !" << endl;
return 0;
}
上面的类或者是函数,只要是你想导出的就一定要在前面加DLL_EXPORT
一般情况我们在关键字class的后面,类的名字前面添加,如果是全局的函数只要在类型前面添加就行.
这样有利于多人开发,当你把一个接口做好后你就可以导出来给别人用了.而别人不用知道接口里面的详细实现
类也可以当作是一个完美的封装.只知道接口的作用就行;现在的程序员一般都不爱写文档,所以我们头文件中写好每个接口的详细作用以及参数说明.
这样才有利于团队开发..呵呵..以上纯属个人观点,欢迎拍砖头!