2. Screen zum steuern

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

super_castle

Betreff: 2. Screen zum steuern

BeitragFr, Apr 23, 2010 21:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Jetzt wird es etwas schwieriger.

Ich möchte den B3d-Screen fernsteuern, das heisst den Inhalt und zwar von einem anderen Fenster.
Zumindest müsste der B3d-Screen in der Lage sein Daten anzunehmen und abzugeben.

Ich habe dazu evtl noch Purebasic.

Mir fehlt das wissen dazu.

Gruss

Hubsi

BeitragFr, Apr 23, 2010 21:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Über eine lokale Netzwerkverbindung würde mir spontan dazu einfallen?
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

super_castle

BeitragFr, Apr 23, 2010 22:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:

Über eine lokale Netzwerkverbindung würde mir spontan dazu einfallen?


Wo gibt es hier ein Beispiel über "client" und "server" mit 2 Screen?

Gruss

Der Eisvogel

BeitragFr, Apr 23, 2010 22:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Benutzt einfach eine NamedPipe. z.B.: die von east-power-soft: http://www.east-power-soft.de/...codes_pipe
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
 

super_castle

BeitragFr, Apr 23, 2010 23:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Jup, danke.

Gruss
 

super_castle

BeitragSa, Apr 24, 2010 9:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Irgendwie habe ich noch kein Plan-Erfolg, irgendwie Befehle rüber zu schicken zum Reagieren.

Weiss nicht wie ich das mit dem Programm angehen soll.

Gruss

Eingeproggt

BeitragSa, Apr 24, 2010 12:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich muss ganz ehrlich sagen dass ich nicht ganz verstanden habe was du vor hast.
Aber nur damit du es dir nicht zu einfach vorstellst - du musst dir sozusagen nen eigenen Befehlssatz ausdenken und diesen umsetzen - einfach "MoveEntity camera,0,1,0" über NamedPipe oder TCP-Verbindung zu schicken bringt selbstverständlicherweise nichts!

Das müsste etwa so aussehen (Pseudo-mäßig)

Steuer-Fenster schickt
Zitat:
Befehl: MoveEntity
Parameter: 0,1,0


3D-Fenster empfängt dies und muss es verarbeiten:
Code: [AUSKLAPPEN]
Befehl$=GetBefehl()
Parameter$=GetParameter()
Select Befehl$
  Case "MoveEntity"
    entity=GetFirstParamter(Parameter$)
    x=GetSecondParamter(Parameter$)
    y=GetThirdParamter(Parameter$)
    z=GetFourthParamter(Parameter$)
    MoveEntity entity,x,y,z
  Case ....
End Select


Naja, und das natürlich jetzt noch etwas feiner formulieren und für alle von dir gewünschten Befehle umsetzen - das da oben ist pseudo-code und nicht lauffähig!
Außerdem gibts sicher noch elegantere Lösungen - du könntest dir beim Thema Skriptsprachen oder bereits existeirenden Netzwerk-Libs was abschauen. Glaub mir jetzt mal einfach nur dass es viel Aufwand ist.

Außer natürlich ich hab dich falsch verstanden, dann vergiss was hier geschrieben steht...

mfG, Christoph.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
 

super_castle

BeitragSa, Apr 24, 2010 14:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Es sollen nur Daten rübergehen zum verständigen zwischen Server und Client.
Zahlen und Erkennungsbuchstaben, die dann von einer If-Routine umgesetzt werden in eine Aufgabe.
Fertige Befehlswörter von B3d möchte ich nicht rüberschicken.

Der Server soll Steuerungsaufgaben übernehmen und der Client ist das Grafische Arbeitstier.
Gruss

Thunder

BeitragSa, Apr 24, 2010 15:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Du möchtest also durch das eine Programm (den Server) Zugriff auf den Computer, auf dem das andere Programm (der Client) läuft, bekommen und ihn dann "fernsteuern"?
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

ToeB

BeitragSa, Apr 24, 2010 16:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Guck dir mal im Codearchiv SimpleUDP oder LAmaNet an, das sind zwei Netzwerk-Libs, die kannst du in dein programm einbinden und dann einen Host aufmachen und mit einem Client dann auf 127.0.0.1 joinen. Zusätzlich kann man bei der SimpleUDP auch Befehle mitschicken , geht dann etwa so :

Senden :
Code: [AUSKLAPPEN]
UDP_CommandLine = ""
UDP_AddCommand("MoveEntity "+SpeedX+","+SpeedY+","+SpeedZ)
UDP_AddCommand("TurnEntity "+TurnX+","+TurnY+","+TurnZ)
UDP_SendMsg(UDP_CommandLine)


Empfangen :
Code: [AUSKLAPPEN]
While UDP_GetMsg()
    UDP_GetCommand()
    While UDP_Command <> ""
        Select UDP_Command
        Case "MoveEntity"
            SpeedX = Float(UDP_Parameter(0))
            SpeedY = Float(UDP_Parameter(1))
            SpeedZ = Float(UDP_Parameter(2))
            MoveEntity Mesh,SpeedX,SpeedY,SpeedZ
        Case "TurnEntity"
            TurnX = Float(UDP_Parameter(0))
            TurnY = Float(UDP_Parameter(1))
            TurnZ = Float(UDP_Parameter(2))
            TurnEntity Mesh,TurnX,TurnY,TurnZ
        end Select   
    wend
wend


Vorher noch Include "UDP.bb" und UDP_HostGame() bzw. UDP_JoinHGame, dazu noch UDP_Update und UDP_end, und schon kannst du dein Object nicht nur auf einem anderen Fenster steuern, du kannst es auch auf einem anderen PC steuern (Internet geht net)...

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!
 

super_castle

BeitragSa, Apr 24, 2010 18:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Jup, liest sich gut.
Werde es mal ummodeln.

Danke.

Gruss

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group