93 lines
2.8 KiB
C#
Raw Normal View History

任务:实装和完善部分音效,修复场景问题 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
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;
}
}