youtube视频:https://www.youtube.com/watch?v=meARMOmTLgE&list=PLlrATfBNZ98dC-V-N3m0Go4deliWHPFwT&index=5
完整代码:https://github.com/DXT00/Hazel_study
Hazel-->Game Engine
SandBox-->Game
Core.h
#pragma once
#ifdef HZ_PLATFORM_WINDOWS
#ifdef HZ_BUILD_DLL
#define HAZEL_API __declspec(dllexport)
#else
#define HAZEL_API __declspec(dllimport)
#endif
#else
#error Hazel only support windows!
#endif
Hazel只适用于Windows平台!
Hazel :
SandBox:
所有Hazel的头文件放在Hazel.h :
#pragma once
//For use by HAZEL Application
#include "Hazel/Application.h"
Application.cpp
#include "Application.h"
namespace Hazel {
Application::Application()
{
}
Application::~Application()
{
}
void Application:: Run() {
while (true);
}
}
Application.h
#pragma once
#include "Core.h"
namespace Hazel {
class HAZEL_API Application
{
public:
Application();
virtual ~Application();
void Run();
};
}
SandBox调用Hazel.h:
SendBox.cpp
class SandBox:public Hazel::Application
{
public:
SandBox() {
}
~SandBox() {
}
};
void main() {
SandBox *sendBox = new SandBox();
sendBox->Run();
delete sendBox;
}
//把入口函数放到Engine 内
修改Hazel.h
#pragma once
//For use by HAZEL Application
#include "Hazel/Application.h"
//-----------------Entry Point---------------
#include "Hazel/EntryPoint.h"