Schussgenauigkeit, oder wie soll ich das betiteln?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Blitzkrieg Bop

Betreff: Schussgenauigkeit, oder wie soll ich das betiteln?

BeitragSa, Mai 29, 2004 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Folgendes Prob:
Ich habe mir ein Objekt programmiert, was sich wie ein Auto bei GTA steuern lässt. Dieses Objekt kann auch schiessen. Klappt alles 1a, doch es gibt eine optische unschönheit:
Wenn man schiesst, und sich dreht, wird der Schuss manchmal neben dem Objekt gestartet und nicht aus dem Schiessrohr des objektes raus, wie es sein soll. Ich habe den Schuss bis jetzt auch nur so dargestellt:
Code: [AUSKLAPPEN]

   Color 255,255,0
   Rect r\x+20,r\y-7,5,5

DAs ist eine sehr ungenaue Lösung und ich wollte deshalb mal wissen, wie man besser vorgeht, insbesondere bei Objekten, die um 360 Grad drehbar sind, das die Raketen auch wirklich nur aus einer Poition losgeschickt werden und nicht auf einem neben dem Spieler entstehen.
~ Hey Ho Let's Go ~

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Mai 29, 2004 15:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Du must den schuss mit sin und cos dann 20 pixel oder so nach vorn versetzten
hier gibt es ein beispiel
www.blitzforum.de/viewtopic.php?t=1454

weiter unten ist das mit schiesen
[BB2D | BB3D | BB+]
 

Blitzkrieg Bop

BeitragSa, Mai 29, 2004 15:27
Antworten mit Zitat
Benutzer-Profile anzeigen
aber ich glaub, so wie du das meinst, hab ich das schon Embarassed
ich geb dir mal den ganzen code für die positionsbestimmung der rakete:

Code: [AUSKLAPPEN]

Function rak_malen(s.spieler1)
For r.raketen =  Each raketen
   r\x = r\x + Cos(r\winkel) *8
   r\y = r\y + Sin(r\winkel) *8
   Color 255,255,0
   Rect r\x+20,r\y-7,5,5
Next
End Function
~ Hey Ho Let's Go ~

DC

Sieger des B2D Retro Wettbewerb / Aug 04

BeitragSa, Mai 29, 2004 15:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmmm vllt sind die Integer zu ungenau. Einfach mal Floats probieren, sprich: an den Positionsvariablen ein # hängen
Core i5 4670K | 4 x 3,40 GHZ | 16 GB Ram | GeForce GTX 960 | HTC Vive | Win 10 Pro
www.UnrealSoftware.de | www.StrandedOnline.de | www.CS2D.com |
www.CarnageContest.com | www.Stranded3.com

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Mai 29, 2004 15:54
Antworten mit Zitat
Benutzer-Profile anzeigen
das problem liegt im code teil wo der schuss erstellt wird, nicht beim zeichnen

new type.....beispiel
r\x = x_pos# + Cos(grad)*20
[BB2D | BB3D | BB+]
 

Blitzkrieg Bop

BeitragSa, Mai 29, 2004 16:11
Antworten mit Zitat
Benutzer-Profile anzeigen
@ Rallimen:
so, also ich ahbe die Koordinaten der Raketen immer so dargestellt:
Code: [AUSKLAPPEN]

Function rakNEU(s.spieler1)
r.raketen = New raketen
r\winkel = s\winkel
r\x = s\x
r\y = s\y
End Function

ich habe eben an das s\x und s\x jeweils deinen vorschlag mit cos und sin drangehängt, hat aber nichts genutztz, der Schuss wurde immer von der gleichen stelle gestartet.

@ DC:
Ich habe nun einfach mal die Type Felder der Raketen gefloatet, und es ist eine deutlich verbesserung zu sehen. Zwar noch cniht perfekt, aber ich nutze im Moment 32*32 große Bilder, und dementsprechen kleine sind die Schießrohre Laughing das kann wohl noch verbessert werden1 DAnke!
~ Hey Ho Let's Go ~

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSa, Mai 29, 2004 16:22
Antworten mit Zitat
Benutzer-Profile anzeigen
das problem liegt wohl am rect befehl da wird der schuss ja immer um 20 pix versetzt gezeichnet, das mußt du beim erstellen berücksichtigen

besser geht das mit einem bild zb eine Kugel mit midhandle, dann entfällt auch die pixelverschiebung
[BB2D | BB3D | BB+]
 

Blitzkrieg Bop

BeitragSa, Mai 29, 2004 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, danke! die Rect's sind ja auch nur für das Grundgerüst, später wollte ich sowieso nocheinmal mit Grafik drüber, sit ja klar Laughing
Aber danke für die Tipps
~ Hey Ho Let's Go ~

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group