《Unity3D动作游戏开发实战》笔记及扩展2.1

本文是《Unity3D动作游戏开发实战》的读书笔记,重点关注协程在异步任务中的应用,自定义插值公式的理解,游戏中的消息模块设计,以及模块间如何通过单例模式进行管理与协调。文中包含实例代码和关键概念解释。
摘要由CSDN通过智能技术生成

2.1.1. 使用协程分解复杂逻辑

  • 协程处理异步任务:当遇到一些需要异步处理的程序需求时,可以使用协程来实现
  • 使用协程的优点:简单,易于实现
  • 实例:使用协程代替有限状态机 (基于原书的代码做了些许修改以及增加了注释)
//一个表示村民的类
public class Villager : MonoBehaviour
{
   
	public float maxSatiation = 10f;		//最大饱食度
	public float maxFatigue = 10f;			//最大困倦值
	const float minSatiation = 0.2f;		//最小饱食度
	const float minFatigue = 0.2f;			//最小困倦值
	private float satiation;				//当前饱食度
	private float fatigue;					//当前困倦值
	Coroutine currentCoroutine;				//当前的状态(协程)

	//OnEnable在脚本被激活时立即执行
	void OnEnable()
	{
   
		satiation = maxSatiation;			//初始化饱食度,设为最大值
		fatigue = maxFatigue;				//初始化困倦值,设为最大值
		StartCoroutine(Tick());				//开始“游戏循环”的协程
	<
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值