FrToT 发表于 2026-3-19 18:21:28

FindObjectsOfType 获取报错

try {
                                il2cpp_thread_attach(il2cpp_domain_get());
                                Il2CppString* typeName = create_il2cpp_string(L"RF4.Client.FishingScene.Duck, Assembly-CSharp");
                                void* duckType = GetType(typeName);
                                if (duckType) {
                                        Il2CppArray* arrlist = (Il2CppArray*)FindObjectsOfType(duckType);
                                        if (arrlist && arrlist != (Il2CppArray*)0xCCCCCCCCCCCCCCCC && arrlist->max_length > 0 && arrlist->vector) {
                                                for (int i = 0; i < arrlist->max_length; ++i) {
                                                        void* component = ((void**)arrlist->vector);
                                                        void* gameObject = GetGameObject(component);
                                                        Render::Duckinstall(gameObject);
                                                        Render::DrawDuck();
                                                }
                                        }
                                }
}
catch (...) {
                               
}

当我在 Il2cpp 中绘制一个物品时,我需要调用 FindObjectsOfType 来每帧获取一个实例。为什么添加新实例后会崩溃?
我尝试添加一个新线程来更新实例数组,但因为它访问了一个旧实例,导致崩溃。


页: [1]
查看完整版本: FindObjectsOfType 获取报错