Форум: "Начинающим";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];
ВнизПомогите, возникла проблема с игрой Найти похожие ветки
← →
Cavalera © (2007-04-21 15:01) [0]Я начал делать игру на Дельфи без применения DirectX и OpenGl. Всю программу разбил на две части: меню и сама игра. Меню включает в себя несколько форм и форму заставку, которая естественно появляется при загрузке. Сама игра сделана на двух формах: форма на которой происходит сама игра и форма-меню для выхода или начать заново, и модуль с классами. Начальные параметры(здоровье и т.п.) считываются из текстового файла. По отдельности и меню, и сама игра работают, но когда я добавляю в проект с меню модули самой игры и запускаю компиляцию происходит следующее: появляется заставка игры, исчезает (так и должно быть), потом появляется меню. Ещё секунда и игра виснет. Закрываю через диспетчер задач, у Дельфи сообщение об ошибке вроде Access Volitation и появляется предложение отправить анонимный отчёт. Синяя полоска всегда оказывается в модуле с классами. И ещё, если запустить ехе-шник этого проекта, то происходит вот, что: появляется заставка игры, закрывается, появляется меню игры, секунда и выскакивает много сообщений об ошибке Access Volitation (вроде так) и звучит звук из самой игры, который должен воспроизводиться когда мало или нет здоровья игрока.
Может кто знает что это и как это можно исправить?
← →
XProger © (2007-04-21 15:49) [1]Прекратить лезть в невыделенную область памяти.
Как узнать где ты это делаешь поможет обычное "вырезание" относительно независимых кусков программы, и последующее разбиение этих кусков на более мелкие вплоть до самого источника ошибки :)
← →
cavaera (2007-04-22 13:23) [2]А каким образом там могла появиться невыделенная память?
← →
RzCoDer © (2007-04-22 13:59) [3]
> cavaera (22.04.07 13:23) [2]
не проинициализировал динамический массив и/или вышел за пределы массива при обращении
← →
Cavalera © (2007-04-23 11:02) [4]в программе нет динамичческих массивов
← →
antonn © (2007-04-23 13:01) [5]зато есть адрес на проблемный код :/
← →
Мистер Т (2007-04-23 13:03) [6]Ошибка в 16 строке.
← →
Cavalera © (2007-04-24 11:02) [7]
> Ошибка в 16 строке
Откуда ты знаешь, что там?
← →
Cavalera © (2007-04-24 11:03) [8]
> зато есть адрес на проблемный код :/
Что ты имеешь ввиду?
← →
Rial © (2007-04-24 11:14) [9]
> Cavalera
> Откуда ты знаешь, что там?
> Что ты имеешь ввиду?
Тут либо код надо выкладывать, чтобы ошибку найти... но это
плохой способ, вряд ли кто то будет его лопатить.
Либо..
1. Отладчик
2. Try, Except/Finally
3. Range Checking (маловероятно)
4. Кривые указатели
5. Несозданные классы
6. Да куча есть способов находить ошибки такого рода,
только дело надо иметь с реальных кодом, а не с абстрактными
умозаключениями.
← →
Cavalera © (2007-04-24 11:21) [10]Что такое кривые указатели?
← →
Cavalera © (2007-04-24 11:21) [11]Что такое кривые указатели?
← →
Сергей М. © (2007-04-24 11:40) [12]
> Что такое кривые указатели?
Те которые заведомо не "прямые" - указывают черт-те куда, только не туда куда им положено указывать по твоей логике.
← →
Rial © (2007-04-24 15:42) [13]> [10] Cavalera © (24.04.07 11:21)
Вобщем, если ты отловиш пару таких глюков, у тебя появится
ценный опыт. И другим путем тебе его не получить,
кроме как методом проб и ошибок сделать все самому.
← →
Плохиш © (2007-04-24 15:48) [14]
> Cavalera © (24.04.07 11:02) [7]
>
> > Ошибка в 16 строке
>
> Откуда ты знаешь, что там?
Он не прав, ошибка в следующей строке
> Cavalera © (24.04.07 11:21) [11]
> Что такое кривые указатели?
Это указатели, которых касались кривые руки при неработающем мозге...
← →
@!!ex © (2007-04-24 20:15) [15]Я в шоке....
И ведь не зная что такое указатели и как выделяется память народ умудряется писать игры с заставками и звуком....
.....
← →
Rial © (2007-04-24 23:56) [16]А во всем виноваты эти *поганые* движки типа GLScene...
Развращает это народ. Типа сел за комп, и пошел игрухи
писать, да трехмерные, да с крутыми моделями !
Сори... крик души. :D
← →
givigudze © (2007-04-26 10:22) [17]Да че парня то парите так.
Слушай сюда
1 Если только начал прогить надо все реализовывать в одной форме
Все кнопки меню лабелы можно делать невидимыми, а можно самому написать в Канве - богатый опыт и не кто не вскроит текстовики а то есть любители
2 Игра без DirectX и OpenGL - это обогреватель а не игра, если ты конечно не продумаешь код и графика у тебя будет примитивной
3 Пиши код максимально просто разбивая на процедуры
4 В начале сделай игру без звука с ним можно напариться потому что ты в игре его сам не создаешь а рубишь из файла.
← →
Cavalera © (2007-04-28 11:52) [18]Игра не DirectX и не на OpenGl потому что это курсовая и она должна быть написана на основе изученного материала ( 3д мы не изучали). Никакие движки здесь не причём. Весь код написан мною от руки.
Я слышал, что эта ошибка может возникать если в разных юнитах есть переменные с одинаковым именем, я перемеиновал те которые были одноимёнными, но эта фигня повторяется опять. Сделал ещё вот как: создал новый проект и добавил в него саму игру. Опять то же самое. Может кто-нибудь знает что это может быть?
P.S. Пожалуйста, могли бы Вы не писать ответы, которые по сути никакого отношения к моему вопросу не имеют. Заранее Вам благодарен.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.041 c