【发布时间】:2013-05-18 18:28:16
【问题描述】:
我正在制作游戏。在游戏中,玩家和敌人都存储在物体内。 每个对象都有如下属性:
$player->health
$player->attack (this is a value, as in attack power)
然后是处理战斗的 php 函数:
function fight($player, $enemy) {...}
它使用像attack($player, $enemy)和castSpell($player,$enemy)这样的函数。
现在,问题来了:游戏在回合制中运行,玩家和敌人各有各的回合。我想要的是每次轮到玩家时,脚本都会等到用户点击,然后根据按下的按钮调用一个函数。
我正在考虑使用 Javascript setTimeout,然后在用户单击时停止它,但因为我使用的所有对象和函数都在 php 中。
否则我该怎么做?
【问题讨论】:
-
您是否希望每次发生某些事情时都调用服务器?为什么不使用客户端上的事件来 ajax 服务端呢?
-
您只能从数据库中获取信息(其中涉及 php) - 使用 js 进行游戏,例如这里:html5rocks.com/en/tutorials/canvas/notearsgame 是一个很好的教程
-
有一些很好的理由将游戏逻辑放在服务器上,例如防止作弊,以及在多人游戏中简化同步。
-
这会是一个很好的解决方案吗,如果每次用户进行操作时,我都会将 php 对象从数据库转换为 javascript,使用 javascript 执行该操作,然后将它们转换回 php并将它们保存在服务器上?
标签: php javascript jquery ajax