Posted on 2008-08-22 17:50
RichardHe 閱讀(1321)
評論(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的后面,類的名字前面添加,如果是全局的函數只要在類型前面添加就行.
這樣有利于多人開發,當你把一個接口做好后你就可以導出來給別人用了.而別人不用知道接口里面的詳細實現
類也可以當作是一個完美的封裝.只知道接口的作用就行;現在的程序員一般都不愛寫文檔,所以我們頭文件中寫好每個接口的詳細作用以及參數說明.
這樣才有利于團隊開發..呵呵..以上純屬個人觀點,歡迎拍磚頭!