
*:合并了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
60 lines
1.8 KiB
C#
60 lines
1.8 KiB
C#
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using UnityEngine;
|
||
using Fungus;
|
||
using UnityEngine.InputSystem;
|
||
|
||
public class Veteran : Interactive
|
||
{
|
||
//控制老兵的类
|
||
private MachineGunner gunner;
|
||
private bool hasCalledChat1 = false;//记录自己是否已经呼叫过对话1,即【你想送命?】
|
||
void Start()
|
||
{
|
||
gunner = FindObjectOfType<MachineGunner>();
|
||
}
|
||
|
||
// Update is called once per frame
|
||
void Update()
|
||
{
|
||
|
||
}
|
||
|
||
void OnTriggerEnter2D(Collider2D other)
|
||
{
|
||
if(other.tag == "Player")//当玩家进入触发器
|
||
{
|
||
//先检查一下敌人状态
|
||
if(gunner.AreYouOK())//如果敌人还没晕
|
||
{
|
||
//修改面部朝向为左
|
||
transform.localScale = new Vector3(
|
||
Mathf.Abs(transform.localScale.x)*-1,
|
||
transform.localScale.y,
|
||
transform.localScale.z);
|
||
//弹出对话【你想送命?】
|
||
if(!hasCalledChat1)
|
||
{
|
||
FindObjectOfType<PlayerInput>().SwitchCurrentActionMap("NullMap");
|
||
Flowchart.BroadcastFungusMessage("你想送命?");
|
||
hasCalledChat1 = true;
|
||
}
|
||
}
|
||
//如果敌人晕了
|
||
else
|
||
{
|
||
//将其作为可catch对象,准备触发【你还挺有能耐】对话
|
||
other.GetComponent<M_Player>().catched = this;
|
||
}
|
||
}
|
||
}
|
||
|
||
public override void OnCall()
|
||
{
|
||
//如果能运行到这里,说明敌人已经被击晕了,直接触发对话【你还挺有能耐】
|
||
FindObjectOfType<PlayerInput>().SwitchCurrentActionMap("NullMap");
|
||
Flowchart.BroadcastFungusMessage("你还挺有能耐");
|
||
}
|
||
|
||
}
|