我尝试制作有效的PONG游戏,然后将其更改为多人游戏。
您可以选择"游戏速度"这基本上是球可以移动和发送位置数据所需的周期数。
所以每个tick(默认为200)服务器都将其发送到
<?
include 'connectDB.php';
?>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="exampleModalLabel">New message</h4>
</div>
<div class="modal-body">
<?php
if(!empty($_GET['ItemID']))
{
$ID = $_GET['ItemID'];
echo $ID;
$query1 = "SELECT * FROM `trademe`.`itemdb` WHERE `itemdb`.`itemID` = $ID;";
$result1 = mysqli_query($dbconnect, $query1);
if(mysqli_num_rows($result1) > 0)
{
$row1 = mysqli_fetch_assoc($result1);
echo "
<table class=\"table-striped\">
<tr>
<td class = \"imgBoxCol\">
<img class=\"imgBox img-rounded imgBox\"src=\"" . $row1['img_path'] . "\"></img>
</td>
<td>
<p >Ad Title: <input name=\"editadTitle\" value=\"" . $row1['adTitle'] . "\"/></p>
<p>Item Name:<input name=\"edititemName\" value=\" " . $row1['itemName'] . "\"/> </p>
<p>Condition:<textarea name=\"editcond\" type=\"text\" >" . $row1['cond'] . "</textarea></p>
<p>Description:<textarea name=\"editdescription\" type=\"text\" > " . $row1['description'] . " </textarea></p>
<p>Method:<input name=\"editmethod\" value=\"" . $row1['method'] . " \"/></p>
<p>Category:<input name=\"editcategory\" value=\"" . $row1['category'] . " \"/></p>
</td>
</tr>
</table>
";
}
}?>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Send message</button>
</div>
(当然是在String.Format中)
客户端将其发送到服务器的每个tick:
pos:{0}:{1}&ballpos:{2}:{3}&gametick:{4}
以便将客户端位置与托管播放器同步。
它使用此功能发送消息:
pos:{0}:{1}
现在,当我们玩游戏时,我们以skype为例,skype连接质量非常低,而且非常滞后。 然后游戏变得迟钝。
是否有更有效的方法将数据发送到同步位置?
答案 0 :(得分:1)
以下是一些提示:
更新应该是常规的,确定性的(你知道什么时候会发生)和非易失性(缺少一个不是问题)。 试着降低更新速率,看看会发生什么。