Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 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
11-72699
acp
2003-05-05 23:30
2004.01.23
TStringList (VCL) & PStrList


1-72750
Voice
2004-01-14 12:01
2004.01.23
Путь к файлу из переменной типа file of...


14-72896
Knight
2004-01-01 20:31
2004.01.23
Боты...


1-72719
volser
2004-01-08 21:01
2004.01.23
popup menu in TWebBrowser


8-72841
AGGRESSOR
2003-09-18 13:17
2004.01.23
Lame_enc.dll





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский