Roman ad1ca13fee 任务:实装和完善部分音效,修复场景问题
1.修复文字提示在其他幕也会出现的问题
2.给任务书界面加上退出按钮提示
3.减少导弹下落时间,如果太长,会导致玩家被巨石堵住,随后不明不白就被炸死
4.实装首次遇见投掷系统时的按键提示
5.替换第一关的云
6.修复第二关无法和电报机互动的问题
7.增加了第一关云层的视差
8.增加了场景部分美术素材的灰度,营造阴天的感觉
9.增加功能:当玩家走到能互动的东西附近时,头顶飘一个【F/X】的按键提示
10.将修电报线动作的过度做得更加平滑
11.修改碉堡动画,解决一部分子弹的穿模问题
12.将机枪手处的投掷物堆改为火堆
(*做不到让火把跟随手部,果咩QAQ

(*:第二关的炮火已经越来越好了,但是目前只有炮火,晚上肯定也会开枪吧?希望增加一些随机快速闪烁的光源表示晚上的枪。
(*:建议把倒地后的机枪手也加上调查对话

xx:人声问题请待定,加上音乐后好像又不是很违和了
(*:碉堡警告音效系统做完了,但是人声感觉上非常奇怪,建议修改
(*:敌人被石头吸引系统实装完成,但是很突兀,建议还是不要出现语言了

(*:建议更换【序章-家中】的远处的天空,并加上视差
(*:建议增加机枪手处石堆被击动画,可以是抖动,也可以是扬起一些灰尘之类的
(*:建议在序章家中第一次与父亲的对话中加入对电报机制的讲解

接下来的任务:

3.实装第二关最后追逐关卡
4.制作开始界面
5.制作Thanks 4 Play
6.电报系统、打完划掉、显示翻译数字序列
7.实装死亡和自动重新开始
2021-09-14 02:01:25 +08:00

93 lines
2.8 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class OpTipsOnHead : OperationsInfo
{
private M_Player player;
private Transform point;//显示这个提示的点位,在玩家的头上。为了避免转向问题所以稍微绕了一点
private IndexRecoder indexRecoder;
void Start()
{
player = FindObjectOfType<M_Player>();
spriteRenderer = GetComponent<SpriteRenderer>();
point = player.transform.Find("头顶提示点位");
indexRecoder = FindObjectOfType<IndexRecoder>();
}
void Update()
{
CheckPlayerCatchedAndRun();
if(isIn && spriteRenderer.color.a < 1)
{
spriteRenderer.color = new Color(
//RBG不变
spriteRenderer.color.r,spriteRenderer.color.g,spriteRenderer.color.b,
//a变大
spriteRenderer.color.a + speed * Time.deltaTime
);
}
if(!isIn && spriteRenderer.color.a > 0)
{
spriteRenderer.color = new Color(
//RBG不变
spriteRenderer.color.r,spriteRenderer.color.g,spriteRenderer.color.b,
//a变小
spriteRenderer.color.a - speed * Time.deltaTime
);
}
transform.position = point.position;
}
private void CheckPlayerCatchedAndRun()
{
if(player.catched != null)
{
switch(player.catched.gameObject.tag)
{
case "门":
if(indexRecoder.stageName == "开门演出" || indexRecoder.stageName == "准备出发")
isIn = true;
break;
case "镜子":
if(indexRecoder.stageName != "准备出发")
isIn = true;
break;
case "水缸":
isIn = true;
break;
case "父亲":
isIn = true;
break;
case "电话线":
TelephoneLine telephoneLine = (TelephoneLine)player.catched;
if(!telephoneLine.HasTheBePrepared())
{
isIn = true;
}
else
isIn = false;
break;
case "电报机":
isIn = true;
break;
case "地图":
isIn = true;
break;
case "任务书":
isIn = true;
break;
case "投掷物堆":
isIn = true;
break;
default:
isIn = false;
break;
}
}
else isIn = false;
}
}