Warcorrespondents/Assets/Scripts/事件/WhenPlayerDropInTheHole.cs
Roman fef70b82dd 任务:搭建第一关的框架
*:置入做好的MP4CG
场景【第一关】
1.布置了投掷物堆
2.使玩家掉入坑中的时候视角向右拉一些
3.使玩家离开坑的时候视角恢复
4.创造碉堡类敌人
关于碉堡
(1.有一个监视区,当玩家在监视区内,才会间断性扫射
(2.有若干射击区,只有射击区会有伤害判定
(3.可控节奏的循环射击
(4.为方便调试,当未监测到玩家,射击区显示白色,当监测到玩家但未在射击状态,显示黄色,当监测到玩家并且在射击,显示红色
5.在第一关布置了碉堡
6.适配好了碉堡的射击区
7.布置了电报机

至此,第一关的搭建已经完成

只剩7天了,要做的还有很多很多,加油吧…………🙏
2021-08-20 01:24:11 +08:00

55 lines
1.6 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Cinemachine;
public class WhenPlayerDropInTheHole : Event
{
//事件:当玩家调到坑里,主要是改变摄像机视角
private CinemachineVirtualCamera M_Camera;
private Vector3 origin;
private CinemachineTransposer cinemachineTransposer;
private Vector3 target;
[Tooltip("请填入镜头移动的速度")]
public float speed;
void Start()
{
M_Camera = FindObjectOfType<CinemachineVirtualCamera>();
cinemachineTransposer = M_Camera.GetCinemachineComponent<CinemachineTransposer>();
target = cinemachineTransposer.m_FollowOffset;
origin = target;
}
void FixedUpdate()
{
if(!target.Equals(cinemachineTransposer.m_FollowOffset))//当没到目标的时候才移动
{
//每帧都要使得相机的offset向目标移动
cinemachineTransposer.m_FollowOffset += (target - cinemachineTransposer.m_FollowOffset)*//目标偏移量
Time.fixedDeltaTime*//使其与时间无关
speed;//乘以速度
}
}
void OnTriggerEnter2D(Collider2D other)
{
if(other.tag == "Player")
{
//当玩家进入事件范围内
target = new Vector3(6.5f,0.25999999f,-10f);
}
}
void OnTriggerExit2D(Collider2D other)
{
if(other.tag == "Player")
{
//当玩家离开区域,使视角恢复
target = origin;
}
}
}