Unity3D移动平台简单实现

在电子游戏中移动平台可谓是十分常见的,如平台从一处至另一处的来回移动,或当需要玩家触发机关时,平台浮动并按一定的路线移动至目标处。本文主要是在Unity3D引擎下使用少量脚本实现两点之间来回移动平台的最基本功能,是一种比较简单且好理解的移动平台解决方案。

涉及到的点如下:

  • 平台对象的实现
  • 平台移动路线的设定
  • 处于平台上游戏对象(如:玩家)的相对运动

创建平台控制对象

创建一个空对象,命名为PlatformObject,保证其transform.scale为默认值(1,1,1),为其添加Box Collider组件,Is Trigger设为True,添加一个脚本,命名为PlatformController.cs,需要提出的是,该对象不是平台的实体,而是主要用于控制平台实体的移动和实现相对运动。
PlatformObject

创建平台实体对象

使用方块构建平台的外形,在对象PlatformObject下新建一个cube子对象,命名为Platform,该子对象才是平台的实体,并适当的设置cube的transform.scale属性,调整方块的长宽高,并为其添加一个Box Collider组件,平台的其他属性可自行设置。
如下:
platfrom
层级关系
设置父对象的Box Collider的size与子对象的scale一致,借此来保证父对象的碰撞范围与平台实体的大小一致。

实现平台控制

编辑PlatformController.cs脚本,以下代码主要实现:平台在两点之间来回移动并在到达两点时适当停留的功能,以及保证平台上的其他游戏对象相对于平台运动的功能。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

/// <summary>
/// 来回移动平台的控制
/// </summary>
public class PlatformController : MonoBehaviour {
   
	
	[Tooltip("平台移动的结束位置")]
	public Vector3 stopPosiiton;
	[Tooltip("平台移动一次的时间")]
	public float moveTime = 1f;
	[Tooltip
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值