3D Schüsse

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Lakorta

Betreff: 3D Schüsse

BeitragSo, Okt 03, 2010 11:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab ein Problem mit den Schüssen bei meinem 3D Spiel. Man fliegt da mit einem Flieger über eine Landschaft rum, und soll auch schisßen können. Nur irgendwie krieg ich das nicht hin. Ich hab schon Forensuche benutzt und mehrere Sachen ausprobiert, aber irgendwie klappts nicht...

NightPhoenix

BeitragSo, Okt 03, 2010 11:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann hast du wohl nicht gründlich genug gesucht. So ziemlich jeder Treffer in der Suche schreit förmlich nach "Types". Types sind gerade dann sinnvoll wenn du eine unbekannte Anzahl von Objekten (od. Typ-Einträgen) im laufenden Programm erstellst. Mal sind's Null mal sind's Tausende.

Mach dich über "Type" (plural Types) schlau. Wink

count-doku

BeitragSo, Okt 03, 2010 11:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

genaueres zu Schüssen und Types findest du auch im Ordner Blitz3D\samples\mak\castle
Finde an dem Code kann man Types ganz gut lernen.

mfg,
count-doku
 

Sterbendes Lüftlein

BeitragSo, Okt 03, 2010 11:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Text entfernt

Raiden93

BeitragSo, Okt 03, 2010 12:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weis jetzt nicht ob das stimmt aber meiner Meinung nach solltest du erstmal mit 2D anfangen,bevor du dich der 3D Programmierung widmest.Und dazu gibt es genug Tutorials.Such einfach mal nach einem Type Schuss Tutorial. Wink

Lakorta

BeitragSo, Okt 03, 2010 13:13
Antworten mit Zitat
Benutzer-Profile anzeigen
@nightphoenix
Da kam fast immer nur problem-fragen mit der flugrichtung oder dem aussehen herraus...

@count -doku
Wusste gar nicht, das man da schießen kann. thx^^

@Totensturm
da hab ich nicht so genau nachgeschaut, aber die meisten waren nur 3D tuts...

@Raiden93
2D hab ich schon etwas gemacht^^ jetzt wollte ich mal 3D ausporbieren^^


Und noch mal danke an alle Very Happy

Lakorta

BeitragSo, Okt 03, 2010 14:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich schaffs immer noch nicht...
Kann mir villeicht jemand einen beispielcode geben, wie das mit den schießen geht?
Bei den sachen, die ich ausprobiert hab ist entwaeder gar bichts passiert, oder, jedesmal wenn ich geschossen habe, wurde der schuss wieder direkt zum SPieler zurückplatziert...

Xeres

Moderator

BeitragSo, Okt 03, 2010 14:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du deinen Code postest, kann dir sicher wer helfen...
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Johannes´

BeitragSo, Okt 03, 2010 14:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Heir mal ein kurzer Beispielcode:

Vor der Hauptschleife:
Code: [AUSKLAPPEN]
Type schuss
    Field modell
End Type


Und in der Hauptschleife:
Code: [AUSKLAPPEN]
    If MouseHit(1) Then
        s.schuss=New schuss
        s\modell=CreateSphere()
        PositionEntity s\modell,EntityX(flugzeug),EntityY(flugzeug),EntityZ(flugzeug)
        RotateEntity s\modell,EntityPitch(flugzeug),EntityYaw(flugzeug),EntityRoll(flugzeug)
    EndIf
   
    For s.schuss=Each schuss
        MoveEntity s\modell,0,0,5
       
        If getroffen=1 Then
            FreeEntity s\modell
            Delete s.schuss
            ;.....
        EndIf
    Next

Lakorta

BeitragSo, Okt 03, 2010 14:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke. Habs dank Johannes´ code geschafft. Very Happy

count-doku

