使用GameKit将UISlider的移动值从一个设备发送到另一个设备

时间:2013-03-20 05:49:35

标签: ios gamekit

我正在寻找使用蓝牙将UISlider的移动值从一台设备发送到另一台设备的示例代码。我能够将文本和图像从一个设备发送到另一个设备。但现在,我想发送滑块值。如果我移动滑块比相同位置也移动到另一个设备..

1 个答案:

答案 0 :(得分:2)

你需要有一个方法将滑块的值转换为NSNumber或NSString,然后以相同的方式发送它。

所以你会:

[slider addTarget:self action:@selector(sliderMoved:) forControlEvents:UIControlEventValueChanged];

然后在你的sliderMoved:

-(void)sliderMoved:(UISlider *)slider {
    NSNumber *number = [NSNumber numberWithInt:(int)slider.value];
    // or
    NSString *string = [NSString stringWithFormat:@"%i",(int)slider.value];
    //Then you would want to send it to the other device.
}

如果您想要滑块的完整浮点值,也不能将它们转换为整数。

在这种情况下,您可以使用:

[NSNumber numberWithFloat:slider.value];
// or
[NSString stringWithFormat:@"%f",slider.value];

在另一台设备上收到此值后,将其转换回浮动并设置该设备的滑块值:

float f = [newValue floatValue];
[slider setValue:f animated:YES/NO];