Schüsse

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

FBI-blitz

Betreff: Schüsse

BeitragDo, Jun 23, 2005 7:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich bin nun endlich beim Schießen bei meinem Spiel angekommen. Wie soll ich das jetzt realisieren? Also ich kann schon schißen, das mit dem Sound etc ist kein problem. Nur die Darstellung:

-Soll ich eine Patrone als Mesh machen, die dann wirklich aus der Kanone rausfliegt und einen treffen kann,

oder

-einen Pivot nehmen, und kein mesh

oder

-Einfach nur überprüfen, ob die Pistole im richtigen Winkel ist, dass sie auf das Ziel zeigt.


Die erste Methode braucht die meiste Rechenleistung. Die letzte am wenigsten. Aber wie macht ihr das in euren Spielen?
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

Ornos

BeitragDo, Jun 23, 2005 8:11
Antworten mit Zitat
Benutzer-Profile anzeigen
für die kugeln würde ich lieber sprites benutzen, sind performancefreundlicher.
und die testest du dann auf kollision.
außer bei großen sachen, wie missiles würde ich meshs benutzen.
Projekt: Dash Off & DO - Times
Status: a0.6 & b0.7
http://www.dashoff.de.vu

Lunatix

BeitragDo, Jun 23, 2005 9:17
Antworten mit Zitat
Benutzer-Profile anzeigen
-> Suche -> Schiessen ->finden!

aber bin ja net ganz so

Wenn du die mausteste drückst ->

BlitzBasic: [AUSKLAPPEN]

Type feuer
Field sprite
End Type
While Not KeyHit(1)

If MouseHit(1)
Feuer()
EndIf

updatefeuer()
UpdateWorld
RenderWorld
Flip 0
Wend

Function feuer()
F.Feuer = New Feuer

F\sprite=LoadSprite(\"sprite.endung\")
PositionEntity f\sprite,EntityX(player),EntityY(player),EntityZ(player)
RotateEntity f\sprite,EntityPitch(player),EntityYaw(player),EntityRoll(player)
MoveEntity f\sprite,0,0,MeshDepth(player)

End Function

Function UpdateFeuer()
For f\feuer = Each feuer
MoveEntity f\sprite,0,0,20
Next
End Function
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

Klip

BeitragFr, Jun 24, 2005 7:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe immer einen Sphere als Mesh genommen und den klein skaliert.

Von Performance hatte ich da aber auch noch nicht so viel gehört ^^

Funktioniert aber.
 

FBI-blitz

BeitragFr, Jun 24, 2005 12:23
Antworten mit Zitat
Benutzer-Profile anzeigen
danke Smile
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+
 

FBI-blitz

BeitragSa, Jun 25, 2005 21:31
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, dann nehm ich jetzt einfach mal n sprite. Aber wär n Pivot, vor allem, da man die Kugel eh kaim wahrnimmt, nicht praktischer?
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

MaTrixCruiser

BeitragSo, Jun 26, 2005 16:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe es mit camerapick gemacht.
Amd 64 3200+ (939 winchester)
nvidea 6600gt (PCI-E)
1024 ddr400
200GB HDD
S
 

aave13

BeitragSa, Sep 09, 2006 13:09
Antworten mit Zitat
Benutzer-Profile anzeigen
JunkProgger hat Folgendes geschrieben:
-> Suche -> Schiessen ->finden!

aber bin ja net ganz so

Wenn du die mausteste drückst ->

BlitzBasic: [AUSKLAPPEN]

Type feuer
Field sprite
End Type
While Not KeyHit(1)

If MouseHit(1)
Feuer()
EndIf

updatefeuer()
UpdateWorld
RenderWorld
Flip 0
Wend

Function feuer()
F.Feuer = New Feuer

F\sprite=LoadSprite("sprite.endung")
PositionEntity f\sprite,EntityX(player),EntityY(player),EntityZ(player)
RotateEntity f\sprite,EntityPitch(player),EntityYaw(player),EntityRoll(player)
MoveEntity f\sprite,0,0,MeshDepth(player)

End Function

Function UpdateFeuer()
For f\feuer = Each feuer
MoveEntity f\sprite,0,0,20
Next
End Function


bei mir wird dann angezeigt "variable must be a type"...

Black Spider

BeitragSa, Sep 09, 2006 15:58
Antworten mit Zitat
Benutzer-Profile anzeigen
mit CameraPick ist´s am einfachen.

Globale Variable "picked" setzen;

Code: [AUSKLAPPEN]
If MouseHit(1) Then picked = CameraPick(camera,Graphicswidth/2,Graphicsheight/2)


und dann einfach überprüfen, ob der Gegner getroffen wurde...
Coming soon:
http://img132.imageshack.us/im...im2ab6.gif

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group