Added the example application; Added the default window icon
This commit is contained in:
1 parent
805a1cef1f
commit
30e725b2f4
13 files changed
+244
-4
No files matched your search
+58
-2
@@ -2,17 +2,73 @@
|
||||
|
||||
void MainState::onEnter() {
|
||||
Log("MainState onEnter!");
|
||||
|
||||
camera->setType(nf::Camera::Type::FIRST_PERSON);
|
||||
ap.load("CubeTest.nfpack");
|
||||
test.create(ap["spec.obj"]);
|
||||
test.setPosition(0.0, 0.0, -5.0);
|
||||
plane.create(nf::BaseAssets::plane);
|
||||
plane.setPosition(0.0, -2.0, 0.0);
|
||||
plane.setScale(10.0);
|
||||
text.create("This is a test text.", nf::Vec2(0.1, 0.025), nf::Vec3(0.7));
|
||||
text.centered(true);
|
||||
uiTex.create(nf::BaseAssets::logo, nf::Vec2(0.025, 0.025), 0.5);
|
||||
button.create(nf::Vec2(0.8, 0.025), "Reset");
|
||||
light.create(nf::Vec3(0.0, 5.0, 0.0), nf::Vec3(1.0, 1.0, 1.0), 1.3);
|
||||
cm.create(nf::BaseAssets::cubemap);
|
||||
}
|
||||
|
||||
void MainState::update(double deltaTime) {
|
||||
if (app->isKeyPressed(NFI_U))
|
||||
camera->setType(nf::Camera::Type::UI);
|
||||
if (app->isKeyPressed(NFI_P))
|
||||
camera->setType(nf::Camera::Type::FIRST_PERSON);
|
||||
|
||||
double speed = 5.0;
|
||||
if (camera->getType() == nf::Camera::Type::FIRST_PERSON) {
|
||||
if (app->isKeyHeld(NFI_SHIFT))
|
||||
speed = 20.0;
|
||||
else
|
||||
speed = 5.0;
|
||||
if (app->isKeyHeld(NFI_W))
|
||||
camera->moveForward(speed * deltaTime);
|
||||
if (app->isKeyHeld(NFI_S))
|
||||
camera->moveBackward(speed * deltaTime);
|
||||
if (app->isKeyHeld(NFI_D))
|
||||
camera->moveRight(speed * deltaTime);
|
||||
if (app->isKeyHeld(NFI_A))
|
||||
camera->moveLeft(speed * deltaTime);
|
||||
}
|
||||
|
||||
float offset = 0.5f;
|
||||
if (app->isKeyHeld(NFI_UP))
|
||||
yrot += offset;
|
||||
if (app->isKeyHeld(NFI_DOWN))
|
||||
yrot -= offset;
|
||||
if (app->isKeyHeld(NFI_LEFT))
|
||||
xrot += offset;
|
||||
if (app->isKeyHeld(NFI_RIGHT))
|
||||
xrot -= offset;
|
||||
test.setRotation(-yrot, -xrot, 0.0);
|
||||
|
||||
text.setText("FPS: " + std::to_string(app->getFPS()));
|
||||
|
||||
if (button.isClicked())
|
||||
app->changeState("Main State");
|
||||
if (app->isKeyPressed(NFI_ESCAPE))
|
||||
app->quit();
|
||||
}
|
||||
|
||||
void MainState::render(nf::Renderer& renderer) {
|
||||
|
||||
renderer.render(test);
|
||||
renderer.render(plane);
|
||||
renderer.render(text);
|
||||
renderer.render(uiTex);
|
||||
renderer.render(button);
|
||||
renderer.render(light);
|
||||
renderer.render(cm);
|
||||
}
|
||||
|
||||
void MainState::onExit() {
|
||||
Log("MainState onExit!");
|
||||
xrot = yrot = 0.0f;
|
||||
}
|
||||
@@ -10,5 +10,15 @@ public:
|
||||
|
||||
void onExit() override;
|
||||
private:
|
||||
nf::AssetPack ap;
|
||||
nf::Entity test;
|
||||
nf::Entity plane;
|
||||
nf::Text text;
|
||||
nf::UITexture uiTex;
|
||||
nf::Button button;
|
||||
nf::Light light;
|
||||
nf::Cubemap cm;
|
||||
|
||||
float xrot, yrot;
|
||||
|
||||
};
|
||||
Reference in new issue
Block a user