Warcorrespondents/Assets/Scripts/事件/WhenPlayerDropInTheHole.cs

55 lines
1.6 KiB
C#
Raw Normal View History

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")
{
//当玩家进入事件范围内
任务:替换现有美术素材和动画、完善游戏的流程化 *:合并了SAIPOVersion 场景【第一关】 1.修复了动画文件丢失的问题 2.制作地面枪光AM 3.制作了机枪枪光AM *:匹配两处坑的深度和跳跃力度,避免出现跳不上去或者跳太高的问题 4.制作了机枪枪口AC 5.制作地面枪光AC 6.匹配机枪枪口枪光AC和AM,使开枪时播放枪光动画 7.修正玩家掉入坑内后的镜头偏移量 8.加入角色,老兵,使其始终处于待机动画 9.调整了老兵的层数,使得其不能遮挡玩家 10.添加老兵控制脚本,当玩家还没击晕敌人,若玩家想要冲锋上前,则触发对话,老兵转身阻止玩家。若玩家已经击晕敌人,则冲锋上前时不会强制触发对话,但如果玩家按了交互键,则弹出对话【你还挺有能耐】。 11.创建老兵对话形象(因为缺图先随意用了一张) 12.创建了对话【你想送命?】 13.实装了对话【你想送命?】 14.使玩家在砸晕敌人之前无法离开坑 15.使对话【你想送命?】只会触发一次 16.修改投掷系统框架,使得投掷力度成为public变量保存于投掷物堆中,而不是原来的保存在策划接口中 17.使敌人被击中后,播放被击动画,并且机枪停止射击 18.创建对话【你还挺有能耐】 19.给机枪手脚底加了一块地面,使得投掷物能够落在上面 20.给场景放上楼梯 21.布置类似上下坑的触发器,当玩家靠近自动播放下楼梯动画。 22.非常难写,明天再说吧,cnm
2021-09-01 01:50:06 +08:00
target = new Vector3(7.85360003f,3.38889599f,-10);
}
}
void OnTriggerExit2D(Collider2D other)
{
if(other.tag == "Player")
{
//当玩家离开区域,使视角恢复
target = origin;
}
}
}