Improve Physics2DDemo
This commit is contained in:
parent
627b7a1972
commit
a1e62adb71
|
|
@ -66,14 +66,14 @@ int main()
|
||||||
|
|
||||||
Nz::TextureParams texParams;
|
Nz::TextureParams texParams;
|
||||||
texParams.renderDevice = device;
|
texParams.renderDevice = device;
|
||||||
texParams.loadFormat = Nz::PixelFormat::RGBA8_SRGB;
|
texParams.loadFormat = Nz::PixelFormat::RGBA8;
|
||||||
|
|
||||||
std::shared_ptr<Nz::MaterialInstance> material = Nz::Graphics::Instance()->GetDefaultMaterials().phongMaterial->Instantiate();
|
std::shared_ptr<Nz::MaterialInstance> material = Nz::Graphics::Instance()->GetDefaultMaterials().phongMaterial->Instantiate();
|
||||||
material->SetTextureProperty("BaseColorMap", Nz::Texture::LoadFromFile(resourceDir / "Spaceship/Texture/diffuse.png", texParams));
|
material->SetTextureProperty("BaseColorMap", Nz::Texture::LoadFromFile(resourceDir / "box.png", texParams));
|
||||||
|
|
||||||
for (std::size_t y = 0; y < 10; ++y)
|
for (std::size_t y = 0; y < 30; ++y)
|
||||||
{
|
{
|
||||||
for (std::size_t x = 0; x < 10; ++x)
|
for (std::size_t x = 0; x < 30; ++x)
|
||||||
{
|
{
|
||||||
entt::entity spriteEntity = registry.create();
|
entt::entity spriteEntity = registry.create();
|
||||||
{
|
{
|
||||||
|
|
@ -81,11 +81,12 @@ int main()
|
||||||
sprite->SetSize({ 32.f, 32.f });
|
sprite->SetSize({ 32.f, 32.f });
|
||||||
sprite->SetOrigin({ 0.5f, 0.5f });
|
sprite->SetOrigin({ 0.5f, 0.5f });
|
||||||
|
|
||||||
registry.emplace<Nz::NodeComponent>(spriteEntity).SetPosition(1920 / 2 + x * 36.f, 1080 / 2 + y * 36.f);
|
registry.emplace<Nz::NodeComponent>(spriteEntity).SetPosition(windowSize.x * 0.5f + x * 48.f - 15.f * 48.f, windowSize.y / 2 + y * 48.f);
|
||||||
|
|
||||||
registry.emplace<Nz::GraphicsComponent>(spriteEntity).AttachRenderable(sprite, 1);
|
registry.emplace<Nz::GraphicsComponent>(spriteEntity).AttachRenderable(sprite, 1);
|
||||||
auto& rigidBody = registry.emplace<Nz::RigidBody2DComponent>(spriteEntity, physSytem.CreateRigidBody(50.f, std::make_shared<Nz::BoxCollider2D>(Nz::Vector2f(32.f, 32.f))));
|
auto& rigidBody = registry.emplace<Nz::RigidBody2DComponent>(spriteEntity, physSytem.CreateRigidBody(50.f, std::make_shared<Nz::BoxCollider2D>(Nz::Vector2f(32.f, 32.f))));
|
||||||
rigidBody.SetElasticity(0.99f);
|
rigidBody.SetFriction(0.9f);
|
||||||
|
//rigidBody.SetElasticity(0.99f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -94,7 +95,6 @@ int main()
|
||||||
{
|
{
|
||||||
std::shared_ptr<Nz::Tilemap> tilemap = std::make_shared<Nz::Tilemap>(Nz::Vector2ui(40, 20), Nz::Vector2f(64.f, 64.f), 18);
|
std::shared_ptr<Nz::Tilemap> tilemap = std::make_shared<Nz::Tilemap>(Nz::Vector2ui(40, 20), Nz::Vector2f(64.f, 64.f), 18);
|
||||||
tilemap->SetOrigin({ 0.5f, 0.5f });
|
tilemap->SetOrigin({ 0.5f, 0.5f });
|
||||||
tilemap->EnableIsometricMode(true);
|
|
||||||
for (std::size_t i = 0; i < 18; ++i)
|
for (std::size_t i = 0; i < 18; ++i)
|
||||||
{
|
{
|
||||||
std::shared_ptr<Nz::MaterialInstance> material = Nz::Graphics::Instance()->GetDefaultMaterials().basicTransparent->Clone();
|
std::shared_ptr<Nz::MaterialInstance> material = Nz::Graphics::Instance()->GetDefaultMaterials().basicTransparent->Clone();
|
||||||
|
|
@ -111,10 +111,10 @@ int main()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
registry.emplace<Nz::NodeComponent>(groundEntity).SetPosition(1920.f / 2.f, 0.f);
|
registry.emplace<Nz::NodeComponent>(groundEntity).SetPosition(windowSize.x * 0.5f, -windowSize.y * 0.2f);
|
||||||
registry.emplace<Nz::GraphicsComponent>(groundEntity).AttachRenderable(tilemap, 1);
|
registry.emplace<Nz::GraphicsComponent>(groundEntity).AttachRenderable(tilemap, 1);
|
||||||
auto& rigidBody = registry.emplace<Nz::RigidBody2DComponent>(groundEntity, physSytem.CreateRigidBody(0.f, std::make_shared<Nz::BoxCollider2D>(tilemap->GetSize())));
|
auto& rigidBody = registry.emplace<Nz::RigidBody2DComponent>(groundEntity, physSytem.CreateRigidBody(0.f, std::make_shared<Nz::BoxCollider2D>(tilemap->GetSize())));
|
||||||
rigidBody.SetElasticity(0.99f);
|
rigidBody.SetFriction(0.9f);
|
||||||
}
|
}
|
||||||
|
|
||||||
Nz::EulerAnglesf camAngles(0.f, 0.f, 0.f);
|
Nz::EulerAnglesf camAngles(0.f, 0.f, 0.f);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue