
1.实装玩家回头查看老兵出发对话的情节 2.降低了打开电报机音效的音量 3.更换第二段CG,实现淡入淡出效果 4.当玩家还没修完电话线就和电报机互动,触发对话【没修完呢】 5.将新的出字音效实装到每一个场景 6.解决如果玩家投掷过快会导致无法退出投掷状态的Bug 7.实装大部分BGM 8.给序章战场的假电报机也加上没连完线的对话 9.新增开发者捷径,如果输入。。--。直接判定打完全部句子 (*:建议把碉堡发令员的指挥做成动态的 (*:第二关的炮火已经越来越好了,但是目前只有炮火,晚上肯定也会开枪吧?希望增加一些随机快速闪烁的光源表示晚上的枪。 (*目前碉堡音效出现和消失得十分突然,建议在首尾稍微加一些淡入淡出效果 (*:建议把倒地后的机枪手也加上调查对话 xx:人声问题请待定,加上音乐后好像又不是很违和了 (*:碉堡警告音效系统做完了,但是人声感觉上非常奇怪,建议修改 (*:敌人被石头吸引系统实装完成,但是很突兀,建议还是不要出现语言了 接下来的任务: 1.实装按键引导 2.更换投掷物堆系统为火堆系统 3.实装第二关最后追逐关卡 4.制作开始界面 5.制作Thanks 4 Play 能看到效果的努力,这回有动力了吧?加油吧
58 lines
2.3 KiB
C#
58 lines
2.3 KiB
C#
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using UnityEngine;
|
||
using UnityEngine.SceneManagement;
|
||
using UnityEngine.InputSystem;
|
||
|
||
public class AfterCoding : Event
|
||
{
|
||
//事件:第一关打完码后
|
||
[Tooltip("要召唤,得先有,对吧?拖进炮弹的预制体")]
|
||
public GameObject shell;
|
||
[Tooltip("召唤的炮弹需要知道自己属于哪个轰炸区,请拖入其轰炸区")]
|
||
public BombingArea bombingArea;
|
||
[Tooltip("请拖入黑幕")]
|
||
public GameObject BlackUI;
|
||
[Tooltip("请拖第二关BGM")]
|
||
public AudioClip clip;
|
||
void Start()
|
||
{
|
||
//OnCall();
|
||
}
|
||
public override void OnCall()
|
||
{
|
||
//*关闭玩家操控地图
|
||
FindObjectOfType<PlayerInput>().SwitchCurrentActionMap("NullMap");
|
||
//1.关闭电报机界面
|
||
FindObjectOfType<Machine>().m_interface.SetActive(false);
|
||
//2.在玩家旁边生成一颗导弹
|
||
Shell thisShell = Instantiate(shell,new Vector3(116.539998f,5.96999979f,-4.01295185f),Quaternion.identity).
|
||
GetComponent<Shell>();
|
||
thisShell.M_BombingArea = bombingArea;
|
||
thisShell.YouAreSpecal();
|
||
thisShell.target = FindObjectOfType<M_Player>().GetComponent<Animator>();
|
||
//3.导弹爆炸后触发玩家死亡动画,这一段写在导弹类里面
|
||
}
|
||
//4.玩家被炸死开始执行后触发此段,镜头开始缓慢聚焦到主角
|
||
public void OnDeadAnimation()
|
||
{
|
||
StartCoroutine("OnDeadAnimationEnd");//若干秒后执行死亡动画播放完毕后代码
|
||
StartCoroutine("StopDead");//本帧结束后停止死亡动画条件防止反复触发
|
||
}
|
||
private IEnumerator StopDead()
|
||
{
|
||
yield return new WaitForEndOfFrame();
|
||
FindObjectOfType<M_Player>().GetComponent<Animator>().SetBool("IsBoomDead",false);
|
||
}
|
||
//5.当玩家被炸死动画结束后触发此段
|
||
private IEnumerator OnDeadAnimationEnd()
|
||
{
|
||
yield return new WaitForSeconds(1.1f + 3f);//炸死动画1.1秒 + 3秒留给玩家反应
|
||
//黑屏(一张铺满的黑色UI显示)
|
||
BlackUI.SetActive(true);
|
||
FindObjectOfType<BGMPlayer>().ChangedTheBGM(clip);
|
||
yield return new WaitForSeconds(2f);//两秒后,转移场景
|
||
SceneManager.LoadScene("第二关");
|
||
}
|
||
}
|