//OBBとOBBのあたり判定 CollisionParameter Actor::OBBOBB( const Actor& other)const{ if (Device::GetInstance().GetInput()->KeyDown(INPUTKEY::KEY_R)){ /*Graphic::GetInstance().DrawCube(parameter.matrix, parameter.cubeScale); Graphic::GetInstance().DrawCube(other.parameter.matrix, other.parameter.cubeScale);*/ } CollisionParameter colpara; OBB o1 = CreateOBB(parameter.matrix, parameter.cubeScale); OBB o2 = CreateOBB(other.parameter.matrix, other.parameter.cubeScale); colpara.colFlag = OBBvsOBB(o1, o2); colpara.colPos = vector3(0, 0, 0); colpara.colNormal = vector3(0, 1, 0); return colpara; }
ETHBackBufferTargetManager::ETHBackBufferTargetManager(gs2d::VideoPtr video, const ETHAppEnmlFile& file, const Platform::Logger& logger) { const gs2d::str_type::string fixedWidth = file.GetFixedWidth(); const gs2d::str_type::string fixedHeight = file.GetFixedHeight(); if (!ComputeLength(video, fixedWidth, fixedHeight, true)) { ComputeLength(video, fixedHeight, fixedWidth, false); } const gs2d::math::Vector2 screenSize(video->GetScreenSizeF()); m_bufferSize.x = gs2d::math::Min(screenSize.x, m_bufferSize.x); m_bufferSize.y = gs2d::math::Min(screenSize.y, m_bufferSize.y); gs2d::str_type::stringstream ss; ss << GS_L("Backbuffer created as ") << m_bufferSize.x << GS_L(", ") << m_bufferSize.y << GS_L(" on "); if (m_bufferSize == screenSize) { m_backBuffer = ETHDynamicBackBufferPtr(new ETHNoDynamicBackBuffer(video, m_bufferSize)); ss << GS_L("default backbuffer mode"); } else { m_backBuffer = ETHDynamicBackBufferPtr(new ETHDefaultDynamicBackBuffer(video, m_bufferSize)); ss << GS_L("dynamic framebuffer mode"); } m_targetScale = m_bufferSize.x / screenSize.x; CreateOBB(); logger.Log(ss.str(), Platform::Logger::INFO); }
ETHBackBufferTargetManager::ETHBackBufferTargetManager(gs2d::VideoPtr video) { m_bufferSize = video->GetScreenSizeF(); m_backBuffer = ETHDynamicBackBufferPtr(new ETHNoDynamicBackBuffer(video, m_bufferSize)); m_targetScale = 1.0f; CreateOBB(); }
void ETHBackBufferTargetManager::ScreenSizeChanged(const gs2d::math::Vector2& newScreenSize) { if (m_backBuffer->MatchesScreenSize()) { m_bufferSize = newScreenSize; CreateOBB(); } }