Форум: "Игры";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
ВнизGLScene стрельба Найти похожие ветки
← →
FRick © (2004-05-29 18:59) [0]У кого нибуть есть пример стрельбы очень надо Плизз
← →
Алекс А (2004-05-30 05:56) [1]Конечно есть. См тему про танк : http://delphimaster.net/view/9-1084228298/
Я там сделал стрельбу. Расскажу как, если придумаешь как сделать там второй танк.
← →
DeadMeat © (2004-05-30 11:25) [2]Второй танк уже сделан... Только вот времени у меня нет, чтобы настроить работу в сети более точно... Пока немного глючит, но в общем принцип ясен... Делал всё наспех, поэтому пока работает только два клиента и два танка, но поэтому принципу, можно всё автоматизировать и сделать всё как надо... Отдельный сервер (здесь пока оба клиенты равнозначны) и добавление сколько угодно танков... Если надо будет добавлять танки-боты, то надо будет немного видо изменить всё, но принцип тотже...
Качать отсюда http://deadmeat.nightmail.ru/FireBrand-Preview.zip
Там исходник и *.EXE. Вначале запускаете одного клиента, немного отъезжаете назад (пока OK не нажимайте), потом запускаете второго клиента, и коннектите их друг с другом...
Повторяю, это лишь основной принцип, глюков в сети много, а на локальном компе (если на одном запускать обоих) нормально...
---
...Death Is Only The Begining...
← →
FRick © (2004-05-30 11:57) [3]http://deadmeat.nightmail.ru/FireBrand-Preview.zip
С неё не заливается;
У меня уже есть FireBrand-Preview но но Делфи не компилит
вот GLScene обновлю!!
← →
КиТаЯц (2004-05-31 07:10) [4]МОДЕРАТОРЫ!!! Открывайте отдельную ветку по GLScene плиз! Назрело уже!
← →
Алекс А (2004-06-01 05:19) [5]
> DeadMeat © (30.05.04 11:25) [2]
А где форма то ? Там только pas файл один.
← →
DeadMeat © (2004-06-01 17:36) [6]> [5] Алекс А (01.06.04 05:19)
Неужели она так нужна... Ну ладно ща выкину тудаже...
---
...Death Is Only The Begining...
← →
DeadMeat © (2004-06-01 18:02) [7]Уже залил...
> [3] FRick © (30.05.04 11:57)
У меня тоже не всегда :)
---
...Death Is Only The Begining...
← →
FRick © (2004-06-01 18:33) [8]Елки палки не чечет она токо 20kb ошибка и WinRAR архив не
выварачивает пищет ОШИБКА!!
← →
DeadMeat © (2004-06-01 18:41) [9]Короче хз... Тут (или там) один вроде писал, что чего-то надо сделать с FlashGet-ом и тады всё нормально будет... Если хош, я тебе на мыло скину...??
---
...Death Is Only The Begining...
← →
FRick © (2004-06-01 19:22) [10]Давай там что нужно сделать!
← →
kerby © (2004-06-02 15:37) [11]в каком понятие стрельба
-полет патрона???
-анимация выстрела???
← →
FRick © (2004-06-02 15:40) [12]С полетом пули разобрался летит во все стороны,
а вот анимация.
← →
FRick © (2004-06-02 15:42) [13]И ещё обработка столкновения пули с сферой или е с чем нибудь,
вот код:unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
GLScene, ExtCtrls, GLMisc, GLObjects, GLCadencer, StdCtrls, GLVectorFileObjects,
Buttons, ComCtrls, Keyboard, jpeg, GLGraph, VectorGeometry, GLFireFX, GLSkydome,
GLTexture, ExtDlgs, GLWin32Viewer, VectorTypes, GLBehaviours, GLNavigator,
GLCollision;
type
TForm1 = class(TForm)
GLScene1: TGLScene;
GLSceneViewer1: TGLSceneViewer;
GLDummyCube2: TGLDummyCube;
GLCamera1: TGLCamera;
GLLightSource1: TGLLightSource;
GLCadencer1: TGLCadencer;
GLNavigator1: TGLNavigator;
GLUserInterface1: TGLUserInterface;
GLActor1: TGLActor;
GLSceneViewer2: TGLSceneViewer;
GLCamera2: TGLCamera;
GLSphere1: TGLSphere;
CollisionManager1: TCollisionManager;
Timer1: TTimer;
Label1: TLabel;
procedure GLSceneViewer1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure GLCadencer1Progress(Sender: TObject; const deltaTime,
newTime: Double);
procedure CollisionManager1Collision(Sender: TObject; object1,
object2: TGLBaseSceneObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Nbull: integer = 0; //Изначальный номер пули
SpeedBull: real = 0.03; //Скорость пули
implementation
{$R *.dfm}
//При нажатие левой кнопки мыши потрон стреляет
procedure TForm1.GLSceneViewer1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
Var
Tmp:TGLSphere;
t:integer;
begin
//Создание
Tmp:=GLScene1.Objects.AddNewChild(TGLSphere) as TGLSphere;
Tmp.Name:="Bull"+IntToStr(NBull);
Tmp.Position:=GLDummyCube2.Position;
Tmp.Direction:=GLDummyCube2.Direction;
Tmp.Material.FrontProperties.Emission.AsWinColor:=clWhite;
//Tmp.Scale.SetVector(0.1,0.1,3);
Tmp.Radius:= 0.01;
Inc(NBull);
end;
procedure TForm1.GLCadencer1Progress(Sender: TObject; const deltaTime,
newTime: Double);
Var a,t,t1:integer;
tmp:TGLBaseSceneObject;
tmp1:TGLSphere;
s:string;
begin
if iskeydown ("W") then begin
GLNavigator1.MovingObject.Move(-0.1);
end;
CollisionManager1.CheckCollisions;
//HandleKeys(deltaTime);
GLUserInterface1.Mouselook;
GLSceneViewer1.Invalidate;
GLUserInterface1.MouseUpdate;
GLUserInterface1.MouseLookActive:= true; //Движение курсора
// Двигаем пули
t1:=GLScene1.Objects.Count;
t:=0; Repeat s:= GLScene1.Objects.Children[t].Name;
IF Pos("Bull",s)<>0 Then
// если объект -наша созданная пуля
Begin
Tmp1:=GLScene1.Objects.Children[t] as TGLSphere;
Tmp1.Move(speedbull);
IF Tmp1.DistanceTo(GLActor1)>200 then
// далеко пуля ?
Begin tmp1.Destroy;
t1:=GLScene1.Objects.Count;
End
Else
t:=t+1;
End
Else
t:=t+1;
Until
t>(t1-1);
//
IF NBull=99999 then Nbull:=0;
end;
procedure TForm1.CollisionManager1Collision(Sender: TObject; object1,
object2: TGLBaseSceneObject);
begin
if object1.ClassName="TGLSphere" then
ShowMessage("Проверка");
if object2.ClassName="TGLSphere" then
ShowMessage("Проверка");
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Caption:=Format("%.1f FPS", [GLSceneViewer1.FramesPerSecond]);
GLSceneViewer1.ResetPerformanceMonitor;
end;
end.
← →
kerby © (2004-06-02 15:43) [14]простейшая анимация когдато мутил это дело
http://kerbysoft.narod.ru/faq/urok2.zip
← →
FRick © (2004-06-02 15:46) [15]>kerby
ну спасибо!
← →
kerby © (2004-06-02 15:47) [16]не так не пойдет создавай классы с обработками
← →
FRick © (2004-06-02 16:07) [17]Этот код я нашол в архивах старых форумов
бытался сделать обработку столкновений какаето ошибка была непомню!
а так всё нормально пуля улетает и исчезает пролетев 200 единиц от Actor1
а насчет классов я мало что знаю!
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.036 c