前期自动移动

可以看到,在游戏运行的前期,角色是无法移动的 相关逻辑默认不使能 相关触发函数,是在前面剧情预演完毕之后,才会开始 使能函数,设置刚体的body类型,相机相关参数等操作……

协奏

图片的遮罩使用

先切换到第二关 举例说明,选这个 上面俩组件,一个图片,一个遮罩 其中这个,是控制遮罩相关属性的,目前是选择第二个 如果选择其他的,表现效果会不一样 遮罩部分,作用的图片,下面的进度条,后面会通过代码控制,也可以手动拖曳,就可以看到具体的特性和效果了……

协奏

排序组组件

unity的默认渲染层级,是越靠下面的,越靠前 如果想打破这个设定,举个栗子 加一个组件就好,修改下面的参数,就可以看到变化了……

协奏

碰撞器检测

内部函数是这个: OnCollisionEnter2D 这里写一个碰撞检测函数,检测是否在地面 而且这里的实现,也是通过布尔判断,不进行连跳的 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 private void OnCollisionEnter2D(Collision2D collision) { //当前碰到了游戏物体,并且是地面 if (collision.collider.ClosestPoint(transform.position).y < transform.position.y) { isGrounded = collision.gameObject.CompareTag("Ground"); if (isGrounded!=lastIsGrounded) { if (isGrounded) { AudioSource.PlayClipAtPoint(landClip,transform.position); } } lastIsGrounded = isGrounded; } } 这个函数,是检测碰撞的点的位置 而这个函数CompareTa……

协奏

角色悬空和落地的相关判断

是通过2d刚体Rigidbody2D的纵向线性速度 还有布尔,判断是否悬空 判断落地的,参考这个碰撞器检测就好 检测落地后,也是播放音效……

协奏

跟随主角移动的眼泪循环移动

用到这个api函数接口 Mathf.PingPong 在代码里,其中一个是,如果位置不对的时候,move移动,否则就做往返运动 在这里是整了一个定时器,然后,是调用这个api接口,进行往返运动 收集到一个眼泪之后,如果眼泪不是跟随,就可以看到效果了 这个是跟随玩家移动的相关逻辑,有一个targetTrans的 是前面……

协奏

通关切换场景涉及到的功能

是通过异步协程的形式,去加载相关逻辑 而且可以看到,异步协程是可以有多个yield的时间延迟,去设定多个不同阶段的逻辑 场景也是循例要先加到setting里 在开始函数,下一个场景其实就已经弄好的了,只是allow那个允许的布尔设置为false了 是等前面的异步协程逻辑都跑完,才修改这个……

协奏

颜色容器

是用在第一关通过,向第二关过渡的过程 整的介个,可以看到,只有一个预制体引用了,还是比较简单的引用关系 这个类打上序列化标签 就可以在面板展示了 其中有遮罩,图片组件,缩放的三维向量数组,阿尔法数值数组,transform组件数组 整渲染容器数组,还有几个开始变化的布尔 初始化几个子物体,颜……

协奏

飞毯的循环移动功能实现

这个就是飞毯的实体 还有俩,分别是设定好的,飞毯的开始点和结束点 可以看到,飞毯上面是有一个扇形区域 对应的是这个组件 它是需要依赖于碰撞体的 如果把前面的自定义碰撞体使能勾选去掉,就会出现功能缺失警告 这个扇形区域,就是用力检测玩家碰撞体 这个就是相关的逻辑脚本了 声明的几个变量 获取自身的图片……

协奏

眼泪触发

首先,它是有一个碰撞体触发器的 脚本上,也是一个触发器函数,触发者进入的时候,判断是否为主角,然后获取眼泪的布尔是否为false 触发,删掉内圈,修改眼泪图片等操作 修改的眼泪图片,是根据名字,对应上的……

协奏