Roman 42b2c05a02 任务:替换现有美术素材和动画、完善游戏的流程化
*合并SAIPOVer
场景【序章-家中】
1.解决非对应多态和门互动报错的Bug

场景【第一关】
1.放上天空素材
2.放上投掷物的美术素材
3.目前投掷物不会旋转,写了方法让投出的石块随着速度的方向而旋转
4.修改了动画文件的链接方式,优化操作手感
5.放置了电火花粒子系统,适配到6处断裂
6.修改屎山代码,能够自己找到的子物体为什么要public?
7.现在似乎太难了,我降低了导弹的生成频率
8.完善修完第一个电话线后的事件,使特殊的导弹没有阴影
9.将投掷行为绑定到新骨骼
10.修改地形使其匹配电报线的凹凸
11.修复了删不掉落地后的投掷物的碰撞体的Bug
12.修改了抛物线材质使其更加显眼
13.添加投掷系统动画
14.使得地雷爆炸的时候会产生一个爆炸动画
15.修复了投掷点不跟随玩家骨骼移动的Bug
2021-08-30 01:55:39 +08:00

46 lines
1.5 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Missile : MonoBehaviour
{
//投掷物类,用来控制投掷物
// Start is called before the first frame update
private bool amINoisy = false;//记录自己是否落地发出声音的变量
private bool amIBeenChecked = false;//记录自己是否已经被敌人检查过
private Rigidbody2D m_rigidbody;
void Start()
{
m_rigidbody = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update()
{
//使得自身旋转角度匹配速度,像一支箭矢
if(m_rigidbody != null)
{
float angle = Vector2.Angle(m_rigidbody.velocity,Vector2.right);
if(m_rigidbody.velocity.y > 0) m_rigidbody.SetRotation(angle);
else m_rigidbody.SetRotation(-angle);
}
}
void OnCollisionEnter2D(Collision2D other)
{
if(other.gameObject.tag == "地面")
{
//当投掷物砸到地面,发出一个响声(逻辑上),标记自身为声源
amINoisy = true;
//同时,摧毁自身的刚体组件,阻止其滚动
Destroy(GetComponent<Rigidbody2D>());
//再摧毁自身碰撞体
Destroy(GetComponent<CapsuleCollider2D>());
}
}
public bool AMINoisy(){return amINoisy;}
public bool AmIBeenChecked(){return amIBeenChecked;}
public void YouAreChecked(){amIBeenChecked = true;}
}