继上一次介绍了《神奇的六边形》的完整游戏开发流程后(可点击这里查看),这次将为大家介绍另外一款魔性游戏《跳跃的方块》的完整开发流程。
(点击图片可进入游戏体验)
因内容太多,为方便大家阅读,所以分多次来讲解。
若要一次性查看所有文档,也可点击这里。
接上回(《跳跃的方块》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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?