7月22日学习心得

今天在构思函数上有了一些感觉,通过学习一些基本的语句发现了连接脚本的一些算法,首先我是先从理解Destory,其为毁灭性函数一旦使用就不能够再后面加后续函数控制其功能。并且Destroy若后面出现代码接着访问此代码就会出现异常,目前为止我仅仅空想出了俩个方案进行改进,第一种是用setactive进行角色隐藏再被击杀或死亡时将人物隐藏起来,从而弹出界面,而第二种在网上找到了一些前辈的方法
解决方案:

对物件进行封装, 外部访问时不直接操作物件, 而通过接口调用, 删除或放回池里时, 断开该引用即可

using UnityEngine;

using System.Collections.Generic;

public class MyGameObject

{

//缓存池//

private static Queue m_map = new Queue();

private static GameObject m_root;

//创建一个节点//

public static MyGameObject Create(MyGameObject parent, string name)

{

GameObject obj;

if (m_map.Count > 0)

obj = m_map.Dequeue();

else

obj = new GameObject();

obj.name = name;

if (parent != null && parent.IsExist())

obj.transform.parent = parent.gameObject.transform;

else

obj.transform.parent = null;

MyGameObject ret = new MyGameObject();

ret.gameObject = obj;

return ret;

}

//删除一个节点//

public void Delete()

{

if (IsExist())

{

m_map.Enqueue(gameObject);

if (m_root == null)

{

m_root = new GameObject(“GameObjectMap”);

Object.DontDestroyOnLoad(m_root);

}

gameObject.transform.parent = m_root.transform;

}

gameObject = null;

//最好这里可以实现自身的回收–Lua//

}

//实际节点//

private GameObject gameObject;

//私有构造//

private MyGameObject(){ }

//节点有效判断//

public bool IsExist() { return gameObject != null; }

//其他逻辑实现//

public T GetComponent() where T : Component

{

if (IsExist()) return gameObject.GetComponent();

return null;

}

}

通过MyGameObject.Create()去获取一个节点, 外部拿到的只是一个访问器, 通过Delete()函数来释放自己, 将私有实际物体设置为null后, 外部就不可操作具体的对象.
如果利用第二种方案我将改变我全部公程,但我有这种决心。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的公寓报修管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本公寓报修管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此公寓报修管理系统利用当下成熟完善的Spring Boot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。公寓报修管理系统有管理员,住户,维修人员。管理员可以管理住户信息和维修人员信息,可以审核维修人员的请假信息,住户可以申请维修,可以对维修结果评价,维修人员负责住户提交的维修信息,也可以请假。公寓报修管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:公寓报修管理系统;Spring Boot框架;MySQL;自动化;VUE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值