Форум: "Игры";
Текущий архив: 2004.01.23;
Скачать: [xml.tar.bz2];
ВнизОшибка в игре Access violation Найти похожие ветки
← →
pavel_k (2003-07-06 00:37) [0]Я пишу игру ala Танчики с помощью DelphiX, проблема вызвана непонятной мне ошибкой. Почему-то, иногда, при старте сцены одиночной игры (вся игра условно делится на сцены - меню, авторы, предъигровая, игровая и др.) возникает ошибка, я так и не смог установить место где она происходит. При этом Делфи пишет примерно следующее: Project TankWars.exe raised exception class EAccess Violation with message "Access violation ( тут не всегда именно такие цифры) Я пишу игру ala Танчики с помощью DelphiX, проблема вызвана непонятной мне ошибкой. Почему-то, иногда, при старте сцены одиночной игры (вся игра условно делится на сцены - меню, авторы, предъигровая, игровая и др.) возникает ошибка, я так и не смог установить место где она происходит. При этом Делфи пишет примерно следующее: Project TankWars.exe raised exception class EAccess Violation with message "Access violation at adress 00418AD5 (тут не всегда именно такие цифры) in module TankWars.exe". Read of address 00000005 (тут не всегда именно такие цифры). (....). Причем, ошибка возникает не всегда, но если несколько раз сменить сцены (запустить игру - выйти в гл.меню; запустить игру и т.д.), она возникает. Никакого видимого эффекта, кроме появления сообщения, я не нашел, сцена стартует нормально. Прошу помочь мне с этим багом, так как это моя первая работа такого масштаба. Если нужен исходный код (я старался снабжать его комментариями), вы можете его скачать здесь: http://www.pavel-k.fromru.com/TankWars_source.exe , но это немало (чуть меньше 550 Kb - Rar самораспаковывающийся), так как тут прилично графики. Да, и если вы все-таки скачали, прошу поделиться замечаниями общего плана.
← →
Asteroid (2003-07-06 13:54) [1]При запсуке "просто так" после выбора одиночной игры система выставляет несколько "Canvas does not allow drawing", при запуске из Delphi - вешает систему на фиг (очевидно, из-за той же ошибки). Значит ты где-то создаешь и не удаляешь dib или используешь еще несозданный. Попробуй Search->Find Error с адресом "at address XXX" - может быть покажет функцию, где произошла ошибка.
P.S. WinME
← →
pavel_k (2003-07-06 20:53) [2]Не знаю, почему у вас происходит "Canvas does not allow drawing", у меня ничего подобного не наблюдалось (Win 2000, Delphi7). С моей ошибкой я так и не разобрался и решил временно забить на нее (не так часто она вылазит). Вот доделаю бета-версию, а потом буду тестить (мне кажется, у меня DirectX глючит, я недавно 9"ый поставил, а удалить не могу, может в нем проблема).
Спасибо за совет о Find Error, не знал о этой возможности.
← →
Land (2003-07-07 17:44) [3]>pavel_k
У меня была та же проблема, что и у тебя(Win2000,dx8). Я тогда делал инициализацию (загрузка графики, звуков, и.т.д.) на OnCreate главной формы, а теперь делаю на OnInitialize моего DxDraw1 и все работает!
← →
Land (2003-07-07 18:28) [4]Я смотрел твои исходники. Мой тебе совет: ты НЕ добьешься высокого FPS если будешь использовать всякие DxSpriteEngine и чужие коды. Для своей игрушки (RPG) я написал собственный движок
конечно основываясь на DelphiX, но без использования SpriteEngine. Результаты удивили даже меня: при 80 анимированных объектах на экране (исключая карту!) FPS равен 100 кадров в секунду!!! Да, и еще совет по звуку: не используй DelphiX"овский компонент для звука. Допустим такая ситуация: у тебя в игре до фига звуков и музыки общим размером 30mb и ты все их грузишь при запуске... :) Во-первых оперативка страдает, во-вторых проигрывать можно только WAV"ы. Используй лучше библиотеку BASS или FMod. Они могут проигрывать и "вав" и mp3 и еще несколько форматов и не надо будет все сразу грузить, и.т.д...
← →
iXuSs (2003-07-07 18:45) [5]> Результаты удивили даже меня: при 80 анимированных объектах на экране (исключая карту!) FPS равен 100 кадров в секунду!!!
А можно ваши характеристики компа?
← →
pavel_k (2003-07-07 19:12) [6]>Я тогда делал инициализацию (загрузка графики, звуков, и.т.д.)
Я попробую.
>ты НЕ добьешься высокого FPS
В данном случае я не считаю это принципиальным.
> Используй лучше библиотеку BASS или FMod
Попытаюсь.
← →
Land (2003-07-09 11:03) [7]
> iXuSs (07.07.03 18:45)
Pentium 450, 64mb опер., NVidia Vanta LT 32mb
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2004.01.23;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c