Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
108 lines (67 sloc) 4.63 KB

游戏扬帆班任务「接元宝」游戏说明

任务描述

实现一个移动端游戏,玩家通过触屏控制角色水平方向移动,接住从屏幕上方落下的元宝。记录玩家规定时间内接住的元宝个数作为一局的分数。

示例图1

任务要求

任务时间

7月27日 至 8月9日

任务步骤

1. 技术选型

根据待开发游戏的类型和功能,从以下技术方案中挑选一种

2. 一个适配移动端的游戏场景

选择一种在移动端上的屏幕适配方案:

  • 方案一:固定宽高比,方便布置元素。

    示例图1示例图1

  • 方案二:延伸至适应屏幕,原生既视感。

    示例图1示例图1

3. 一个可操控的角色

创建一个角色,实现一种操控方式:

  • 方案一:触击屏幕的任意位置,角色向该位置的对应水平点移动。

    示例图1

  • 方案二:触摸屏幕左半边,角色向左移动;触摸屏幕右半边,角色向右移动。

    示例图1

  • 方案三:触摸角色,拖拽移动。

    示例图1

  • 或者其它合理的触屏操控方案。

4. 元宝

  • 实现元宝的随机掉落,包括起始水平位置的随机、时间点的随机。
  • 元宝回收机制:
    • 即时创建,即时销毁。
    • 对于频繁创建和销毁的对象,也可利用对象池进行内存优化,算法具体实现可参考 JavaScript Object Pool

5. 碰撞检测

  • 选择一个高效合理的检测方法,判定角色是否接住元宝(自行实现算法或利用已有库皆可)。
  • 经过任务步骤4和5后,若游戏在移动端上的帧率不在 50~60 fps 之间,建议进行优化使游戏运行流畅。

6. 游戏界面元素

游戏的核心玩法实现以后,陆续将界面元素及相应逻辑补充完整:

  • 开始按钮:触发首局游戏的开始;
  • 记分板:实时记录玩家一局的分数;
  • 倒计时器:限定一局的可玩时间,实时刷新;
  • 结束菜单:以浮层形式展现,拥有该局分数、最高分、重新开始等元素。

7. 扩展

想一想,怎样扩展可以使游戏更有趣呢?

比如:

  • 掉炸弹:被砸中减分、减命或直接结束游戏;
  • 增加无尽模式:不限定时间,直至被炸弹砸中或者命消耗完;
  • 其它掉落物:或给予不同的分数,或改变角色的状态;
  • 角色不同状态下的贴图变化,比如接到元宝、被炸弹砸中;
  • 音效/音乐;
  • 元宝掉落初始方向不规则,甚至引入物理引擎;
  • 换个主题?接果子、接盘子、接妹子……任你想!
  • ……

团队合作建议

  • 动手前,先共同讨论和设计游戏的具体流程、玩法及细节;
  • 队员分工可按组件(角色-元宝-界面元素-…),可按功能(适配-操控-回收机制-碰撞检测-…),也可按职能(主程-算法优化-设计-…);
  • 每个队员都需要有代码提交;
  • 尝试进行组内的交叉 Code Review,尽量保证队伍内部代码风格一致。
You can’t perform that action at this time.