课程索引⑦——弹球游戏

第一节:认识球精灵

  1. 画布是一个运动场(或舞台),精灵是运动员(或演员);

  2. 精灵的属性:速度、方向(水平向右为0度,逆时针增加);

  3. 精灵的间隔属性:以毫秒为单位,决定运动的连贯性;

  4. 精灵在画布坐标系中的定位:x、y、z,z值大的在前面。

第二节:四处碰壁

  1. 球精灵与画布边界的碰撞:边界代码;

  2. 入射角与反射角之间的关系;

  3. 屏幕初始化时,让球沿随机方向运动,方向值从0到360;

  4. 球的反射:根据边界代码设置球的方向属性。

第三节:认识图片精灵

  1. 比较图片精灵与球精灵的属性差别:

  2. 上传素材:球及小车;

  3. 设置图片精灵的图片属性,改变图片精灵的方向等于改变图片的方向。

第四节:飞檐走壁

  1. 小车在画布坐标系中的定位:左上角为精灵的坐标基准点;

  2. 沿墙壁行走:上、下车改变x坐标,左、右车改变y坐标;

  3. 物理公式的演变:x=x0+v*t --> x=x0+v*放大倍数;

  4. 小车位置初始化:位于四壁的中点;

  5. 代码编写习惯:按照某种顺序;

  6. 画布组件的划屏事件:根据事件中携带的变量(速度x分量、速度y分量)控制小车的运动。

第五节:运动控制

  1. 方向传感器组件的角度属性:想象屏幕上水滴流淌的方向;

  2. 在方向传感器的方向改变事件中,实现小车运动控制:

  3. 角度属性对应于运动方向(速度矢量),通过求角度的正弦、余弦值得到速度的y分量及x分量。

第六节:碰撞检测

  1. 精灵组件之间的碰撞检测事件:可以检测到被碰撞的精灵;

  2. 球精灵在碰撞到不同的小车时,以不同方式改变运动方向;

  3. 精灵的碰到边界事件:小球不再运动。

第七节:统计得分

  1. 添加组件:重新开始按钮、得分标签;

  2. 全局变量——得分:累计小球与小车之间的碰撞次数。

第八节:游戏结束

  1. 数字滑动条:显示游戏的剩余时间(秒数);

  2. 计时器:在计时事件中消减游戏时间;

  3. 对话框——显示选择对话框:弹出窗口显示信息,并提供选项供用户选择;

  4. 当小球碰壁或剩余时间=0时,游戏结束——调用游戏结束过程。

第九节:历时记录

  1. 添加组件——本地数据库:

  2. 当游戏结束时,读取历史记录(如果历史记录小于本次得分,则)保存得分,弹出对话框,供用户选择;

  3. 当用户选择返回时,重新开始游戏。

第十节:周而复始

  1. 退出游戏:当用户选择“退出游戏”时,退出应用(在AI伴侣中无法测试);

  2. 清除记录:将数据库中的得分改写为0,

  3. 清除记录测试失败原因:对话框的按钮文字中多一个空格!

  4. 历史记录保存错误:由于无条件地保存得分,使得每次游戏结束时,都保存本次得分。

(0)

相关推荐

  • 可视化拖拽组件库一些技术要点原理分析

    本文主要对以下技术要点进行分析: 编辑器 自定义组件 拖拽 删除组件.调整图层层级 放大缩小 撤消.重做 组件属性设置 吸附 预览.保存代码 绑定事件 绑定动画 导入 PSD 手机模式 为了让本文更加 ...

  • 超级精灵球游戏:好玩的萌宠冒险精灵养成游戏!《精灵宝可梦》IP改编游戏

    沐沐带你发现好游戏! 蛙蛙今天推荐这款游戏叫<超级精灵球>, 是一款萌宠冒险+精灵养成游戏, 这款游戏最近挺火的, 好多小伙伴都在玩, 而且在微信小游戏. QQ小程序平台上排名双高, 快来 ...

  • 华为AppGallery Connect研习社推出在线课程,打造游戏开发者拥抱渠道“最佳攻略”

    导语:这里有一份帮助游戏开发者提高分发运营效果的清单. 对于开发者而言,主流游戏渠道是游戏分发不可或缺的阵地,好的渠道可以带来更多且更高价值的用户,为游戏的持续运营保驾护航.而随着行业精品竞争的白热化 ...

  • 弹球游戏1:认识球精灵

    从这节课开始,我们将利用画布和精灵组件,实现一个完整的游戏--弹球游戏.游戏包括下列功能: 角色控制:防止小球碰倒边界: 统计得分:每成功反弹小球一次得1分: 时间限制:每次游戏时长为1分钟: 游戏结 ...

  • 弹球游戏2:四处碰壁

    本节课的目标是处理球与边界之间的碰撞--当球碰到边界后反弹.假设小球与墙壁之间发生的是完全弹性碰撞,那么碰撞前后,小球速度的大小保持不变,方向的改变遵循"入射角=反射角"的规律. ...

  • 弹球游戏3:认识图片精灵

    还记得上节课的作业吗?关于精灵组件的第一个紫色代码块!你一定感到困惑,为什么不直接利用精灵组件的默认反弹功能来处理边界碰撞事件,却要费力不讨好地自己写代码,老师一定是喜欢自找麻烦! 在下图中,两个深红 ...

  • 弹球游戏4:飞檐走壁

    在开始编写程序之前,我们需要了解两件事: 小车在画布上的精确定位: 小车在画布上运动时,位置与速度的关系. 编写小车初始化过程...... 下面编写画布的划屏事件处理程序,当手指在手机屏幕上滑动时,小 ...

  • 弹球游戏5:运动控制

    在测试状态下,划屏动作对小车的控制缺乏连续性,效果不够理想,不过没有关系,我们有更酷的运动控制方式,那就是手机特有的方向传感器. 测试.调整代码.再测试.再调整,直到获得满意的效果. 理解概念: 1. ...

  • 弹球游戏6:碰撞检测

    如果可以的话,我愿意先检查各位的作业--用翻转角和倾斜角来控制小车的移动.这个作业非常重要,可以帮助我们理解方向传感器的功能.另外,关于这几个角度的值,是很难记忆的,例如左翻转时,翻转角究竟是正还是负 ...

  • 弹球游戏7:统计得分

    如何理解全局变量的全局性呢?如果我们把程序的运行描述为一个事件,那么两个最基本的要素就是时间和空间(其实我们描述任何一件事情都离不开这两个要素).所谓全局性,就是时间及空间上的全覆盖.对于App In ...

  • 弹球游戏8: 游戏结束

    计时器.数字滑动条.对话框,在我所开发的大部分游戏中,都会用到这三个组件.计时器与数字滑动条配合使用,显示游戏的剩余时间,这一过程贯穿整个游戏:对话框组件通常用来处理游戏结束环节,为玩家提供有用的消息 ...