定时器与房间

xiaoxin

需求:房间开启后10s内人数达到8人游戏开始,或者房间开启后10s房间人数大于等于2小于8游戏开始,开始后出现摇色子按钮,3秒后不管用户是否点击出现色子旋转动画,3秒后出现各自结果。
问题:轮询与延时该怎么做,这个场景用workerman好一点还是gateworker好一点

2034 2 0
2个回答

xiuwang

延迟用定时器

  • 暂无评论
taozywu

@xiaoxin
可以参考一下思路:

1、准备数据
//旋转动画
$anixArr = ['room_id' => time()] // 房间id=》当前时间戳
// 分数
$result = ['room_id' => array("a" => 0, "b" => 0, "time" => time())] // 房间id =》 各自分数

2、房间开启后10s检测
开一个10s的定时器,只开一次。判断可以开始后,
$anixArr = ['room_id' => time()] // 写入时间戳

3、1s的动画检测
开一个1s的定时器,循环处理$anixArr
foreach($anixArr as $sk => $v) {
if (time() - $sv >= 3) {
// 执行
// $result赋值
}
}

4、1s的结果检测
跟上面类似

  • 暂无评论
年代过于久远,无法发表回答
🔝