Android RealtimeMultiplayer:在对手的屏幕上画线

时间:2015-10-16 15:34:01

标签: android send broadcast multiplayer motionevent

我很难搞清楚这一点。我正在使用Google Play游戏服务API创建多人游戏。我想在对手的屏幕上划一条线。因此,需要播放MotionEvents。一次只允许一名玩家这样做。因此,如果允许广播的播放器在屏幕上滑动手指,我需要发送所有MotionEventsACTION_DOWNACTION_MOVE,...,{{1} },ACTION_MOVE)给其他对手。那些对手需要以完全相同的顺序接收这些MotionEvent。

目前,当调用ACTION_UP - 方法时,我正在播放MotionEvent。我必须使用onTouch(),因为必须保证将收到所有的MotionEvent。

我已在消息中附加了两个附加字节,用于标识接收到的sendReliableMessage列表中MotionEvent的位置。一条消息包含11个字节:x坐标(4个字节,浮点数),y坐标(4个字节,浮点数),MotionEvent.Action(1个字节,字节),positionIdentifier(2个字节,短)。

这可行,但延迟非常高。人们可以注意到高延迟,因为线条图看起来非常不平滑。

我认为这可能是因为我在很短的时间内发送了很多软件包,但是如果我将更多的MotionEvent包装到更大的软件包上,那么线条图也不会很平滑。 / p>

你们是否有任何关于我如何使这个线条绘制过程看起来光滑,而不是迟钝的提示?那会很棒。

0 个答案:

没有答案