Simple Counter Example - Urho3d Typing CST Test
Loading…
Simple Counter Example — Urho3d Code
A minimal Urho3D C++ example demonstrating a counter incremented by keyboard input.
#include <Urho3D/Engine/Application.h>
#include <Urho3D/Input/Input.h>
#include <Urho3D/Engine/Engine.h>
#include <Urho3D/UI/Text.h>
using namespace Urho3D;
class CounterApp : public Application {
public:
CounterApp(Context* context) : Application(context), count(0) {}
void Setup() override {}
void Start() override {
text = new Text(context_);
text->SetText("Count: 0");
text->SetFont(GetSubsystem<ResourceCache>()->GetFont("Fonts/Anonymous Pro.ttf"), 40);
GetSubsystem<UI>()->GetRoot()->AddChild(text);
}
void Stop() override {}
void Update(float timeStep) {
Input* input = GetSubsystem<Input>();
if (input->GetKeyDown(KEY_UP)) count++;
if (input->GetKeyDown(KEY_DOWN)) count--;
text->SetText("Count: " + String(count));
}
private:
int count;
SharedPtr<Text> text;
};
URHO3D_DEFINE_APPLICATION_MAIN(CounterApp)Urho3d Language Guide
Urho3D is an open-source, cross-platform 2D and 3D game engine written in C++ with optional AngelScript and Lua scripting. It provides a lightweight, flexible environment for building games and real-time simulations.
Primary Use Cases
- ▸2D and 3D PC games
- ▸Mobile games (Android/iOS)
- ▸Educational simulations
- ▸Real-time visualizations
- ▸Interactive prototypes
Notable Features
- ▸C++ core with scripting via AngelScript/Lua
- ▸Cross-platform (Windows, macOS, Linux, iOS, Android)
- ▸Scene graph and node-based architecture
- ▸Integrated physics (Bullet Physics) and networking
- ▸Flexible rendering pipeline (shaders, lights, shadows)
Origin & Creator
Urho3D was created in 2007 by the Finnish developer Jukka Jylänki, later developed and maintained by a community of contributors.
Industrial Note
Urho3D is valued by developers seeking a lightweight, open-source engine with full access to C++ code, cross-platform deployment, and integrated physics and rendering systems.