这个作业属于哪个课程 | 软件工程A |
---|---|
这个作业要求在哪里 | 团队作业–站立式会议+alpha冲刺 |
作业目标 | 记录alpha冲刺Day5 |
团队名称 | 橘色肥猫 |
团队置顶集合随笔链接 | Alpha冲刺笔记-置顶-橘色肥猫-CSDN博客 |
目录
站立式会议照片
项目燃尽图
项目程序/模块的最新运行图片/gif/视频
场景切换等调用的方法
using System;
using UnityEngine;
public class EventHandler : MonoBehaviour
{
public static event Action<ItemDetails, int> UpdateUIEvent;
public static void CallUpdateUIEvent(ItemDetails itemDetails,int index)
{
UpdateUIEvent?.Invoke(itemDetails, index);
}
public static event Action BeforeSceneUnloadEvent;
public static void CallBeforeSceneUnloadEvent()
{
BeforeSceneUnloadEvent?.Invoke();
}
public static event Action AfterSceneloadEvent;
public static void CallAfterSceneUnloadEvent()
{
AfterSceneloadEvent?.Invoke();
}
public static event Action<ItemDetails, bool> ItemSelectedEvent;
public static void CallItemSelectedEvent(ItemDetails itemDetails,bool isSelected)
{
ItemSelectedEvent?.Invoke(itemDetails, isSelected);
}
public static event Action<ItemName> ItemUsedEvent;
public static void CallItemUsedEvent(ItemName itemName)
{
ItemUsedEvent?.Invoke(itemName);
}
public static event Action<int> ChangeItemEvent;
public static void CallChangeItemEvent(int index)
{
ChangeItemEvent?.Invoke(index);
}
public static event Action<string> ShowDialogueEvent;
public static void CallShowDialogeEvent(string diague)
{
ShowDialogueEvent?.Invoke(diague);
}
}
场景二的人物对话
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[RequierComponent(typeof(Dialoguecontroller))]
public class CharacterH2 : Interactive
{
private DialogueConTroller dialogueConTroller;
private void awake()
{
dialogueConTroller = GetComponent<DialogueConTroller>();
}
private void EmptyClick()
{
if(isDone)
dialogueConTroller.ShowDialogueFinish();
else
dialogueConTroller.ShowDialogueEmpty();
}
protected override void OnClickedAction()
{
dialogueConTroller.ShowDialogueFinish();
}
}
场景二的人物对话的UI
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class DialogueUI : MonoBehaviour
{
public GameObject panel;
public Text dialogueText;
private void OnEnable()
{
EventHandler.ShowDialogeEvent += ShowDialogue;
}
private void OnDisable()
{
EventHandler.ShowDialogeEvent -= ShowDialogue;
}
private void ShowDialogue(string dia)
{
if(dia!=string.Empty)
panel.SetActive(true);
else
panel.SetActive(false);
panel.text=dia;
}
}
控制所有对话的父类
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DialogueController : MonoBehaviour
{
public DialogueData_SO dialogueEmpty;
public DialogueData_SO dialogueFinsh;
private Stack<string>dialogueEmptyStack;
private Stack<string>dialogueFinishStack;
private bool isTalking;
private void Awake()
{
FillDialogueStack();
}
private void FillDialogueStack()
{
dialogueEmptyStack = new Stack<string>();
dialogueFinishStack = new Stack<string>();
for(int i = dialogueEmptyStack.dialogueList.Count - 1; i >= 0;i--)
{
dialogueEmptyStack.push(dialogueEmptyStack.dialogueList[i]);
}
for(int i = dialogueFinishStack.dialogueList.Count - 1; i >= 0;i--)
{
dialogueFinishStack.push(dialogueFinishStack.dialogueList[i]);
}
}
}
对话数据传输媒介
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
[CreateAssetMenu(fileName = "DialogueData_SO",menuName = "Dialogue/DialogueData_SO")]
public class DIalogueData_SO : ScriptableObject
{
public List<string> dialogueList;
}
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
[CreateAssetMenu(fileName = "DialogueData_SO",menuName = "Dialogue/DialogueData_SO")]
public class DIalogueData_SO : ScriptableObject
{
public List<string> dialogueList;
}
成员描述
102101208涂欣雨
昨天站立式会议到现在的进展:完善了第四部分场景切换顺序。
存在的问题/遇到的困难:无
今天到明天会议的安排:继续完成第一幕游戏场景的切换顺序。
心得体会:今天根据游戏剧情进一步完成了第四部分游戏场景的切换顺序。
112100237 辜智荣
昨天站立式会议到现在的进展:完善了第三部分场景的情节设计
存在的问题/遇到的困难:无
今天到明天会议的安排:继续完成第三幕游戏场景的设计
心得体会:需要多利用网络资源和身边同学的力量。要多和队友沟通,了解彼此需求。
102103135张文峰
昨天站立式会议到现在的进展:基本实现了人物的对话
存在的问题/遇到的困难:实例化出错、命名空间错误、UI界面出错等
今天到明天会议的安排:逐步实现主菜单
心得体会:类继承提供了比修改源码更好的方法,不需要访问源码就可以派生出类。尤其是当项目比较庞大时,重用经过测试的代码比重新编写代码要好的多
102101410魏予阳
进展:制作了不少游戏的素材 存在的问题:网络上面找到的素材清晰度不够而且有水印,还有按钮遮挡,不能直接用于制作,可以使用绘图软件去除遮挡物。
安排:明天继续进行会议交流 心得体会:通过绘画软件可以去除游戏本身的水印和图标提取素材,提高清晰度。
102101143_傅晗
昨天站立式会议取得了一些进展,主要完成了小游戏场景的搭建,包括划线等操作。同时,还着手编写了单例模式的代码,并进行了游戏导出的尝试。
然而,在导出游戏的过程中,遇到了一些问题。编写单例模式而不是直接使用dll工具,以解决这一困难。
今天到明天的会议安排将集中在解密小游戏的开发,保持团队的工作进度。
关于单例模式的心得体会,可能可以补充一些关于其在项目中的应用和优势。单例模式可以确保一个类只有一个实例,这在某些情况下是非常有用的,尤其是需要全局访问某个对象时。通过单例模式,可以有效地管理和共享资源,提高系统的灵活性和可维护性。在项目中充分利用单例模式,可以简化代码结构,减少不必要的对象创建,提高性能,并减少潜在的错误。
102101209颜一虹
昨天站立式会议到现在的进展:完善了第四部分场景切换顺序
存在的问题/遇到的困难:无
今天到明天会议的安排:继续完成第一幕游戏场景的切换顺序
心得体会:今天根据游戏剧情进一步完成了第四部分游戏场景的切换顺序,进展顺利。