我几个月来一直试图让我的扑克游戏蓝牙功能工作,但我开始怀疑我可能对蓝牙数据交换的实际工作方式有错误的理解,希望有人能指出我正确的方向。
首先,我已成功创建扫描和连接部件,如图所示(两个设备都已连接):
一旦我点击了#34;开始游戏"其中一个设备上的按钮,游戏开始在该设备上但在另一个设备上,它不会启动游戏。相反,它只是添加字符串" start"在我的列表中,表现得像是一个玩家。
以下是我的LibGDX蓝牙屏幕代码(我会将其简短易读):
public class BluetoothScreen extends GameScreen {
public BluetoothScreen(Poker game) {
super(game);
}
@Override
public void show() {
super.show();
startBtn.addListener( new DefaultActorListener() {
@Override
public void touchUp( InputEvent event, float x, float y, int pointer, int button ) {
// Send a "start" message to Android and allow Android send the message to all other connected bluetooth device.
Poker.actionResolver.sendMsg("start");
}
});
}
public void startGame() {
stage.getRoot().removeActor(btnTable);
stage.getRoot().removeActor(scrollTable);
createGame();
gameStart = true;
}
@Override
public void read(final String s) {
if( s.equals("start") ) {
startGame();
}
else {
if( this.players.size < 5 ) {
// Add player to the list
//...
}
}
}
上面代码的这部分似乎不起作用,我做错了什么? if(s.equals(&#34; start&#34;)){startGame(); }
如果我没有解释清楚,请道歉。非常感谢每一个小小的帮助。