Форум: "Игры";
Текущий архив: 2003.02.13;
Скачать: [xml.tar.bz2];
ВнизГэйм Энджин Найти похожие ветки
← →
Some0ne. (2002-09-09 01:09) [0]Пишу свою игрушку, и столкнулся с такой проблемой:
я использую классы и обьекты. Есть 2 класса
TTank = class // танк
x,y,z:real;
Constructor Create(x,y);
........
end;
Tsurface = class // поверхность земли
function GetZ(x,y:real):real; // возвращает значение высоты в точке (х,у)
.......
End;
Из них создаются обьекты:
Ground := Tsurface.create;
player1 := TTank.create(x1,y1);
Player2 := TTank.create(x2,y2);
...............
Так вот, необходимо чтобы при создании объекта класса ТТанк (например player1), вызывалась функция объекта Ground.GetZ
Как мне КРАСИВО сделать подобное взаимодействие обьектов? А то мне каждый раз приходится писать:
player1.z := ground.GetZ(player1.x, player1.y);
player2.z := ground.GetZ(player2.x, player2.y);
..............................................
Вроде надо использовать иерархию, наследование и тд классов?
Помогите, плз, а то очень надо. Хороший проект простаивает. =(
Ну или дайте ссылку на то, как вообще на Дельфи писать свой игровой движок.....
← →
irenfd (2002-09-09 02:56) [1]Я мыслю так: Если танк все равно стоит на земле (не может же он летать :-)) то сделай его наследником TSurface или что-то в этом роде, ведь рано или поздно будешь выяснять координату танка на земле - а это свойство танка, наследованное от TSurface и т д.
← →
Artemiy (2002-09-09 14:31) [2]Some0ne.
попробуй так...
Tsurface = class // поверхность земли
function GetZ(x,y:real):real; // возвращает значение высоты в точке (х,у)
.......
End;
TTank = class(Tsurface) // танк
x,y,z:real;
Constructor Create(x,y);
........
end;
player1 := TTank.create(x1,y1);
Player2 := TTank.create(x2,y2);
...............
а в конструкторе TTank.Create
пишеш
x:=x;
y:=y;
z:=GetZ(x,y);
← →
Some0ne (2002-09-10 00:02) [3]Спасибо всем. Попробую так сделать. А может ктонть знает где можно почитать про основные принципы написания Гэйм Энджина? А то самому изобретать велосипед не хочется.......
← →
Artemiy (2002-09-10 01:05) [4]Some0ne
иди на www.gamedev.ru, там в есть ссылки на хорошие статьи!
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2003.02.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c