Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 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
1-1094599162
Jetus
2004-09-08 03:19
2004.09.26
MSI и Delphi


9-1084354810
AxxxE
2004-05-12 13:40
2004.09.26
Смотрим через "камеру" на плоскость


1-1094587640
AllDer
2004-09-08 00:07
2004.09.26
упрямый TabOrder


14-1094335114
Incognito (c)
2004-09-05 01:58
2004.09.26
Как программно узнать?


3-1093605024
Zhekson
2004-08-27 15:10
2004.09.26
потеря информации





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский