7. 角色的跳跃、游戏边界、顶部尖刺
版权声明:本文为砷碲原创文章,未经允许,禁止转载本文链接:https://sdpro.top/blog/html/article/1067.html
专栏收录该内容
Hi I'm Shendi
这节开始制作角色的跳跃,尖刺和边界
游戏边界
角色需要跳跃自然就需要落下,给角色增加刚体(Rigidbody 2D)组件来实现
这样会有一个问题,就是角色会一直往下落,于是需要使用碰撞体,给角色增加碰撞体组件,以及在屏幕底部增加一个方块,宽度超过屏幕宽度,代表地面,同样增加碰撞体,角色移动当然不能超过屏幕两侧,于是同样在屏幕两侧各加一个方块,增加碰撞体,如下图所示
方块碰撞体组件 Box Collider 2D
给这三个方块颜色设置透明,这样角色可移动的位置就被框在了方块之间了
角色跳跃
当摇杆 y 大于 0.7 则代表跳跃
这里跳跃功能制作成,摇杆往上跳跃一定高度,然后摇杆下来再往上又可以继续跳跃(可无限跳跃),具体就判断摇杆的y是否大于0.7即可,使用一个变量来判断,通过给刚体组件一个力即可实现跳跃,代码如下
(Player)
/** 是否可以跳跃 */
private bool canSkip = true;
void FixedUpdate()
{
var curPos = Rocker.curPos;
if (curPos.magnitude != 0)
{
if (curPos.x < 0)
{
transform.position = new Vector3(transform.position.x - playerSpeed, transform.position.y);
}
else if (curPos.x > 0)
{
transform.position = new Vector3(transform.position.x + playerSpeed, transform.position.y);
}
// y大于0.7代表跳跃
if (curPos.y > 0.7)
{
if (canSkip)
{
canSkip = false;
transform.GetComponent<Rigidbody2D>().velocity = new Vector2(0, 4);
}
}
else
{
canSkip = true;
}
}
else
{
canSkip = true;
}
}
运行将摇杆往上拖拽,角色即可跳跃了
顶部尖刺
在之前设计 logo 的时候就已经将尖刺设计出来了,本着能不使用图片就不使用图片的原则
实现尖刺其实就是使用三角形,而Unity正好可以直接创建三角形
层级,选择 PageGame 右键 - 2D对象 - Sprites - 三角形
将三角形的x旋转180度,就变成了尖尖向下的效果,然后缩放x,例如缩放到0.2,就实现尖刺了,改变颜色成黑色,效果如下
使用 Ctrl + D 复制物体,然后拉成一排,并将物体放到一个空对象下,作为一个整体(空物体在PageGame下)
结构如下
并且给创建的空对象增加一个Box Collider 2D 碰撞体组件
点击组件的编辑碰撞器按钮,拖拽绿色的正方形覆盖住尖刺
如此,尖刺就制作好了
本文链接:https://sdpro.top/blog/html/article/1067.html
♥ 赞助 ♥
尽管去做,或许最终的结果不尽人意,但你不付出,他不付出,那怎会进步呢?