figuren steuern in b3d mit button
Übersicht

super_castleBetreff: figuren steuern in b3d mit button |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo, wie ich daten an b3d übermitteln zwecks steuerung von figuren.
ich habe in purebasic ein button-fenster mit button "runter" "rauf" usw. nun möchte ich mit b3d die daten zum steuern der figuren empfangen . mfg castle |
||
![]() |
Fuchsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meines Wissens nach geht das überhaupt nicht. Falls ich mich irre (sogar ich irre mich manchmal ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Könntest du dein Problem bitte sinnvoll formulieren?
Verstehe nur Bahnhof weil die Wortfolge gegen 0 Sinn macht. Wenn D nicht deine Muttersprache ist, so wäre ein Board in deiner Muttersprache vielleicht besser, damit man dein Problem überhaupt verstehen kann um dir helfen zu können ... |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Fuchsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, sogar ich verstehe es nicht ! (Obwohl ich sonst alles verstehe ![]() |
||
sonicfire |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Naja, man versteht schon, was er meint , nur ist das echt saumäßig formuliert *hust*.
Er will halt einfach via PB Programm Daten an ein B3D Programm schicken. Aber ich wüsste auch nicht, wie das gehen soll... |
||
~sonic |
super_castle |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo, der text klingt wohl ein bisschen undeutlich. einige buchstaben wurden nicht gedruckt.
habe das problem gelöst. ich habe mit purebasic eine dll erstellt (mit purebasic stelle ich ein windowfenster mit steuerungstasten(richtungen usw) als dll-datei her. diese dll rufe ich von b3d auf. nun kann ich vom purebasicfenster und den richtungstasten die figur im b3d-fenster beeinflussen und die daten gehen über funk zum richtigen roboter. castle |
||
- Zuletzt bearbeitet von super_castle am Mi, März 01, 2006 18:43, insgesamt einmal bearbeitet
sonicfire |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nur aus Neugierde - zu welchem Zweck? ![]() |
||
~sonic |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@super_castle
ich habe mir mal sowas ähnliches gemacht , über TCP Protokoll kann man das z.B. auch machen ![]() |
||
super_castle |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nur aus Neugierde - zu welchem Zweck?...
ich habe einen roboter mit sensoren, diese sensordaten sollen zu b3d gelangen, weil ich dort diesen gleichen robby als modell laufen habe. die daten vom echten robby sollen am modell als strahlen und zahlen dargestellt werden. wenn die ir-diode vom robby einen abstand von einem gegenstand hat, soll dieser abstand im b3d-robby als strahl mit der länge dargestellt werden. wenn der richtige robby die compassdaten eindreht, soll auch das modell in die gleiche richtung zeigen und die daten anzeigen. auch den raum wo der echte robby drin fährt, habe ich in b3d als raum dargestellt, mit den hindernissen wie sie auch im echten raum stehen. mit den steuertasten steuere ich über funk den richtigen robby, der b3d-robby soll darauf aber auch reagieren. |
||
super_castle |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich habe mir mal sowas ähnliches gemacht ,
über TCP Protokoll kann man das z.B. auch machen... hallo, erklär mir das einmal für b3d ausführlich |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sieht dann so aus ...
Über TCP schickst du einen Befehl und in BB3D führst du die Funktion dafür aus . Parameter sind dann einfach durch Komma getrennt . z.B. SETMOUSE:320,240 Code: [AUSKLAPPEN] ;TCP Global TCPServer Global TCPStream Global TCPInput$ Global TCPInputLast$ Dim TCPInputP$(128) TCPServer=CreateTCPServer(8080) TCPTimeouts 60000,0 ;1 Minute before TimeOut and connection close :-) Allways send to Server NOP CRLF .MainLoop While Not KeyHit(1) UpdateWorld RenderWorld TCPRemoteInput Flip Wend end Code: [AUSKLAPPEN] Function TCPRemoteInput() ;----------------------------------------------------------------------------- Waiting Connect , Connect , Read Input from TCP Stream ;Read a Line from TCP until crlf come :-) Local r$ TCPInput$="" If TCPServer = 0 Then Text 10,10+9*fonty,"Blitz Server not started !?" Else If TCPStream Then Text 10,10+9*fonty,"IP "+DottedIP$(TCPStreamIP(TCPStream))+" READ STREAM (WAIT UNTIL CRLF)" ;Flip If Not Eof(TCPStream) r$=ReadLine(TCPStream) ;Here it waits until incomming crlf If Len(r$)>0 TCPInput=TCPInput+r$ TCPInputLast=TCPInput TCPInput=TCPInput+Chr$(13) EndIf EndIf If Eof(TCPStream) Then CloseTCPStream TCPStream:TCPStream=0 Else TCPStream=AcceptTCPStream(TCPServer) Text 10,10+9*fonty,"Server waiting for connect" EndIf EndIf ;----------------------------------------------------------------------------- Stream to Functions :-) otext 10,10+10*fonty,"TCPInputLast "+TCPInputLast$ Local c$,o$,x,x1,x2,p,i c$="" o$="" ;--------------------------------------------------------- ;Command x=Instr(TCPInput,":") If x>1 Then c$=Mid(TCPInput,1,x-1) c$=Upper(c$) EndIf ;--------------------------------------------------------- ;Clear Parameter p=0 For i=1 To 128 TCPInputP(i)="" Next ;Search for Parameters x2=0 If Len(TCPInput)>x Then x1=x+1 Repeat x2=Instr(TCPInput,",",x1) If x2=0 Then x2=Instr(TCPInput,Chr(13),x1) ;or to End If x2>x1 Then p=p+1 TCPInputP(p)=Mid(TCPInput,x1,x2-x1) x1=x2+1 EndIf If x2=Len(TCPInput) Then x2=0 ;no endless loop ;-) Until x2=0 EndIf ;------------------------------------------------------------> COMMADS <--- .TCPCommands ;Functions If Len(c$)>0 Then Select c$ Case "SETMOUSE","MOUSEXY","MOUSE" ;RSetMouseXY TCPInputP(1),TCPInputP(2) o$=c$ Case "CAMERAMOVE","MOVECAMERA" ;RSetCameraMove TCPInputP(1),TCPInputP(2),TCPInputP(3) o$=c$ Case "CAMERATURN","TURNCAMERA" ;RSetCameraTurn TCPInputP(1),TCPInputP(2),TCPInputP(3) o$=c$ Case "CAMERAROTATE" ;RSetCameraRotate TCPInputP(1),TCPInputP(2),TCPInputP(3) o$=c$ Case "HELP" o$="Sorry no Help there :-(" Case "NOP" o$="NOP" Default o$="UNKNOWN COMMAND "+c$ End Select EndIf ;Command >0 ;--------------------------------------------------------- ;Output what i have done :-) If Len(o$)>0 Then o$=o$+":" If p>0 Then For i=1 To p o$=o$+TCPInputP(i) If i<p Then o$=o$+"," Next EndIf If Len(o$)>0 Then If TCPStream Then WriteLine TCPStream,o$ EndIf End Function ;------------------------------------------------------------- |
||
super_castle |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo, ich empfange die daten über die serielle schnittstelle zum purebasicfenster und dieses purebasicfenster soll die daten auf dem gleichen schirm zum b3d fenster schicken...wie geht das mit deinem programm,
SETMOUSE:320,240 |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn BB läuft und den Port 8080 auf hat dann einfach
zu 127.0.0.1 connecten mit PureBasic und dann einfach den Befehl bzw. die Zeile schicken . SETMOUSE:320,240 oder SETMOUSE:320,240CRLF <- weiß ich jetzt nicht genau kann sein das du 1310 als ASCII an die Zeile hängen mußt . |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group