Guten Tag,
ich hab interesse an GLBasic, doch bin mir noch nicht ganz sicher, ob ich es mir zulegen soll.
Was mich noch stark interessieren würde ist, ob man auch die Bluetooth funktion des iPhones, für kleine Spiele gegeneinander, nutzen kann ... Weil einen Router mit WLan hat man nicht immer in der nähe.
mfg.
Flow
Wenn es eine Lib gibt, wovon ich einfach mal ausgehe, kannst du mit etwas C++ Erfahrung einbinden.
Grundsatz von GLBasic : Es geht grundsätzlich alles, was in C/C++ auch machbar ist!
Grüße
Ob es eine C++ Lib gibt für Bluetooth beim iPhone das weiß ich leider nicht.
Aber mit dem iPhone SDK müsste man ja über xCode/Objective-C auf die Bluetooth schnittstelle zugreifen können.
Jetzt ist nur die Frage, wie würde ich das in GLBasic bekommen?
Bitte berichtigt mich wenn ich hier was falsches sage. Also...
wenn Du in GLBasic Libraries einbinden willst welche sich im Content der Apple SDK's befinden, verbietet Dir Apple diese auf einem Windows Rechner zu kopieren und beim Compilieren einzusetzen.
Was Du also mindestens machen mußt, ist eine Static Library auf einem Apple in Xcode erzeugen, welche dann auf Deinem Rechner entsprechend eingebunden werden kann.
Ich hab keine Ahnung... Dachte ich könnte einen Befehl unter glbasic nehmen der dann halt nur unterm iPhone dann auch läuft oder das dafür jemand eine userlib geschrieben hat.
Quote from: MikeHart on 2010-Mar-24
Was Du also mindestens machen mußt, ist eine Static Library auf einem Apple in Xcode erzeugen, welche dann auf Deinem Rechner entsprechend eingebunden werden kann.
Sagte ich doch
LIB
Nanana nich gleich zickig werden...
Hab mich mit dem iphone bluetooth noch nicht beschäftigt und wie und weshalb und was man damit machen kann. evtl. sollte man das vorher in erfahrung bringen
Hat jemand Ahnung von Xcode und wie man eine Lib für glbasic damit erstellt?
Also kann mir das Bluetooth gut bei spielen wie schiffeversenken oder tic tac toe vorstellen.
Damit man dies auch ohne Router und tcp/ip Verbindung spielen kann
so wie ich das verstanden habe geht das nur über GameKit. Es soll eine Möglichkeiten geben darüber dann eine sockets Verbindung aufzubauen, aber das habe ich noch nicht geschafft - ich habe auch nur ein iPhone zum testen und nicht 2.
Schade... Gerade das fänd ich sehr interessant. Wo bekommt man dieses GameKit und wieviel kostet das?
Kennst du niemanden der vll. noch ein iPod Touch hätte wo du es testen könntest?
GameKit ist ein framework des iphone SDKÃ,´s
das kost nix.
Gibt es irgendwo ein Tutorial wie ich xcode libs schreibe und diese in GLBasic nutzen kann?
Weil dann würde ich mir gerne diese Bluetooth funktionen aus dem "GameKit" holen.
Nein gibt es nicht im spezielen, du solltest mal ausschau halten nach "Lib-erzeugungs-Tutorials" mit Xcode.
Danach schaust du dir dieses Gamekit an und wrappst dann funktionen in eine Lib, die du dann mit GLB ansprichst!
An sich, wenn man weiß wie man Libs mitr Xcode erzeugt, einfach. ;)
is nich so ganz einfach mit bluetooth hab kurz in die apple docu geschaut. da findst alles über die frameworks.
Wieso nicht so einfach?
Ich muss mir das nachher mal anschauen, weiß nicht ob das nicht vll. in einem eigenen Thread laufen muss...
Muss mir mal anschauen wie man eine xcode lib schreibt... und selbst wenn ich das hinbekommen würde... wie nutz ich diese in GLBasic?
das in glb nutzen ist das kleinere übel, die befehle so rauszuhauen das sie gut funktionieren ist das problem.
ich denke es wäre einfacher wenn du dir die ad hoc sache anschaust. evtl. sollte dir das besser gelingen weil du mit tcp / ip arbeiten kannst.
bluetooth gibt dir voll fiese daten zurück die du dann entschlüsseln musst. siehe beispiel in apple docs
Geht das etwa per tcp/ip 2 iphones zu verbinden ohne das ein Router in der Nähe ist? Wenn ja wo kann ich was drüber lesen?
http://www.devx.com/wireless/Article/43502/0/page/1 bluetooth sample hilft das ??
Gute Frage ob das hilft... Wenn man das in eine Lib bekommt ja xD Also da ich ab Montag dann eh mir mal 2 Wochen Urlaub genommen habe, werd ich mich da nochmal mit dem Thema objtive c Lib auseinander setzten...
ja sollte gehen, nennt sich ad hoc, ein paar spiele machen das schon möglich.
bluetooth bekommt man in ne lib wäre kein thema da alles modal auf dem spiel laufen würde was an fenstern aufgemacht wird, allerdings gibs NSData krams zurück und das in was glbasic verständliches zu bringen ist wahnsinnig schwer.
zur not kannst ja alles per string machen nsdata in nsstring dann in utf8string und zurückgeben passt super.
Ih hab gelesen, wenn man einem PAN beitritt (hier ObjC nötig), dann findet man unter NETGETIP$() die IP der Bluetooth -Verbindung wieder.
In arbeit ... unvorstellbar man brauch 2 geräte O.o
Hat jemand 2? iphone und ipod mit bluetooth?
bitte melden für beta test.
ja ich könnte testen 2 pod 1 phone aber erst am wochenende sorry
ja das wohl kein ding, hab auch gerade keine lust mein xcode aufzumachen :D
hab ein kleines test dings fertig wenn das geht kann ich mit kittie ja mal schauen ob wir das voll geil in glbasic einbauen können mit den net befehlen aus glb
Oh man ihr seit so geil xD Eine Community die schnell reagiert und funktioniert... Also ich kann Bluetooth testen bin aber erst Montag wieder zuhause hab aber ein iPhone und iPod.
Also wenn noch Bluetooth funktioniert dann hol ich mir sofort das komplette glbasic Paket ;-)
weil bin ja noch am überlegen aber die interesse ist groß...
MfG
FlowPX2
mach einfach nen download link rein oder komm in den chat
dann mal los
ist im anhang. Nearby anklicken und verbinden versuchen - gdb log brauch ich
[attachment deleted by admin]
habs schon auf einem drauf !Der sucht den anderen den kann er nicht finden weil er 5 KM weit weg ist , melde mich nachher !
du brauchst es auf beiden um die verbindung herzustellen und ich brauch dann das gdb log damit ich schauen kann in welcher funktion er nich mehr will oder wenns geht was er ausgibt.
Ich würd es gerne Testen... Bin aber erst wieder Montag zuhause... Hab hier nur mein iPhone und Mac...
schauen wir mal evtl. ist montag die ganze sache schon erledigt.
Wie meinste das? Das du es bis Montag schon hinbekommst?
Wie wird das dann für GLBasic verfügbar sein? Als Update? Lib? oder so?
Wäre richtig geil!
muss ich mit kittie abklären - evtl. baut ers ja fest mit ein muss man sehen.
So cool erst mal. Sie finden sich und ich komme bis accept
und decline
diese Tasten bewirken nichts mehr
öhh ich glaub aber die hab ich eingebaut :/
was sagt das gdb log?
Sooo...
Hatte Probleme mit meinen alten Rechner, hab mir daher einen neuen Mac geholt, der kommt morgen früh an...
Werd dann gleich das Bluetooth dings da testen und berichten.
mfg.
FlowPX2
Soo neuer Mac da... alles fein eingerichtet und jetzt auf meinem iPhone und auf dem iPod meines Bruders getestet...
Also beide Geräte finden sich...
Wenn ich nun nur beim iPhone klicke das es verbinden soll zum iPod... dann kommt manchmal eine Meldung beim iPod das jemand sich verbinden will... aber manchmal zeigt der iPod dann auch nur, dass das iPhone inaktiv ist?!?!
Wenn man die Verbindung hinbekommt... hängt bei beiden so ziemlich die Oberfläche...
Manchmal sieht man beim iPod einen Counter der Nach oben Rast, wenn er und das iPhone verbunden sind...
Beim iPhone dagegen habe ich diesen Counter noch nie gesehen.
Ich hab eine log mal mit angehangen... Hoffe das es hilft ;-)
Wäre so geil wenn GLBasic Bluetooth könnte.
mfg.
FlowPX2
[attachment deleted by admin]
fett verbindung funzt
ja das die gui macht was sie will liegt daran das eigentlich ein opgengl view drauf liegt aber ich kein bock hatte das einzubauen.
hab gerade übelst kopfaua wenn das wieder in ordnung ist dann mach ich mal langsam ne lib draus und lass kittie mal ein test ding machen undd ann muss nochmal getestet werden und das mit nem glbasic programm.
thx ihr beiden
Gut, dann leg dich erstmal ins Bett wenn der Kopf weh tut ;-)
Also, wenn es Neuigkeiten gibt, oder du eine test-lib fertig hast, würde mich freuen wenn du sie hier veröffentlichst und ich diese testen dürfte.
mfg.
FlowPX2
Der Kopf muss weh tun ;)
hatte hier übrigends die gleiche konstellation ipod - iphone beide 3.1.2 ipod 2G iphone revision müsste ich gugen
immer zu diensten im sinne der sache
any news truci ? i have time on WE
hab hier nebenbei noch ein paar rechner zusammen zu bauen :/ was man nich alles tut für geld ;)
ich denke ich werd heute abend mit der lib anfangen. genau sagen kann ichs noch nich.
aber danke fürs testen und da sein ums zu testen.
btw. irgendwer war mit irgendwas in of thread ich weiß wie ich nsmutablearray in dgarray bekomm.
war ich :D
xD Spannung! Bin schon gespannt auf die Lib...
Habe mir endlich GLBasic erworben, Gestern oder Vorgestern... Da ich das mit dem iPhone sehr interessant fand.
Bin schon gespannt wie das mit dem Bluetooth wird, sowas fehlt einfach noch in GLBasic ;-)
hmm also scheint soweit alles drin zu sein, aber wo ist kittie? ich brauch infos wie er sich das mit GETIP$ gedacht hat und so.
Willst du damit sagen es geht?
Das wäre klasse ;-)
ich kanns per glbasic benutzen ja, andere leute suchen und sowas geht alles - bzw sollte - habs nach eurem erfolgreichem test eingebaut, aber ich brauch kittie damit ich auch daten hin und her pfuschen kann. bin ein noob in glbasic :/
Oh wie schade xD Bei mir ist es genau umgekehrt xD
Bin zwar Anwendungsentwickler und arbeite mit C++ doch ObjectiveC ist eine Seltsame Syntax. Und GLBasic bietet nette Möglichkeiten mit Sprites und mehr... muss ich mich nicht mit OpenGL quälen...
Hoffentlich kannst du das schnell mit Kittie klären so das es vll. in ein paar Tagen schon die Lib gibt ;-)
Hehe ObjC = C :D
die unterschiede sind minimal, das klassensystem ist super fix gelernt. der rest ist c und bei ObjC++ kannste eben auch c++ libs nutzen.
Ja soweit so gut ;-) Tutorials darüber gelesen und gesehen habe ich auch... Doch der letzte Punkt der mich hindert ist wirklich das OpenGL...
Weiß nicht wie man da Pixelmäßig mir Sprites arbeiten sollte, da kommen doch nur Vectoren vor mit floats bei den Coordinaten X,Y,Z...
Naja, hab mir ja jetzt aus diesem Grund GLBasic dazu gelegt und das ist ja nicht unbedingt schlecht ;-) Verdient ja Kittie dran (Wenn ich das richtig verstanden habe). GLBasic bietet einem halt die Möglichkeit Pixelweiße mit Sprites zuarbeiten.
Toll wäre es natürlich wenn man die Library von GLBasic in C++ nutzen drüfte, doch ich glaube das spricht gegen die Lizenz.
Naja, mein erstes GLBasic Spiel ist ja bald fertig, wäre cool wenn da noch die Bluetooth Unterstützung rein kommt.
Wie gesagt xD Mit OpenGL noch nicht wirklich auseinander gesetzt ;-)
Aber wir sind doch hier in ein GLBasic Forum und ich habe mir jetzt extra GLBasic gekauft, also reden wir mal hier nicht so einfach über C und ObjC usw. *g*
Sonst ärger ich mich vll. noch wegen den knapp 70 oder waren es 80 €...
:-P Also ich komme sehr gut mit meinem Spiel in GLBasic vorran... für mich hat es sich schon gelohnt.
es hat sich für mich auch schon gelohnt und ich hab nicht ein spiel in glbasic geschrieben hehe.
da man mit inline und require wunderbar mit cpp und objc arbeiten kann kann man hier auch darüber reden.
@trucidare: Mag sein ;-) Aber das man das Zeug was man in GLBasic so einfach hinbekommt auch einfach in ObjC geht *pssst*
Für mich war das ehrlich gesagt der Kaufgrund... Habe mich einwenig wegen iPhone programmierung erkundet dann GLBasic gefunden... das irgendwo "geladen" und als ich gesehen habe das es wirklich etwas taugt auch gleich gekauft!
Für etwas das so gut läuft sollte auch fair entlohnt werden ;-)
du ich bin auch froh das es glbasic gibt, kann kein ogl und sonstige grafiksachen also kann ich dir nich sagen obs in objc einfach ist. aber in glbasic ist es das.
ohne glbasic hätte ich mich nie mit iphone beschäftigt :) oder mit objc oder c++ hehe.
wär wohl jetzt noch webseitenscripter
Ok so ich hoffe jemand kann testen:
Macht ein projekt in glbasic und schreibt ziemlich zum anfang das hier:
IMPORT "C" void GLB_iBT_Init()
IMPORT "C" void GLB_iBT_Start(const char* sessID)
IMPORT "C" int GLB_iBT_Send(const char* strValue)
IMPORT "C" const char* GLB_iBT_Recv()
IMPORT "C" int GLB_iBT_Connected()
dann aufrufen die funktionen.
auf folgendes achten:
GDB Log!!!
Gibt Connected was zurück wenn verbunden ist?
Gibt Send was zurück wenn gesendet wurde?
bitte hier direkt reinposten was schief geht usw. kanns nich testen also brauch ich eure hilfe.
P.S.
die angehänge lib ins xcode projekt und GameKit.framework hinzufügen.
Danke
[attachment deleted by admin]
Hab die Tage leider nicht den iPod meines Bruders in der Nähe,... Denke erst Dienstag wieder hoffentlich kann es jemand vorher testen... Hab halt Urlaub und bin bisschen unterwegs ;-)
mist mein zweites gerät macht auch gerade osterurlaub und kommt erst am 10 wieder
Ja das ist jetzt scheiße... Muss morgen mal schauen vll. kann ich da was regeln... Wohl eher aber nicht... Werd schauen ob ich was machen kann. Sonst leider erst Dienstag... Tut mir echt leid
Soo also es ist Sonntag... werd es Heute Abend so 20 Uhr oder 21 Uhr testen können. poste dann die Log hier ins Forum ;-) Hoffe das es alles funktioniert. Die Befehle sehen sehr viel versprechend aus...
Wäre noch toll, wenn mir jemand einen Beispiel GLBasic code geben könnte zum testen morgen...
Hab es gerade hier probiert zu compilieren mit XCode und in GLBasic einzubinden...
Müsste halt nur wissen wie man das genau nutzt um es morgen Abend dann richtig testen zu können.
IMPORT "C" void GLB_iBT_Init()
IMPORT "C" void GLB_iBT_Start(const char* sessID)
IMPORT "C" int GLB_iBT_Send(const char* strValue)
IMPORT "C" const char* GLB_iBT_Recv()
IMPORT "C" int GLB_iBT_Connected()
INLINE
GLB_iBT_Init();
ENDINLINE
WHILE TRUE
BLACKSCREEN
SHOWSCREEN
WEND
Fehler:
Undefined symbols:
"_GLB_iBT_Init", referenced from:
__GLBASIC__::__MainGameSub_() in libPROGRAM.a(gpc_temp0.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status
Ich glaube das hatte ich auch probiert und da kam nichts zu Stande? Naja ich leg mich mal hin und werde mir das morgen genauer anschauen.
N8
Ist ja eure Lib ;)
Quote from: trucidare on 2010-Apr-04
Ist ja eure Lib ;)
*g* was soll das jetzt heißen? ;-) Trotzdem weiß ich noch nicht wie man Sie nutzt... Wie gesagt werde Sie heute Abend richtig testen können.
Bin gespannt ob ich es zum laufen bekomme ;-)
also ohne inline aufrufen und nicht vergessen die .a in das xcode projekt einzufügen dann sollte es klappen.
Ich glaub das hatte ich gestern mit einem iPhone probiert und da ging es einfach aus... Was gibt man eigentlich beim Start für eine Session id mit?
einfach nur eine die dein spiel von anderen separiert.
du musst init und start ausführen sonst siehst du nix. erst start macht den picker auf, damit das init auch zum anfang drin ist und man dann bei multiplayer den picker anzeigen kann. init verteilt nur rechte und legt die variable an.
EDIT: // Opsie :D hat sich der autovervollständigungsbug eingeschlichen hehe. ladet nochmal die lib und dann rein.
GLB_iBT_Start war das selbe wie ...Send ;)
fixed. nun sucht er auch gleich nach dem start aufgerufen wurde. gerade getestet. jetzt nur noch rausfinden ob das mit dem rest funzt also nun seid ihr
Erster Test!
Negativ:
iPhone und iPod Touch haben beide das gleiche Programm bekommen nur das der eine A und eine Random Zahl schickt und der andere B und eine Random zahl....
Beim Verbinden gibt es schon Probleme.
1. Ich starte das Programm auf iPhone und iPod Touch.
2. Ich sehe auf dem iPod das iPhone und umgekehrt
3. Beim iPod lässt sich immer das iPhone auswählen zum verbinden, beim iPhone dagegen nur selten den iPod (lässt sich einfach nicht andrücken da passiert nichts)
4. Bei sehr viel Glück fragt die Gegenstelle mal ob man die Verbindung Akzeptieren möchte und plötzlich gehen beide Programme auf beiden Geräten aus....
Das wars...
Der GLBasic code:
IMPORT "C" void GLB_iBT_Init()
IMPORT "C" void GLB_iBT_Start(const char* sessID)
IMPORT "C" int GLB_iBT_Send(const char* strValue)
IMPORT "C" const char* GLB_iBT_Recv()
IMPORT "C" int GLB_iBT_Connected()
GLB_iBT_Init()
GLB_iBT_Start("GameID")
WHILE TRUE
BLACKSCREEN
IF GLB_iBT_Connected() = 1
GLB_iBT_Send("B"+RND(9))
PRINT GLB_iBT_Recv(),10,10
ENDIF
SHOWSCREEN
WEND
Werd jetzt gleich weiter probieren und weiter hier rein posten... In einigen minuten
So nächster Anlauf...
GLBasic Code etwas geändert:
IMPORT "C" void GLB_iBT_Init()
IMPORT "C" void GLB_iBT_Start(const char* sessID)
IMPORT "C" int GLB_iBT_Send(const char* strValue)
IMPORT "C" const char* GLB_iBT_Recv()
IMPORT "C" int GLB_iBT_Connected()
GLB_iBT_Init()
GLB_iBT_Start("GameID")
WHILE TRUE
BLACKSCREEN
GLB_iBT_Send("DATA "+RND(9))
IF GLB_iBT_Connected() = 1
PRINT GLB_iBT_Recv(),10,10
PRINT "Connected",10,40
ENDIF
SHOWSCREEN
WEND
Was passiert....
iPod zeigt iPhone an und umgekehrt....
wieder einmal kann man nur auf dem iPod das iPhone anklicken.... Beim iPhone reagiert es weiter hin nicht auf die Auswahl...
Dann kommt beim iPhone ob man den iPod akzeptieren will... drückt man Akzeptieren, dann beendet sich beim iPod das Programm, beim iPhone das am PC hängt und die Log aufzeichnet läuft das Programm weiter...
So Log hängt dabei...
Jetzt weiß ich auch nicht weiter... Ich werde in regelmäßigen abständen hier ins Forum schauen ob was neues ist... Also kann die ganze Nacht und morgen die Bluetooth Sache testen!
[attachment deleted by admin]
Sieht doch super aus das log aber mach das test programm mal so das du mit berühren des bildschirms 1 mal sendest und nicht checken ob connected = 1 ist denn ich weiß nich was es zurückgibt hab ich ja in dem post geschrieben das ich wissen muss was ich zurückbekomm und recv sollte dementsprechend auch nicht in einem if statement fallen.
das ist ein erster test, sieht bisher super aus, dafür das ich das nich selber testen kann
also nochmal
WHILE TRUE
MOUSESTATE mx,my,b1,b2
IF b1 THEN GLB_iBT_Send("blah")
PRINT "Online? - "+GLB_iBT_Connected()
PRINT "Hab dies hier... - "+GLB_iBT_Recv(),0,10
SHOWSCREEN
WEND
irgendwie so magst das mal testen?
Werd ich sofort testen ;-) gleich haste die Antwort
alles klar kannste in chat kommen? irc.freenode.org in #glbasic
Ja ich komme gleich mal in den Chat... Also folgendes beim compilieren von deinem Code...
Quote
compiling:
/cygdrive/C/Users/Michael/AppData/Local/Temp/glbasic/gpc_temp0.cpp: In function 'int __GLBASIC__::__MainGameSub_()':
/cygdrive/C/Users/Michael/AppData/Local/Temp/glbasic/gpc_temp0.cpp:56: error: ambiguous overload for 'operator+' in '__GLBASIC__::CGStr(((const char*)"Hab dies hier... - ")) + __GLBASIC__::GLB_iBT_Recv()'
/cygdrive/Q/Compiler/platform/Include/glb.h:274: note: candidates are: __GLBASIC__::DGStr __GLBASIC__::operator+(int, __GLBASIC__::CGStr) <near match>
/cygdrive/Q/Compiler/platform/Include/glb.h:274: note: __GLBASIC__::DGStr __GLBASIC__::operator+(int, const __GLBASIC__::DGStr&) <near match>
/cygdrive/Q/Compiler/platform/Include/glb.h:274: note: __GLBASIC__::DGStr __GLBASIC__::operator+(__GLBASIC__::CGStr, __GLBASIC__::CGStr)
/cygdrive/Q/Compiler/platform/Include/glb.h:274: note: __GLBASIC__::DGStr __GLBASIC__::operator+(__GLBASIC__::CGStr, const __GLBASIC__::DGStr&)
/cygdrive/Q/Compiler/platform/Include/glb.h:274: note: __GLBASIC__::DGStr __GLBASIC__::operator+(__GLBASIC__::CGStr, int) <near match>
/cygdrive/Q/Compiler/platform/Include/glb.h:274: note: __GLBASIC__::DGStr __GLBASIC__::operator+(const __GLBASIC__::DGStr&, __GLBASIC__::CGStr)
/cygdrive/Q/Compiler/platform/Include/glb.h:274: note: __GLBASIC__::DGStr __GLBASIC__::operator+(const __GLBASIC__::DGStr&, const __GLBASIC__::DGStr&)
/cygdrive/Q/Compiler/platform/Include/glb.h:274: note: __GLBASIC__::DGStr __GLBASIC__::operator+(const __GLBASIC__::DGStr&, int) <near match>
*** FATAL ERROR - Bitte die Compiler-Ausgabe ins Forum kopieren
Daher musste ich den Code abändern in...
IMPORT "C" void GLB_iBT_Init()
IMPORT "C" void GLB_iBT_Start(const char* sessID)
IMPORT "C" int GLB_iBT_Send(const char* strValue)
IMPORT "C" const char* GLB_iBT_Recv()
IMPORT "C" int GLB_iBT_Connected()
GLB_iBT_Init()
GLB_iBT_Start("GameID")
WHILE TRUE
MOUSESTATE mx,my,b1,b2
IF b1 THEN GLB_iBT_Send("blah")
PRINT GLB_iBT_Connected(),5,10
PRINT GLB_iBT_Recv(),5,30
SHOWSCREEN
WEND
Auf dem iPod hab ich das Programm installiert... lässt sich starten man sieht kurz das es nach einer Bluetooth verbindung sucht und es geht sofort wieder aus...
Beim iPhone das am PC hängt so ca. das gleiche nur das es am ende einfach hängen bleibt.
Wichtig ist wohl das hier!?!?
QuoteProgram received signal: ââ,¬Å"EXC_BAD_ACCESSââ,¬Â.
So... werd dann mal schauen das ich in den Chat komme
[attachment deleted by admin]