Alpha冲刺随笔

编程入门 行业动态 更新时间:2024-10-19 06:20:21

Alpha冲刺<a href=https://www.elefans.com/category/jswz/34/1769507.html style=随笔"/>

Alpha冲刺随笔

这个作业属于哪个课程软件工程A
这个作业要求在哪里团队作业–站立式会议+alpha冲刺
作业目标记录alpha冲刺Day2
团队名称橘色肥猫
团队置顶集合随笔链接Alpha冲刺笔记-置顶-橘色肥猫-CSDN博客​

文章目录

    • 站立式会议图片
    • 项目燃尽图
    • 成员描述
    • 代码签入签出记录
    • 实现背包逻辑

站立式会议图片

项目燃尽图

成员描述

102101143 傅晗
Unity2d 背包逻辑是指在Unity游戏开发中,如何实现一个可以存储和管理物品的背包系统。背包的交互逻辑:如何让玩家可以对背包中的物品进行操作,例如拾取、使用、丢弃、交换、合成等。一种常用的方法是使用Unity的事件系统,给每个格子添加一个事件触发器组件,用来监听玩家的点击或拖拽事件,然后根据不同的事件类型,执行相应的逻辑,例如更新背包的数据和界面,调用物品的功能,播放音效或动画等。Unity2d 背包逻辑需要考虑到很多细节和情况,例如背包的容量限制,物品的堆叠规则,物品的分类和排序,物品的拾取和使用条件,物品的交互反馈等,这些都需要仔细的设计和测试,避免出现逻辑错误或BUG。

102101209 颜一虹
昨天站立式会议到现在的项目进展:设计第二部分场景切换顺序
存在的问题/遇到的困难:开发人员表示有部分切换场景无法理解
今天到明天会议安排:继续设计剧情场景切换逻辑顺序
心得体会:今天继续熟悉了游戏剧情的发展顺序,又因为缺少和开发人员的沟通,描述方式与开发人员的理解方式不同,所以花费了一定的时间进行交流整改,下次就不会啦。

102101237 翁国平
今天把剧情更加理顺,并且找到了几张符合剧情的素材

112100237 辜智荣
今天找到了一些和情节适配度较高的图片,也对情节切换方面提出了一些意见。困难主要是在图片中提示部分的安排,需要使不同场景之间的线索安排具有连贯性。

102101217苏锦森
发现图生图生成图片需要非常细致的观察力和创新思维。每一个细节都需要精心设计,每一个元素都需要和整体的游戏风格协调一致。这需要我在理解游戏背景、角色设定和故事情节的基础上,创造出符合游戏氛围的图片。
在实际操作中,我遇到了一些技术上的困难。比如,如何把握好图片的分辨率和大小,使其既能保证画质清晰,又不会过大影响游戏的运行速度。又比如,如何利用图像处理软件的各种功能,实现我想要的效果。这些都需要我不断学习和实践。

102101208 涂欣雨
昨天站立式会议到现在的进展:梳理出第二部分游戏场景的切换顺序
存在的问题/遇到的困难:剧本中存在一些逻辑模糊的地方
今天到明天会议的安排:继续梳理游戏场景的切换顺序,细化游戏线索
心得体会:今天根据剧本梳理了一下第二部分游戏场景的切换顺序,针对剧本逻辑模糊的地方与开发人员进行了沟通。

102101613 石贤炜
昨天站立式会议结束后,小组成员们回去后积极的执行分配到的任务。在今天的小组会议上,大家各自阐述了自己任务的完成情况,负责代码的同学向大家述说了自己编程中遇到的困难,然后与我们讨论代码编写出来的程序与剧情的适配度,负责素材与剧情策划的同学提了不少的意见,大家反复磋商,整场会议下来,感觉游戏又优化了不少,界面更加友好,用户交互的体验感应该会增强。我分配到的任务依旧是找素材,继续努力,继续加油,打造精品游戏!!!

