【Fungus笔记】No.10:Portrait(人物形象) 演出

从图像的角度来讲,人物形象或表情的变化一般有两种表现形式,一种是在对话框上显示人物大头贴,另一种是在场景中显示人物形象,并进行一定的细节处理

 

先介绍第一种表现形式:在对话框上显示人物大头贴

1)创建说话的角色(Character)。

2)在角色的检视窗口中找到 Portraits属性,引用多张图片表示角色的多种表情,当然也可以只有一种。

3)Say指令 中引用角色和显示在对话框中的角色默认肖像。

<think>好的,用户想在Unity中使用Fungus插件的SaveSelection方法或功能。我需要先确认Fungus是否确实有这个功能,或者用户可能记错了名称。首先,我应该回顾Fungus的文档,看看是否有SaveSelection相关的命令或方法。Fungus的常用命令包括保存变量、菜单选择等,但SaveSelection可能不是标准命令。 接下来,考虑到用户可能希望保存玩家的选择,比如在对话树中的选项,以便后续流程中使用。Fungus通常使用变量来存储数据,所以可能的方法是使用Set Variable命令来记录选择的值。例如,当玩家做出选择后,将选项的索引或内容保存到一个变量中,之后在流程中调用这个变量。 另外,用户可能希望实现类似保存游戏进度的功能,这时需要结合Fungus的SaveManager组件。SaveManager可以保存游戏的状态,包括变量和当前的流程位置。需要指导用户如何设置SaveManager,如何触发保存和加载操作。 还有可能用户提到的SaveSelection是指保存当前选择的流程分支,这可能需要通过自定义脚本或扩展Fungus的功能来实现。如果标准功能无法满足,可能需要编写一些Lua脚本或者C#代码来增强功能,比如访问Flowchart的变量和状态,并手动保存到PlayerPrefs或文件中。 需要检查Fungus的API文档,查看Flowchart类是否有相关的方法可以获取当前的选择状态,或者是否有事件可以在选择时触发保存操作。如果有,可以指导用户使用这些API;如果没有,可能需要提供替代方案,比如使用变量跟踪选择。 最后,确保回答步骤清晰,给出具体的操作示例,比如如何创建变量,如何在选项命令中设置变量,以及如何使用SaveManager。同时提醒用户注意测试保存和加载功能,确保数据正确性。</think>在Unity中使用Fungus插件实现选择保存功能,可以通过以下步骤操作: ### 一、基础设置 1. 创建**Flowchart**对象 - 在Hierarchy面板右键 > Fungus > Create Flowchart - 添加`SaveManager`组件:Inspector窗口 > Add Component > Fungus > Save Manager 2. 设置全局变量 ```lua -- 在Flowchart Variables面板创建变量 variable int selectedChoice = 0 variable bool isChoiceSaved = false ``` ### 二、选择保存实现 ```python # 在对话选项命令中设置变量值 Say -> Menu: Option "选择A": Set Variable: selectedChoice = 1 Set Variable: isChoiceSaved = true Option "选择B": Set Variable: selectedChoice = 2 Set Variable: isChoiceSaved = true ``` ### 三、保存/加载系统 1. 添加保存按钮: ```lua // 创建UI Button并绑定事件 EventTrigger.AddListener(ExecuteSave); ``` 2. 实现保存逻辑: ```csharp public void ExecuteSave(){ SaveManager.SaveGame(); PlayerPrefs.SetInt("LastChoice", flowchart.GetIntegerVariable("selectedChoice")); } ``` 3. 加载时检测: ```csharp void Start(){ if(SaveManager.SaveExists()){ int lastChoice = PlayerPrefs.GetInt("LastChoice"); flowchart.SetIntegerVariable("selectedChoice", lastChoice); flowchart.ExecuteBlock("LoadGameBlock"); } } ``` ### 四、高级应用 1. 多存档支持: ```csharp SaveManager.SaveSlotProfile("Slot1"); SaveManager.LoadSlotProfile("Slot1"); ``` 2. 数据加密(AES加密示例): ```csharp string encryptedData = AESHelper.Encrypt(saveData); File.WriteAllText(savePath, encryptedData); ``` [^1]: Fungus的保存系统采用JSON序列化方案,可扩展支持自定义数据类型和加密需求
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值