封面型网页网站有哪些,用备份的网站代码做网站步骤,wordpress绑定多个域名,有免费查企业的软件吗1、目标
在时钟界面显示当前时钟信息#xff0c;同时设置特殊按钮可以快速推进时间用于测试。 2、创建GameClock.cs脚本
在Assets - Scripts - TimeSystem目录下创建GameClock.cs脚本。
代码如下#xff1a;
using System.Collections;
using System.Collections…1、目标
在时钟界面显示当前时钟信息同时设置特殊按钮可以快速推进时间用于测试。 2、创建GameClock.cs脚本
在Assets - Scripts - TimeSystem目录下创建GameClock.cs脚本。
代码如下
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;public class GameClock : MonoBehaviour
{[SerializeField] private TextMeshProUGUI timeText null;[SerializeField] private TextMeshProUGUI dateText null;[SerializeField] private TextMeshProUGUI seasonText null;[SerializeField] private TextMeshProUGUI yearText null;private void OnEnable(){EventHandler.AdvanceGameMinuteEvent UpdateGameTime;}private void UpdateGameTime(int gameYear, Season gameSeason, int gameDay, string gameDayOfWeek, int gameHour, int gameMinute, int gameSecond){// Update timegameMinute gameMinute - (gameMinute % 10); // 10的倍数显示string ampm ;string minute;if(gameHour 12){ampm pm;}else{ampm am;}if(gameHour 13){gameHour - 12;}if(gameMinute 10){minute 0 gameMinute.ToString();}else{minute gameMinute.ToString();}string time gameHour.ToString() : minute ampm;timeText.SetText(time);dateText.SetText(gameDayOfWeek . gameDay.ToString());seasonText.SetText(gameSeason.ToString());yearText.SetText(Year gameYear);}
}3、优化TimeManager.cs脚本
作用触发时间加速
添加如下代码
/// summary
/// Advance 1 game minute
/// /summary
public void TestAdvanceGameMinute()
{for(int i 0; i 60; i){UpdateGameSecond();}
}/// summary
/// Advance 1 day
/// /summary
public void TestAdvanceGameDay()
{for(int i 0; i 86400; i){UpdateGameSecond();}
}
同时在UpdateGameSecond函数中添加 4、优化Player.cs脚本
增加特定按钮触发加速时间的逻辑。
添加如下方法
/// summary
/// Temp routine for test input
/// /summary
private void PlayerTestInput()
{// Trigger Advance Timeif (Input.GetKey(KeyCode.T)){TimeManager.Instance.TestAdvanceGameMinute();}// Trigger Advance Dayif (Input.GetKey(KeyCode.G)){TimeManager.Instance.TestAdvanceGameDay();}
}
然后在Update()中添加该方法 5、创建时钟UI
1添加GameClock物体
在Hierarchy - PersistentScene - UI - MainGameUICanvas - UICanvasGroup下创建空物体命名为GameClock。
该对象添加Image组件。 2设置GameClock定位到右上角
按住Shift键然后点击右上角。 修改PosX和PosY的值为-4和-2.5。
3添加Text组件
在GameClock下添加空物体命名为Year然后该对象添加TextMeshPro - Text(UI)组件具体配置如下 复制Year得到另外三个对象分别为Season、Date Text、Date Time如下图所示 然后给GameClock对象添加GameClock组件配置对应的信息如下 运行程序显示如下 当按下T键后分的时间会加速当按下G后天的时间会加速。