继上一次介绍了《神奇的六边形》的完整游戏开发流程后(可点击这里查看),这次将为大家介绍另外一款魔性游戏《跳跃的方块》的完整开发流程。
(点击图片可进入游戏体验)
因内容太多,为方便大家阅读,所以分多次来讲解。
若要一次性查看所有文档,也可点击这里。
接上回(《跳跃的方块》Part 4)
(二)添加微信支持
添加插件
游戏需要使用微信登陆、和分享,所以使用引擎中提供的微信插件进行实现。
先添加微信插件,并按插件教程搭建微信分享和登陆支持。具体步骤可参见文档。 这里直接按该插件Demo的配置进行配置。客户端将WeChat脚本加载在UIRoot上。
实现登录的逻辑处理
将上一步生成的db.php放于微信登陆插件中的game目录下,修改微信登陆插件中game/login.php中的代码,获取到用户数据后保存到数据库中。修改如下:
1 <?php 2 // .... 3 // .... 4 // 修改登陆后的处理部分 5 require_once('db.php'); 6 // 登录成功后的游戏逻辑处理,有的话请自行补充 7 function after_login($openid, $userInfo) { 8 // TODO:业务逻辑自行补充 9 // 获取数据库连接 10 $mysqli = DB::getDB(); 11 12 if ($mysqli->connect_error) { 13 die(json_encode(array( 14 "error" => "数据库连接失败" 15 ))); 16 } 17 18 $insert_update = "insert into user_info (open_id, name, head_icon, score) values (?, ?, ?, 0) on duplicate key update name = VALUES(name), head_icon = VALUES(head_icon)"; 19 $stmt = $mysqli->prepare($insert_update); 20 if (!$stmt) { 21 die(json_encode(array( 22 "error" => "数据库连接失败" 23 ))); 24 } 25 26 $stmt->bind_param("sss", $v_open_id, $v_name, $v_head_icon); 27 28 $v_open_id = $open_id; 29 $v_name = $user_info["nickname"]; 30 $v_head_icon = $user_info["headimgurl"]; 31 32 $stmt->execute(); 33 if ($stmt->errno) { 34 die(json_encode(array( 35 "error" => "注册用户失败,错误代码:".$stmt->errno 36 ))); 37 } 38 $stmt->close(); 39 } 40 41 //.... 42 //.... 43 44 // 调用具体的业务逻辑处理, 传入用户参数 45 after_login($token['openid'], json_decode($line['msg'], true)); 46 ?>
下次将继续介绍如何”分数上传及排行榜查询“,敬请期待!
其他相关链接
开源免费的HTML5游戏引擎——青瓷引擎(QICI Engine) 1.0正式版发布了!
青瓷引擎之纯JavaScript打造HTML5游戏第二弹——《跳跃的方块》Part 1