Mausbewegung Für Netzwerk

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

MrJoney

Betreff: Mausbewegung Für Netzwerk

BeitragMi, Dez 30, 2009 20:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo erstmal Frohe Weihnachten und einen Guten Rutsch Wink

habe ein Problemm

Für mein spiel die steuerung funktioniert zwar aber der Gegner bekomt von den Mausbewegungen nichts mit

Ich benutze dieses um die Maus Zu Steuern

Code: [AUSKLAPPEN]
Mx#=MouseXSpeed()

TurnEntity Spieler,0,-Mx/2,0

MoveMouse Breite/2, Hoehe/2


das funktioniert auch sehr gut allerding mus ich das jetzt Aufsplitten einmal von 90° bis 0° und von °0 bis -90° damit ich einmal die rechtsdrehung und die linksdrehung abfragen kann

nur wie mache ich das ?

Ich danke euch schon mall für euhre Mühe

Tankbuster

BeitragMi, Dez 30, 2009 20:08
Antworten mit Zitat
Benutzer-Profile anzeigen
EntityYaw ist glaub ich das was du suchst Wink
Twitter
Download Jewel Snake!
Windows|Android

Midimaster

BeitragMi, Dez 30, 2009 20:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie soll denn die Reaktion des Gegners aussehen?

Chester

BeitragMi, Dez 30, 2009 22:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja wenn MouseXSpeed größer als null ist, dann müsste es sich links drehen und wenn MouseXSpeed kleiner null ist dann müsste es sich rechts drehen. (Je nach Ansicht auch umgekehrt)

Midimaster

BeitragMi, Dez 30, 2009 23:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry ,aber ich versteh es noch nicht. Ist "Gegner" ein anderer Spieler an einem anderen Computer? Oder ist "Gegner" ein autom. Feind in deinem Computerspiel?

Tankbuster

BeitragMi, Dez 30, 2009 23:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Titel ist "Mausbewegung Für Netzwerk"

Und da habe ich die richtige Antwort wahrscheinlich schon gegeben *gg*

Es geht wohl darum, dass der andere Spieler über Netzwerk die Rotation des Spielers nicht mitbekommt. Er hat keine Ahnung, wie er sie übergeben soll. Dafür habe ich ihm den Befehl EntityYaw empfohlen, weil dieser von -90° bis +90° die Rotation eines Objektes auf der 3D-Y-Achse zurückliefert. Global oder auch Lokal, je nachdem wie man es braucht.

@MrJoney:
Einfach die mit EntityYaw ermittelte Rotation an den anderen Spieler senden, und dein Objekt bei ihm dann mit RotateEntity in die gewünschte Richtung drehen Wink

Wenn ich irgendwas falsch verstanden hab nicht böse sein
Tank
Twitter
Download Jewel Snake!
Windows|Android

MrJoney

BeitragMi, Dez 30, 2009 23:22
Antworten mit Zitat
Benutzer-Profile anzeigen
danke an alle habe jetzt volgendes gemacht

Code: [AUSKLAPPEN]

Mx#=MouseXSpeed()

If Mx#<=0
TurnEntity play\ent,0,-2,0
SendNBMsg(2,"4",0,mainstream)
ElseIf Mx#>=0
TurnEntity play\ent,0,2,0
SendNBMsg(2,"3",0,mainstream)
EndIf

MoveMouse Breite/2, Hoehe/2


das funktioniert auch nur dreht sich jetzt die Maus immer nach links oder rechts und stopt nicht were net wenn ihr mir helfen Könnt Very Happy

@midimaster der gegner soll übers netzwerk die nachricht bekommen 4 links oder 3 rechts damit das mesh des spielers sich beim gegner dreht

Tankbuster

BeitragMi, Dez 30, 2009 23:26
Antworten mit Zitat
Benutzer-Profile anzeigen
MrJoney, ich würde das anders lösen.
Was ist, wenn mal ein Netzwerk-Paket verloren geht?
Dann dreht sich das Objekt bei dir weiter, aber bei deinem Gegner nicht.

Deshalb würde ich nicht senden, ob sich das Objekt dreht, und in welche Richtung, sondern einfach die neue Drehung des Objekts. Da ist es dann nicht schlimm wenn ein paar Pakete verloren gehen, da es mit dem Paket danach sowieso wieder berichtigt wird Wink
Twitter
Download Jewel Snake!
Windows|Android

MrJoney

BeitragMi, Dez 30, 2009 23:29
Antworten mit Zitat
Benutzer-Profile anzeigen
finde deine idee nicht schlecht nur weis ich nicht wie kenne mich mit EntityYaw und RotateEntity leider noch net aus hast du vll ein kleines beispiel mfg MrJoney Smile

Tankbuster

BeitragMi, Dez 30, 2009 23:36
Antworten mit Zitat
Benutzer-Profile anzeigen
So könntest du das z.B. machen:


Code: [AUSKLAPPEN]
Mx#=MouseXSpeed()
TurnEntity Spieler,0,-Mx/2,0
MoveMouse Breite/2, Hoehe/2

Yaw#=EntityYaw(Spieler,1)
SendNBMsg(2,Yaw#,mainstream)


Beim Auslesen musst du den Winkel dann eben wieder auslesen:
Code: [AUSKLAPPEN]

Gegner_Yaw#=Lese_das_gesendete_aus
RotateEntity Gegner,0,Gegner_Yaw,0,1
Twitter
Download Jewel Snake!
Windows|Android

MrJoney

BeitragMi, Dez 30, 2009 23:37
Antworten mit Zitat
Benutzer-Profile anzeigen
vielen vielen vielen dank werde es sofort probieren

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group