BeitragSo, Okt 03, 2010 14:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Bin mir jetzt nicht sicher obs schneller ist.
Aber müsste es eigentlich, oder?
BlitzBasic: [AUSKLAPPEN]
 If MouseHit(1) Then 
s.schuss=New schuss
s\modell=CreateSphere(8,flugzeug) ;Die Kugel hat gleich die Position/Drehung des Flugzeuges
MoveEntity s\modell,0,0,1 ; Könnte man auch rauslassen
EntityParent s\modell,0
EndIf


lg,
count

Raiden93

BeitragSo, Okt 03, 2010 15:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Lakorta falls du den Code fast nur abgeschrieben hast würde ich dir Empfehlen dich mit dem Code noch einmal richtig auseinander zu setzen und vielleicht damit rum Experimentieren Hilft mir meinst sehr gut beim Lernen.

Lakorta

BeitragSo, Okt 03, 2010 17:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Bin ich dabei^^
Hab auch schon ein paar kleine änderungen dran vorgenommen. aber ich krieg das irgendwie nicht hin, dass sich die teile beim kollidieren löschen. was für einen befehl muss man denn da benutzen, um die kollisionen nachzuprüfen? Bei 2D wars je imagescollide.

Raiden93

BeitragSo, Okt 03, 2010 17:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Type SpielerTyp
   Field X# ,Y# ,Speed# ;Bewegung
End Type

Global Spieler.SpielerTyp





;____________________________________
Delete Spieler ;<------ hier wird der SPieler gelöscht

Lakorta

BeitragSo, Okt 03, 2010 18:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, werd das mal testen^^ thx

Xeres

Moderator

BeitragSo, Okt 03, 2010 18:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Kollision mit EnityType, Collisions einschalten, z.B. mit EntityCollided überprüfen. Vor dem löschen des Typeeintrags ggf. das Objekt mit FreeEntity löschen - sonst kannst du darauf nicht mehr zugreifen, hast "tote" Objekte überall herumhängen und müllst den Speicher zu!
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Lakorta

BeitragSo, Okt 03, 2010 18:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
s.schuss=new schuss
s\modell=createsphere(10)


müsste ich hierbei s\modell oder s.schuss löschen?
außerdem bekomm ich das mit den Type-definieren nicht hin...
Ich hab s.schuss und auch schon s\modell zu Type 1 defieniert, und bei einem kommt illegal type und beim anderen type must be a variable oder so ähnlich

NightPhoenix

BeitragSo, Okt 03, 2010 20:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Beides.
Zuerst löschst du das Modell mit FreeEntity dann den schuss über den Delete Befehl (siehe Hilfe). Löschst du nur den Typ so bleibt das 3D Modell immernoch erhalten, also sichtbar und kann obendrein auch nicht mehr ohne weiteres angesteuert werden (weil du den Handle der im Typeintrag war gelöscht hast) Wink

Typ definieren leicht gemacht:

Code: [AUSKLAPPEN]
Type NennsWieDuWillst
field variable1
field variable2
.... usw.
end type


Das s. bzw. s\ kannst du durch etwas völlig beliebiges ersetzen. Wichtig ist nur die Zeile in der du den neuen Schuss erstellst (z.b. s.Schuss = new Schuss)

Beispiel:

Code: [AUSKLAPPEN]
nwdw.NennsWieDuWillst = new NennsWieDuWillst
nwdw\variable1 = CreateCube()




*edit*
Ach das Type definieren für Kollisionen war gemeint Laughing
Ok, also einfach in die Online Hilfe schauen unter EntityType
  • Zuletzt bearbeitet von NightPhoenix am Di, Okt 05, 2010 17:50, insgesamt einmal bearbeitet

das wurgel

BeitragSo, Okt 03, 2010 21:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Müsste eigentlich so klappen: EntityType s\modell, 1
1 ist ungefähr 3

Lakorta

BeitragDi, Okt 05, 2010 21:19
Antworten mit Zitat
Benutzer-Profile anzeigen
danke^^

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group