Ваша гра очікує завантаження певного активу, але він не знайдений. Як слід вирішувати ситуацію? Наприклад:
Texture* grassTexture = LoadTexture("Grass.png"); // returns NULL; texture not found
Mesh* car = LoadMesh("Car.obj"); // returns NULL; 3D mesh not found
Користувач може бути випадково видалений, зіпсований або неправильно написаний під час розробки.
Деякі можливі відповіді:
- Твердження (в ідеалі лише під час розвитку)
- Вихід із гри витончено
- Киньте виняток і спробуйте впоратися з ним.
Який спосіб найкращий?
Один із способів зробити це - перевірити, чи є дані гри ще недоторканими. Якщо це не автоматично, перезавантажте відсутні дані. помилка> попросити користувача перевірити дані> завантажити. Вам, очевидно, потрібно створити для цього невеликий інструмент.
—
Сидар
@Sidar Мені подобається те, що ти сказав більше, ніж відповідь, яка найбільше проголосувала, можливо, ти можеш пояснити краще, що ти намагаєшся сказати
—
concept3d
Потворність помилок полягає в тому, що іноді вона просто порушує гру, і люди не можуть її грати / запускати. Наприклад, в Steam, якщо ваша гра не працює належним чином, ви можете перевірити її дані. Коли щось здається пошкодженим / відсутнім / зміненим, Steam автоматично завантажить ці файли. Я не знаю точно, як вони це роблять. Але вони, очевидно, перевіряють це на деяких даних. Можливо, хеш-коди? Я насправді не знаю. Але у вас завжди повинен бути стандартний актив заміни (просто текстура, яка говорить про "помилку" на ньому чи щось)
—
Сидар
@Sidar чому б не відформатувати його у відповідь?
—
concept3d
Тому що я не знаю точно, як це працює, і не хочу, щоб дезінформувати про це. Тож я не міг дати тобі належної відповіді.
—
Сидар