Войти
Urho3DФорумrbfx

Готовые рецепты rbfx

#0
(Правка: 3 мая 2022, 12:15) 11:59, 29 апр 2022

Добавление свободной камеры:

Если вы используете версию после 3го мая:

 cameraNode_ = scene_->CreateChild("Camera");
    cameraNode_->CreateComponent<Camera>();
    cameraNode_->CreateComponent<FreeFlyController>();
+ если используете версию до 3 мая
#1
(Правка: 14:15) 12:02, 29 апр 2022

Чтение JSON:

структура файла .json

{
    "Language":{
        "en":"Language",
        "ru":"Язык",
        "fr":"Langage",
        "it":"Lingua"
    },
...

}

чтение файла:

auto* cache_ = GetSubsystem<ResourceCache>();
    if(JSONFile* source = cache_->GetResource<JSONFile>("EditorStrings.json"))
    {
        URHO3D_LOGINFO("JSON");
        const auto jObj = source->GetRoot().GetObject();
        for (auto it = jObj.begin(); it != jObj.end(); it++)
        {
            ea::string unitString = it->first.trimmed();
            if(unitString == "Language")
            {
                ea::string name = it->second.GetString();
                const auto jLangValues = it->second.GetObject();
                for (auto it = jLangValues.begin(); it != jLangValues.end(); it++)
                {
                    ea::string unitString = it->first.trimmed();
                    ea::string v = it->second.GetString();
                    URHO3D_LOGINFO("{}={}", unitString, v);
                }

            }
        }
        //
        URHO3D_LOGINFO("JSON END");
    }

результат консоли:

en=Language
fr=Langage
it=Lingua
ru=Язык
JSON END

#2
(Правка: 12:13) 12:13, 3 мая 2022

офф. изменения свободной камеры от 3 мая. Теперь чтобы добавить к камере полёт достаточно написать

 cameraNode_ = scene_->CreateChild("Camera");
    cameraNode_->CreateComponent<Camera>();
    cameraNode_->CreateComponent<FreeFlyController>();
Urho3DФорумrbfx