102101225 张鸿诚
Unity 2d 人物移动是一个非常基础和重要的功能,让玩家可以通过键盘、鼠标、触摸屏等输入设备来控制人物的移动方向和速度,以及人物的跳跃和攻击等动作,可以让游戏有更多的互动性和动态性,让玩家有更好的游戏体验和沉浸感。
Unity 2d 人物移动需要考虑到很多细节和情况,例如人物的动画和物理的匹配和平滑,人物的控制的灵敏和准确,人物的移动的限制和边界,人物的移动的反馈和提示,以及重力加速度等。

代码签入签出记录

实现背包逻辑

Item.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Item : MonoBehaviour
{// Start is called before the first frame updatepublic ItemName itemName;public void ItemClicked(){InventoryManager.Instance.AddItem(itemName);this.gameObject.SetActive(false);}}

Inventory Manager

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class InventoryManager : Singleton <InventoryManager>
{public ItemDataList_SO itemData;[SerializeField] private List<ItemName> itemList = new List<ItemName>();private void OnEnable(){EventHandler.ItemUsedEvent += OnItemUsedEvent;EventHandler.ChangeItemEvent += OnChangeItemEvent;EventHandler.AfterSceneloadEvent += OnAfterSceneUnloadEvent;}private void DisEnable(){EventHandler.ItemUsedEvent -= OnItemUsedEvent;EventHandler.ChangeItemEvent -= OnChangeItemEvent;EventHandler.AfterSceneloadEvent -= OnAfterSceneUnloadEvent;}private void OnAfterSceneUnloadEvent(){if (itemList.Count == 0)EventHandler.CallUpdateUIEvent(null, -1);else{for(int i = 0; i < itemList.Count; i++){EventHandler.CallUpdateUIEvent(itemData.GetItemDetails(itemList[i]), i);}}}private void OnChangeItemEvent(int index){if(index >=0&&index <itemList.Count) { ItemDetails item = itemData.GetItemDetails(itemList[index]);EventHandler.CallUpdateUIEvent(item, index);}}private void OnItemUsedEvent(ItemName itemName){var index = GetItemIndex(itemName);itemList.RemoveAt(index);if (itemList.Count == 0)EventHandler.CallUpdateUIEvent(null, -1);}public void AddItem(ItemName itemName){if (!itemList.Contains(itemName)){itemList.Add(itemName);EventHandler.CallUpdateUIEvent(itemData.GetItemDetails(itemName), itemList.Count - 1);}}private int GetItemIndex(ItemName itemName){for (int i = 0; i < itemList.Count; i++){if (itemList[i] == itemName)return i;}return -1;}
}

ItemDataList_SO.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu(fileName = "ItemDataList_SO", menuName = "Inventory/ItemDataList_SO")]
public class ItemDataList_SO : ScriptableObject
{public List<ItemDetails> itemDetailsList;public ItemDetails GetItemDetails(ItemName itemName){return itemDetailsList.Find(i=>i.itemName == itemName);}
}[System.Serializable]
public class ItemDetails
{public ItemName itemName;public Sprite itemSprite;
}

Player control

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class PlayerControl : MonoBehaviour
{private Animator ani;private Rigidbody2D rBody;void Start(){ani = GetComponent<Animator>();rBody = GetComponent<Rigidbody2D>();}// Update is called once per framevoid Update(){float horizontal = Input.GetAxisRaw("Horizontal");float vertical = Input.GetAxisRaw("Vertical");if (horizontal != 0){ani.SetFloat("Horizontal", horizontal);ani.SetFloat("Vertical", 0);}if(vertical != 0){ani.SetFloat("Horizontal", 0);ani.SetFloat("Vertical", vertical);}Vector2 dir = new Vector2(horizontal, vertical);ani.SetFloat("Speed", dir.magnitude);rBody.velocity = dir * 0.5f;}
}


CameraControl

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class CameraControl : MonoBehaviour
{public Transform target;public float MinY;public float MaxY;void Start(){}// Update is called once per framevoid Update(){Vector3 v3 = transform.position;v3.y = target.position.y;if(v3.y>MaxY)   v3.y = MaxY;if(v3.y<MinY)   v3.y = MinY;transform.position = v3;}
}

更多推荐

Alpha冲刺随笔

本文发布于:2024-03-08 15:35:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1721307.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:随笔   Alpha

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!