Форум: "Игры";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];
Внизкак сделать звезды в glscne? Найти похожие ветки
← →
mrk (2003-06-15 16:33) [0]Космический корабль, вид от 3-го лица.При полете по экрану должны пролетать звезды, от центра до краев, как в скринсейвере "сквозь вселенную" в виндах.Не знаю как это реализовать.
← →
Asteroid (2003-06-15 18:05) [1]сделай туннель из спрайтов/точек, игрок в центре туннеля. Или же ты хочешь все игровое пространство забить звездами?
← →
Juster~ (2003-06-15 18:26) [2]Вобщето звезды не могут так пролетать, это скорее не звезды, а космический мусор. Реализовать очень просто:
создаем массив точек(60-100), при перемещении корабля перемещаем все точки, но в инвертированном направлении, если они выйдут за границу (10-20), перемещаем на другой край (это создаст впечатления их появления). Вот мой класс:
constructor TGSpaceTrash.Create;
var i : Integer;
begin
for i := 0 to 60 do
Layer[i] := VectorMake(random*32-16, random*32-16, random*32-16);
end;
procedure TGSpaceTrash.Update;
var i : Integer;
vel : TVector;
begin
for i := 0 to 60 do
begin
vel := Player.Velocity;
NegateVector(vel);
AddVector(Layer[i], vel);
if Layer[i][0]>16 then Layer[i][0] := -16;
if Layer[i][0]<-16 then Layer[i][0] := 16;
if Layer[i][2]>16 then Layer[i][2] := -16;
if Layer[i][2]<-16 then Layer[i][2] := 16;
end;
end;
procedure TGSpaceTrash.Render;
var i : Integer;
begin
glPushMatrix;
glTranslatef(Player.Position[0], Player.Position[1], Player.Position[2]);
glBegin(GL_POINTS);
for i := 0 to 60 do
( @Layer[i]) [2] Вобщето звезды не могут так пролетать, это скорее не звезды, а космический мусор. Реализовать очень просто:
создаем массив точек(60-100), при перемещении корабля перемещаем все точки, но в инвертированном направлении, если они выйдут за границу (10-20), перемещаем на другой край (это создаст впечатления их появления). Вот мой класс:
constructor TGSpaceTrash.Create;
var i : Integer;
begin
for i := 0 to 60 do
Layer[i] := VectorMake(random*32-16, random*32-16, random*32-16);
end;
procedure TGSpaceTrash.Update;
var i : Integer;
vel : TVector;
begin
for i := 0 to 60 do
begin
vel := Player.Velocity;
NegateVector(vel);
AddVector(Layer[i], vel);
if Layer[i][0]>16 then Layer[i][0] := -16;
if Layer[i][0]<-16 then Layer[i][0] := 16;
if Layer[i][2]>16 then Layer[i][2] := -16;
if Layer[i][2]<-16 then Layer[i][2] := 16;
end;
end;
procedure TGSpaceTrash.Render;
var i : Integer;
begin
glPushMatrix;
glTranslatef(Player.Position[0], Player.Position[1], Player.Position[2]);
glBegin(GL_POINTS);
for i := 0 to 60 do
glVertex3fv(@Layer[i]);
glEnd;
glPopMatrix;
end;
← →
mrk (2003-06-15 23:36) [3]to Asteroid
По поводу спрайтов, у меня тоже возникла такая идея, но я думал что проще можно реальзовать.
to Juster~
Всем хорошо, кроме одного - это же..на опенгл..где-то тут про несовместимось с glscene было написано..так что теперь самое сложное осталось..присобачить это к моему прожекту.
← →
Juster~ (2003-06-15 23:55) [4]Ааа, ты GLScene юзаешь, ну тогда сам думай...
← →
mrk (2003-06-16 00:50) [5]тема звучала так - "как сделать звезды в glscne?" :)
← →
Asteroid (2003-06-16 03:11) [6]> Juster~ (15.06.03 18:26)
Во только если их просто перемещать на другой край, будут заметны повторы. Можно добавить случайное появление "мусора" на стенке - все равно вряд ли кто заметит несоответствие
← →
pasha676 (2003-06-16 10:11) [7]Первое что приходит в голову - двигающаяся текстура. Второе что приходит в голову - частицы.
← →
Juster~ (2003-06-16 13:01) [8]2pasha676: нет, текстуры не надо. надо частицы
2Asteroid: нет, повторы заметны не будут
← →
pasha676 (2003-06-16 13:28) [9]Но движущаяся текстура должна вроде сожрать меньше ресурсов. И вроде выглядеть будет не плохо. Наверное.
← →
mrk (2003-06-16 14:47) [10]Да, с частицами тормоза пойдут в glscene скорее всего.Буду пробовать текстуру.
← →
Juster~ (2003-06-16 18:23) [11]Вы чего?! КАКИЕ ТОРМОЗА?! Тормоза от GL_POINTS? Это же обычные точки, не надо никаких партиклов...А выглядеть будет хуже, потому что она плоская. Тогда уж надо несколько слоев делать, а это накладно. Еще сомнения есть?
← →
mrk (2003-06-16 18:34) [12]Есть - Gl_points в glscene?
← →
Alek Aaz (2003-06-18 08:52) [13]В новой CVS-ной версии есть объект TGLPoints.
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c