增加Audio类
This commit is contained in:
parent
2e161ff6a8
commit
637fe89e37
|
|
@ -0,0 +1,60 @@
|
||||||
|
#include "..\e2dbase.h"
|
||||||
|
|
||||||
|
|
||||||
|
e2d::Audio * e2d::Audio::_instance = nullptr;
|
||||||
|
|
||||||
|
e2d::Audio * e2d::Audio::getInstance()
|
||||||
|
{
|
||||||
|
if (!_instance)
|
||||||
|
{
|
||||||
|
_instance = new (std::nothrow) Audio;
|
||||||
|
}
|
||||||
|
return _instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
void e2d::Audio::destroyInstance()
|
||||||
|
{
|
||||||
|
if (_instance)
|
||||||
|
{
|
||||||
|
delete _instance;
|
||||||
|
_instance = nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
IXAudio2 * e2d::Audio::getXAudio2()
|
||||||
|
{
|
||||||
|
return _xAudio2;
|
||||||
|
}
|
||||||
|
|
||||||
|
IXAudio2MasteringVoice * e2d::Audio::getMasteringVoice()
|
||||||
|
{
|
||||||
|
return _masteringVoice;
|
||||||
|
}
|
||||||
|
|
||||||
|
e2d::Audio::Audio()
|
||||||
|
: _xAudio2(nullptr)
|
||||||
|
, _masteringVoice(nullptr)
|
||||||
|
{
|
||||||
|
::CoInitialize(nullptr);
|
||||||
|
|
||||||
|
ThrowIfFailed(
|
||||||
|
XAudio2Create(&_xAudio2, 0)
|
||||||
|
);
|
||||||
|
|
||||||
|
ThrowIfFailed(
|
||||||
|
_xAudio2->CreateMasteringVoice(&_masteringVoice)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
e2d::Audio::~Audio()
|
||||||
|
{
|
||||||
|
if (_masteringVoice)
|
||||||
|
{
|
||||||
|
_masteringVoice->DestroyVoice();
|
||||||
|
_masteringVoice = nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
SafeRelease(_xAudio2);
|
||||||
|
|
||||||
|
::CoUninitialize();
|
||||||
|
}
|
||||||
|
|
@ -22,6 +22,12 @@ void operator delete(void * block, e2d::autorelease_t const &) E2D_NOEXCEPT
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
e2d::GC * e2d::GC::getInstance()
|
||||||
|
{
|
||||||
|
static GC _instance;
|
||||||
|
return &_instance;
|
||||||
|
}
|
||||||
|
|
||||||
e2d::GC::GC()
|
e2d::GC::GC()
|
||||||
: _notifyed(false)
|
: _notifyed(false)
|
||||||
, _cleanup(false)
|
, _cleanup(false)
|
||||||
|
|
@ -32,12 +38,29 @@ e2d::GC::GC()
|
||||||
e2d::GC::~GC()
|
e2d::GC::~GC()
|
||||||
{
|
{
|
||||||
// 删除所有对象
|
// 删除所有对象
|
||||||
this->clear();
|
Game::getInstance()->clearAllScenes();
|
||||||
|
Timer::getInstance()->clearAllTasks();
|
||||||
|
ActionManager::getInstance()->clearAll();
|
||||||
|
|
||||||
// 헌뇜暠튬뻠닸
|
_cleanup = true;
|
||||||
|
for (const auto& ref : _pool)
|
||||||
|
{
|
||||||
|
delete ref;
|
||||||
|
}
|
||||||
|
_pool.clear();
|
||||||
|
_cleanup = false;
|
||||||
|
|
||||||
|
// 헌뇜뻠닸
|
||||||
Image::clearCache();
|
Image::clearCache();
|
||||||
}
|
|
||||||
|
|
||||||
|
// 헌뇜데절
|
||||||
|
Player::destroyInstance();
|
||||||
|
Audio::destroyInstance();
|
||||||
|
Renderer::destroyInstance();
|
||||||
|
Input::destroyInstance();
|
||||||
|
Window::destroyInstance();
|
||||||
|
Game::destroyInstance();
|
||||||
|
}
|
||||||
|
|
||||||
void e2d::GC::flush()
|
void e2d::GC::flush()
|
||||||
{
|
{
|
||||||
|
|
@ -59,37 +82,6 @@ void e2d::GC::flush()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void e2d::GC::clear()
|
|
||||||
{
|
|
||||||
_cleanup = true;
|
|
||||||
|
|
||||||
Game::getInstance()->clearAllScenes();
|
|
||||||
Timer::getInstance()->clearAllTasks();
|
|
||||||
ActionManager::getInstance()->clearAll();
|
|
||||||
|
|
||||||
for (const auto& ref : _pool)
|
|
||||||
{
|
|
||||||
delete ref;
|
|
||||||
}
|
|
||||||
_pool.clear();
|
|
||||||
_cleanup = false;
|
|
||||||
|
|
||||||
// 헌뇜뻠닸
|
|
||||||
Image::clearCache();
|
|
||||||
|
|
||||||
// 헌뇜데절
|
|
||||||
Game::destroyInstance();
|
|
||||||
Renderer::destroyInstance();
|
|
||||||
Input::destroyInstance();
|
|
||||||
Window::destroyInstance();
|
|
||||||
}
|
|
||||||
|
|
||||||
e2d::GC * e2d::GC::getInstance()
|
|
||||||
{
|
|
||||||
static GC _instance;
|
|
||||||
return &_instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
void e2d::GC::autorelease(Ref * ref)
|
void e2d::GC::autorelease(Ref * ref)
|
||||||
{
|
{
|
||||||
if (ref)
|
if (ref)
|
||||||
|
|
|
||||||
|
|
@ -22,44 +22,6 @@ inline bool TraceError(wchar_t* sPrompt, HRESULT hr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
e2d::Music::XAudio2Tool::XAudio2Tool()
|
|
||||||
{
|
|
||||||
::CoInitialize(nullptr);
|
|
||||||
|
|
||||||
ThrowIfFailed(
|
|
||||||
XAudio2Create(&_xAudio2, 0)
|
|
||||||
);
|
|
||||||
|
|
||||||
ThrowIfFailed(
|
|
||||||
_xAudio2->CreateMasteringVoice(&_masteringVoice)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
e2d::Music::XAudio2Tool::~XAudio2Tool()
|
|
||||||
{
|
|
||||||
_masteringVoice->DestroyVoice();
|
|
||||||
_xAudio2->Release();
|
|
||||||
|
|
||||||
::CoUninitialize();
|
|
||||||
}
|
|
||||||
|
|
||||||
e2d::Music::XAudio2Tool* e2d::Music::XAudio2Tool::getInstance()
|
|
||||||
{
|
|
||||||
static XAudio2Tool instance;
|
|
||||||
return &instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
IXAudio2 * e2d::Music::XAudio2Tool::getXAudio2()
|
|
||||||
{
|
|
||||||
return _xAudio2;
|
|
||||||
}
|
|
||||||
|
|
||||||
IXAudio2MasteringVoice * e2d::Music::XAudio2Tool::getMasteringVoice()
|
|
||||||
{
|
|
||||||
return _masteringVoice;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
e2d::Music::Music()
|
e2d::Music::Music()
|
||||||
: _opened(false)
|
: _opened(false)
|
||||||
, _wfx(nullptr)
|
, _wfx(nullptr)
|
||||||
|
|
@ -70,8 +32,6 @@ e2d::Music::Music()
|
||||||
, _voice(nullptr)
|
, _voice(nullptr)
|
||||||
, _voiceCallback()
|
, _voiceCallback()
|
||||||
{
|
{
|
||||||
auto xAudio2 = XAudio2Tool::getInstance()->getXAudio2();
|
|
||||||
xAudio2->AddRef();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
e2d::Music::Music(const e2d::String & filePath)
|
e2d::Music::Music(const e2d::String & filePath)
|
||||||
|
|
@ -84,9 +44,6 @@ e2d::Music::Music(const e2d::String & filePath)
|
||||||
, _voice(nullptr)
|
, _voice(nullptr)
|
||||||
, _voiceCallback()
|
, _voiceCallback()
|
||||||
{
|
{
|
||||||
auto xAudio2 = XAudio2Tool::getInstance()->getXAudio2();
|
|
||||||
xAudio2->AddRef();
|
|
||||||
|
|
||||||
this->open(filePath);
|
this->open(filePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -100,18 +57,12 @@ e2d::Music::Music(const Resource& res)
|
||||||
, _voice(nullptr)
|
, _voice(nullptr)
|
||||||
, _voiceCallback()
|
, _voiceCallback()
|
||||||
{
|
{
|
||||||
auto xAudio2 = XAudio2Tool::getInstance()->getXAudio2();
|
|
||||||
xAudio2->AddRef();
|
|
||||||
|
|
||||||
this->open(res);
|
this->open(res);
|
||||||
}
|
}
|
||||||
|
|
||||||
e2d::Music::~Music()
|
e2d::Music::~Music()
|
||||||
{
|
{
|
||||||
close();
|
close();
|
||||||
|
|
||||||
auto xAudio2 = XAudio2Tool::getInstance()->getXAudio2();
|
|
||||||
xAudio2->Release();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool e2d::Music::open(const e2d::String & filePath)
|
bool e2d::Music::open(const e2d::String & filePath)
|
||||||
|
|
@ -173,7 +124,7 @@ bool e2d::Music::open(const e2d::String & filePath)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ´´½¨ÒôÔ´
|
// ´´½¨ÒôÔ´
|
||||||
auto xAudio2 = XAudio2Tool::getInstance()->getXAudio2();
|
auto xAudio2 = Audio::getInstance()->getXAudio2();
|
||||||
HRESULT hr = xAudio2->CreateSourceVoice(&_voice, _wfx, 0, XAUDIO2_DEFAULT_FREQ_RATIO, &_voiceCallback);
|
HRESULT hr = xAudio2->CreateSourceVoice(&_voice, _wfx, 0, XAUDIO2_DEFAULT_FREQ_RATIO, &_voiceCallback);
|
||||||
|
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
|
|
@ -251,7 +202,7 @@ bool e2d::Music::open(const Resource& res)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ´´½¨ÒôÔ´
|
// ´´½¨ÒôÔ´
|
||||||
auto xAudio2 = XAudio2Tool::getInstance()->getXAudio2();
|
auto xAudio2 = Audio::getInstance()->getXAudio2();
|
||||||
HRESULT hr = xAudio2->CreateSourceVoice(&_voice, _wfx, 0, XAUDIO2_DEFAULT_FREQ_RATIO, &_voiceCallback);
|
HRESULT hr = xAudio2->CreateSourceVoice(&_voice, _wfx, 0, XAUDIO2_DEFAULT_FREQ_RATIO, &_voiceCallback);
|
||||||
|
|
||||||
if (FAILED(hr))
|
if (FAILED(hr))
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,26 @@
|
||||||
#include "..\e2dtool.h"
|
#include "..\e2dtool.h"
|
||||||
|
|
||||||
|
|
||||||
|
e2d::Player * e2d::Player::_instance = nullptr;
|
||||||
|
|
||||||
|
e2d::Player * e2d::Player::getInstance()
|
||||||
|
{
|
||||||
|
if (!_instance)
|
||||||
|
{
|
||||||
|
_instance = new (std::nothrow) Player;
|
||||||
|
}
|
||||||
|
return _instance;
|
||||||
|
}
|
||||||
|
|
||||||
|
void e2d::Player::destroyInstance()
|
||||||
|
{
|
||||||
|
if (_instance)
|
||||||
|
{
|
||||||
|
delete _instance;
|
||||||
|
_instance = nullptr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
e2d::Player::Player()
|
e2d::Player::Player()
|
||||||
: _volume(1.f)
|
: _volume(1.f)
|
||||||
{
|
{
|
||||||
|
|
@ -15,8 +35,6 @@ e2d::Player::~Player()
|
||||||
delete pair.second;
|
delete pair.second;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CoUninitialize();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool e2d::Player::preload(const String & filePath)
|
bool e2d::Player::preload(const String & filePath)
|
||||||
|
|
|
||||||
152
core/e2dbase.h
152
core/e2dbase.h
|
|
@ -139,65 +139,6 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// 输入设备
|
|
||||||
class Input
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
// 获取输入设备实例
|
|
||||||
static Input * getInstance();
|
|
||||||
|
|
||||||
// 销毁输入设备实例
|
|
||||||
static void destroyInstance();
|
|
||||||
|
|
||||||
// 检测键盘某按键是否正被按下
|
|
||||||
bool isDown(
|
|
||||||
KeyCode key
|
|
||||||
);
|
|
||||||
|
|
||||||
// 检测鼠标按键是否正被按下
|
|
||||||
bool isDown(
|
|
||||||
MouseCode code
|
|
||||||
);
|
|
||||||
|
|
||||||
// 获得鼠标X轴坐标值
|
|
||||||
float getMouseX();
|
|
||||||
|
|
||||||
// 获得鼠标Y轴坐标值
|
|
||||||
float getMouseY();
|
|
||||||
|
|
||||||
// 获得鼠标坐标值
|
|
||||||
Point getMousePos();
|
|
||||||
|
|
||||||
// 获得鼠标X轴坐标增量
|
|
||||||
float getMouseDeltaX();
|
|
||||||
|
|
||||||
// 获得鼠标Y轴坐标增量
|
|
||||||
float getMouseDeltaY();
|
|
||||||
|
|
||||||
// 获得鼠标Z轴(鼠标滚轮)坐标增量
|
|
||||||
float getMouseDeltaZ();
|
|
||||||
|
|
||||||
// 刷新输入设备状态
|
|
||||||
void update();
|
|
||||||
|
|
||||||
protected:
|
|
||||||
Input();
|
|
||||||
|
|
||||||
~Input();
|
|
||||||
|
|
||||||
E2D_DISABLE_COPY(Input);
|
|
||||||
|
|
||||||
protected:
|
|
||||||
IDirectInput8W* _directInput;
|
|
||||||
IDirectInputDevice8W* _keyboardDevice;
|
|
||||||
IDirectInputDevice8W* _mouseDevice;
|
|
||||||
DIMOUSESTATE _mouseState;
|
|
||||||
char _keyBuffer[256];
|
|
||||||
|
|
||||||
static Input * _instance;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
// 渲染器
|
// 渲染器
|
||||||
class Renderer
|
class Renderer
|
||||||
{
|
{
|
||||||
|
|
@ -283,6 +224,96 @@ protected:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// 输入设备
|
||||||
|
class Input
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// 获取输入设备实例
|
||||||
|
static Input * getInstance();
|
||||||
|
|
||||||
|
// 销毁输入设备实例
|
||||||
|
static void destroyInstance();
|
||||||
|
|
||||||
|
// 检测键盘某按键是否正被按下
|
||||||
|
bool isDown(
|
||||||
|
KeyCode key
|
||||||
|
);
|
||||||
|
|
||||||
|
// 检测鼠标按键是否正被按下
|
||||||
|
bool isDown(
|
||||||
|
MouseCode code
|
||||||
|
);
|
||||||
|
|
||||||
|
// 获得鼠标X轴坐标值
|
||||||
|
float getMouseX();
|
||||||
|
|
||||||
|
// 获得鼠标Y轴坐标值
|
||||||
|
float getMouseY();
|
||||||
|
|
||||||
|
// 获得鼠标坐标值
|
||||||
|
Point getMousePos();
|
||||||
|
|
||||||
|
// 获得鼠标X轴坐标增量
|
||||||
|
float getMouseDeltaX();
|
||||||
|
|
||||||
|
// 获得鼠标Y轴坐标增量
|
||||||
|
float getMouseDeltaY();
|
||||||
|
|
||||||
|
// 获得鼠标Z轴(鼠标滚轮)坐标增量
|
||||||
|
float getMouseDeltaZ();
|
||||||
|
|
||||||
|
// 刷新输入设备状态
|
||||||
|
void update();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
Input();
|
||||||
|
|
||||||
|
~Input();
|
||||||
|
|
||||||
|
E2D_DISABLE_COPY(Input);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
IDirectInput8W * _directInput;
|
||||||
|
IDirectInputDevice8W* _keyboardDevice;
|
||||||
|
IDirectInputDevice8W* _mouseDevice;
|
||||||
|
DIMOUSESTATE _mouseState;
|
||||||
|
char _keyBuffer[256];
|
||||||
|
|
||||||
|
static Input * _instance;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// 音频设备
|
||||||
|
class Audio
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// 获取音频设备实例
|
||||||
|
static Audio * getInstance();
|
||||||
|
|
||||||
|
// 销毁实例
|
||||||
|
static void destroyInstance();
|
||||||
|
|
||||||
|
// 获取 XAudio2 实例对象
|
||||||
|
IXAudio2 * getXAudio2();
|
||||||
|
|
||||||
|
// 获取 MasteringVoice 实例对象
|
||||||
|
IXAudio2MasteringVoice* getMasteringVoice();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
Audio();
|
||||||
|
|
||||||
|
virtual ~Audio();
|
||||||
|
|
||||||
|
E2D_DISABLE_COPY(Audio);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
IXAudio2 * _xAudio2;
|
||||||
|
IXAudio2MasteringVoice* _masteringVoice;
|
||||||
|
|
||||||
|
static Audio * _instance;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
class Timer;
|
class Timer;
|
||||||
class ActionManager;
|
class ActionManager;
|
||||||
class Scene;
|
class Scene;
|
||||||
|
|
@ -395,9 +426,6 @@ public:
|
||||||
// 刷新内存池
|
// 刷新内存池
|
||||||
void flush();
|
void flush();
|
||||||
|
|
||||||
// 回收内存池中的所有对象
|
|
||||||
void clear();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
GC();
|
GC();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -115,27 +115,6 @@ public:
|
||||||
// 삿혤 IXAudio2SourceVoice 뚤蹶
|
// 삿혤 IXAudio2SourceVoice 뚤蹶
|
||||||
IXAudio2SourceVoice * getIXAudio2SourceVoice() const;
|
IXAudio2SourceVoice * getIXAudio2SourceVoice() const;
|
||||||
|
|
||||||
public:
|
|
||||||
class XAudio2Tool
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
XAudio2Tool();
|
|
||||||
|
|
||||||
~XAudio2Tool();
|
|
||||||
|
|
||||||
static XAudio2Tool* getInstance();
|
|
||||||
|
|
||||||
// 获取 XAudio2 实例对象
|
|
||||||
IXAudio2 * getXAudio2();
|
|
||||||
|
|
||||||
// 获取 MasteringVoice 实例对象
|
|
||||||
IXAudio2MasteringVoice* getMasteringVoice();
|
|
||||||
|
|
||||||
protected:
|
|
||||||
IXAudio2 * _xAudio2;
|
|
||||||
IXAudio2MasteringVoice* _masteringVoice;
|
|
||||||
};
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool _readMMIO();
|
bool _readMMIO();
|
||||||
|
|
||||||
|
|
@ -169,12 +148,12 @@ protected:
|
||||||
// 稜있꺄렴포
|
// 稜있꺄렴포
|
||||||
class Player
|
class Player
|
||||||
{
|
{
|
||||||
friend class Game;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Player();
|
// 获取播放器实例
|
||||||
|
static Player * getInstance();
|
||||||
|
|
||||||
~Player();
|
// 销毁实例
|
||||||
|
static void destroyInstance();
|
||||||
|
|
||||||
// 渡속潼稜있栗都
|
// 渡속潼稜있栗都
|
||||||
bool preload(
|
bool preload(
|
||||||
|
|
@ -258,9 +237,18 @@ public:
|
||||||
// 헌왕稜있뻠닸
|
// 헌왕稜있뻠닸
|
||||||
void clearCache();
|
void clearCache();
|
||||||
|
|
||||||
private:
|
protected:
|
||||||
|
Player();
|
||||||
|
|
||||||
|
~Player();
|
||||||
|
|
||||||
|
E2D_DISABLE_COPY(Player);
|
||||||
|
|
||||||
|
protected:
|
||||||
float _volume;
|
float _volume;
|
||||||
std::map<size_t, Music*> _musicList;
|
std::map<size_t, Music*> _musicList;
|
||||||
|
|
||||||
|
static Player * _instance;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,7 @@
|
||||||
<ClCompile Include="..\..\core\Action\ScaleTo.cpp" />
|
<ClCompile Include="..\..\core\Action\ScaleTo.cpp" />
|
||||||
<ClCompile Include="..\..\core\Action\Sequence.cpp" />
|
<ClCompile Include="..\..\core\Action\Sequence.cpp" />
|
||||||
<ClCompile Include="..\..\core\Action\Spawn.cpp" />
|
<ClCompile Include="..\..\core\Action\Spawn.cpp" />
|
||||||
|
<ClCompile Include="..\..\core\Base\Audio.cpp" />
|
||||||
<ClCompile Include="..\..\core\Base\Game.cpp" />
|
<ClCompile Include="..\..\core\Base\Game.cpp" />
|
||||||
<ClCompile Include="..\..\core\Base\GC.cpp" />
|
<ClCompile Include="..\..\core\Base\GC.cpp" />
|
||||||
<ClCompile Include="..\..\core\Base\Input.cpp" />
|
<ClCompile Include="..\..\core\Base\Input.cpp" />
|
||||||
|
|
|
||||||
|
|
@ -238,5 +238,8 @@
|
||||||
<ClCompile Include="..\..\core\Node\Canvas.cpp">
|
<ClCompile Include="..\..\core\Node\Canvas.cpp">
|
||||||
<Filter>Node</Filter>
|
<Filter>Node</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\core\Base\Audio.cpp">
|
||||||
|
<Filter>Base</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
@ -195,6 +195,7 @@
|
||||||
<ClCompile Include="..\..\core\Action\ScaleTo.cpp" />
|
<ClCompile Include="..\..\core\Action\ScaleTo.cpp" />
|
||||||
<ClCompile Include="..\..\core\Action\Sequence.cpp" />
|
<ClCompile Include="..\..\core\Action\Sequence.cpp" />
|
||||||
<ClCompile Include="..\..\core\Action\Spawn.cpp" />
|
<ClCompile Include="..\..\core\Action\Spawn.cpp" />
|
||||||
|
<ClCompile Include="..\..\core\Base\Audio.cpp" />
|
||||||
<ClCompile Include="..\..\core\Base\Game.cpp" />
|
<ClCompile Include="..\..\core\Base\Game.cpp" />
|
||||||
<ClCompile Include="..\..\core\Base\GC.cpp" />
|
<ClCompile Include="..\..\core\Base\GC.cpp" />
|
||||||
<ClCompile Include="..\..\core\Base\Input.cpp" />
|
<ClCompile Include="..\..\core\Base\Input.cpp" />
|
||||||
|
|
|
||||||
|
|
@ -238,5 +238,8 @@
|
||||||
<ClCompile Include="..\..\core\Node\Canvas.cpp">
|
<ClCompile Include="..\..\core\Node\Canvas.cpp">
|
||||||
<Filter>Node</Filter>
|
<Filter>Node</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\core\Base\Audio.cpp">
|
||||||
|
<Filter>Base</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
@ -215,6 +215,7 @@
|
||||||
<ClCompile Include="..\..\core\Action\Sequence.cpp" />
|
<ClCompile Include="..\..\core\Action\Sequence.cpp" />
|
||||||
<ClCompile Include="..\..\core\Action\FiniteTimeAction.cpp" />
|
<ClCompile Include="..\..\core\Action\FiniteTimeAction.cpp" />
|
||||||
<ClCompile Include="..\..\core\Action\Spawn.cpp" />
|
<ClCompile Include="..\..\core\Action\Spawn.cpp" />
|
||||||
|
<ClCompile Include="..\..\core\Base\Audio.cpp" />
|
||||||
<ClCompile Include="..\..\core\Base\Game.cpp" />
|
<ClCompile Include="..\..\core\Base\Game.cpp" />
|
||||||
<ClCompile Include="..\..\core\Base\GC.cpp" />
|
<ClCompile Include="..\..\core\Base\GC.cpp" />
|
||||||
<ClCompile Include="..\..\core\Base\Input.cpp" />
|
<ClCompile Include="..\..\core\Base\Input.cpp" />
|
||||||
|
|
|
||||||
|
|
@ -231,6 +231,9 @@
|
||||||
<ClCompile Include="..\..\core\Node\Canvas.cpp">
|
<ClCompile Include="..\..\core\Node\Canvas.cpp">
|
||||||
<Filter>Node</Filter>
|
<Filter>Node</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\..\core\Base\Audio.cpp">
|
||||||
|
<Filter>Base</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="..\..\core\easy2d.h" />
|
<ClInclude Include="..\..\core\easy2d.h" />
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue