使用Lakeshore写一个接饺子游戏

游戏来源

无意之间接到一个小项目,要求就是要快速开发。于是就选用了Lakeshore,虽然产品已经成熟但是其中的坑只有用过的才知道。

游戏介绍

屏幕上方会有三种饺子掉下来,下方用一个袋子接饺子,接到不同的饺子会得到不同的分数。最后我们提交分数,并显示在排行榜中。

游戏场景

  1. 游戏开始场景(StartSence)
  2. 玩游戏场景(PlaySence)
  3. 排行榜场景(RankSence)
  4. 显示用户分数场景(ResultSence)

游戏制作

创建项目

  1. 创建项目

搭建开始游戏界面

  1. 修改MainSence为StartSence
  2. 导入资源
  3. 添加背景图,选中背景图点击舞台大小,将背景图基本属性 X锚点、Y锚点、X轴坐标、Y轴坐标全部设置为0。 实现背景图刚刚好覆盖整个舞台。
  4. 添加按钮并修改名称 积分排行(btnRank)、活动规则(btnRule)、开始游戏(btnPlay)。将按钮默认 文本内容清空,设置按下状态与弹起状态的图片一致。
  5. 添加积分排行场景(RankSence)并设置“积分排行”按钮跳转场景事件。
  6. 添加玩游戏场景(PlaySence)并设置“开始游戏”按钮跳转场景事件。
  7. 插入组件声音,设置为全局,循环次数:0(无限循环),默认播放:是。无论在那个场景中都可以听到背景音乐。
    这里写图片描述
    这里写图片描述
    点击运行游戏,我们的第一步就完成。

制作下饺子场景

  1. 添加三种饺子(白、绿、红)按住shift拖拽设置到合适的大小,对每个饺子添加组件(子弹、出界销毁)。子弹组件的属性设置加速度400,默认运行角度为90。红饺子我们设置加速度为800。
    这里写图片描述
  2. 添加“口袋”,对口袋添加组件“拖拽”设置水平。
    这里写图片描述
    1. 在屏幕上方随机地方制造饺子,并且随着时间的流逝掉的饺子越多。
      • 将屏幕中的饺子移动到屏幕外面。因为这几个饺子相当与母版,我们接下来会依照这三个母版创建许多个实例对象。
      • 添加全局变量lever (用于控制游戏难度)类型为number。
      • 新建事件选择System-》每隔0.5秒触发,添加条件全局变量需要大于等于0。动作System->制造实例-》选择白饺子-》设置水平坐标 Math.random()*350+20 垂直坐标为 Math.random()*20。
      • 同理设置其他的两个饺子
      • 添加事件 System->系统初始化完成时,添加动作 System->等待5秒触发 将lever设置为1,继续添加等待5秒后触发 将lever设置为2。
        效果图:
        这里写图片描述
        这里写图片描述
        这里写图片描述
    2. 当饺子碰到口袋时增加相应分数
      • 为三种饺子添加变量 itemScore (红:8 、白:1、绿:-3),设置参与碰撞为是(否则无法碰撞到口袋),并且将口袋的属性“参与碰撞”设置为是。
      • 为三种饺子添加碰撞事件(碰撞目标选择口袋),动作为全局变量加分+销毁当前实例。
        这里写图片描述
        这里写图片描述
        这里写图片描述
  3. 制作得分字体打开Texture Merger,点击更多字符输入“0123456789-x秒分”,选择字体以及颜色,最后导出字体。在Lakeshore中导入字体素材到font目录下,添加位图字体,设置位图字体的大小。
  4. 当每次分数有变化时将会用位图字体显示结果。
    • 在饺子碰到口袋的事件下继续添加动作,赋值lblTotleSocre的内容为 score+”分”。
      (注意:如果出现位图字体不显示的情况,一、位图字体的宽高太小了。二、位图字体中没有对应的文字图片)
  5. 同理设置倒计时,当倒计时结束后跳转到提交结果场景(ResultSence)。

提交结果场景

  1. 显示游戏分数
  2. 使用ajax组件提交数据到后台服务器(thinkphp、跨域)
  3. 重置游戏参数(分数、游戏时间)

代码

https://gitee.com/oppos69/lakeshore_dumpling.git

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值