当使用到设置人物属性的时候,使用set,get方法还是 直接把 人物属性 设置 为  public成员

本文没有描述SendMessage方法和使用单例。

----------------------------------------------------------------------------------------------------------------------------------------

首先了解set,get的使用方法

第一种

 public PlaneType type{get;private set;}
来自 参考资料2

第二种

public int width
{
get {
return _width;
}
set {
Debug.Log("set :" + value);
_width = value;
}
}
private int _width;

来自 参考资料1

直接使用public

在A.cs设置声明

public int num;

初始化

num = 10;

在B.cs中使用A.cs的对象,首先这个A.cs 要实例化

意思是在A物体挂载A.cs,B物体挂载B.cs才能够使得B.cs调用A物体的 A.cs

当然,不同物体的挂载多个A.cs,B可以对这些不同物体的挂载多个A.cs都可以调用。只要 程序员自己清楚。

B物体挂载B.cs才能够使得B.cs调用A物体的 A.cs,该怎么在B.cs中使用呢

第一步,要找到被调用的物体

B物体挂载B.cs要找到A物体的 A.cs的A物体

第二步,对其进行调用

使得B物体挂载B.cs 的数值等于 A物体的 A.cs的数值

----------------------------------------------------------------------------------------------------------------------------------------

直接调用public 的方法

这个时候为什么都是 0 呢,因为 A.cs没有直接赋值,就使得 B物体的B.cs数值没有改变

这样改,就行了。这就是为什么很多 查找物体,以及很多 被调用 的数值 在Awake函数里面初始化的原因。

在函数Start里面调用自身使用的 变量  初始化 的原因。

----------------------------------------------------------------------------------------------------------------------------------------

使用set,get方法

1.使得set方法私有化private 获得A的数值

B.cs只是把红色方框内的A_num改为了_A_num

1.1把初始化放在start函数

1.2把初始化放在awake函数

2.使得set方法私有化private 改变A的数值

会出错,因为A.cs 的_A_num的set方法为私有private。

设置 公有public set 方法

----------------------------------------------------------------------------------------------------------------------------------------

总结:

当很多变量要使用到同一个对象,如果很多个脚本都要调用,修改这个 对象数值,使用私有private set方法,就可以使其仅在自身的脚本中修改,从而避免出现

“牵一发动全身”的问题。

那么什么情况要用到私有private set 方法,比如游戏设置,游戏难度设置等情况

----------------------------------------------------------------------------------------------------------------------------------------

参考资料:

1.

Unity3D研究院之Inspector视图中的get/set使用(四)

2.

Unity3D心得之游戏架构设计和属性的运用

3.

使用Unity3D编写ARPG游戏——角色属性的定义与实现(一)

4.

【Unity人物属性】人物属性大量设置用set,get方法还是public成员相关推荐

  1. Unity资源导入自动化设置

    Unity资源导入自动化设置 简介 具体实现 新的问题 解决方法 简介 大家都知道,在Unity中导入的资源不同类型有不同的设置, 例如:模型文件导入之后是这样的 当导入数量少的时候我们可以手动去改, ...

  2. unity导入的模型设置详谈(后面动作)

    此次咱们以2018版本为例,其他版本也差不多,有需要可以下方评论,我告诉大家对应的设置在哪,怎么设置. 咱们先讲Model这一栏 Scene:场景级属性,例如是否导入灯光和照相机,以及使用什么比例因子 ...

  3. Unity编写Shader内置各种矩阵和方法介绍

    返回目录 大家好,我是阿赵. 这里记录一下Unity编写Shader内置各种矩阵和方法 一.Unity内置转换矩阵 1.MVP类矩阵 UNITY_MATRIX_MVP:Current model * ...

  4. Unity最新版打包AssetBundle和加载的方法

    一.设置assetBundleName 二.构建AssetBundle包 三.上传AssetBundle到服务器 四.把AssetBundle放到本地 五.操作AssetBundle 六.完整例子 七 ...

  5. unity当前项目里面AssetBundle和加载的方法总结

    2017年10月14日 19:24:14 醉忘天涯一线天 阅读数:9021 出处:https://blog.csdn.net/lmyfx/article/details/78236225 版权声明:本 ...

  6. 关于UNITY中System.Drawing引用失败的处理方法

    关于UNITY中System.Drawing引用失败的处理方法 今天在使用EPPlus中,遇到一个处于This type has been forwarded to assembly 'System. ...

  7. Unity场景内模型出现粉色的处理方法

    Unity场景内模型出现粉色的处理方法 Unity 场景内出现粉色Shader的处理方法 0 丢失材质或者渲染文件丢失表现 1 查看Shader类型 1.1 查看后是URP的Shader 2 查看是否 ...

  8. Unity 3D Text字迹模糊问题的解决方法

    Unity 3D Text字迹模糊问题的解决方法 https://blog.csdn.net/sarsscofy/article/details/85096994 Unity 3D Text显示比较鸡 ...

  9. 关于Unity的版本控制工具PlasticSCM的初步使用方法

    作为Unity初学者,同时作为编程的初学者,之前没有怎么接触过多人协作的版本控制系统.一开始我们尝试使用git进行版本控制,但是作为小白的我们没有马上找到进行文件的传出.传入等操作的方便的方式.于是我 ...

最新文章

  1. TensorFlow csv读取文件数据(代码实现)
  2. 这个能快速发表Cell,Nature,Molecular cell的分析技术你要错过吗?
  3. 算法设计与分析 贪心算法
  4. python里面对文件的读写操作
  5. 在双向链表存储结构中,删除p所指的结点时,须修改指针()【选择题】
  6. jQuery 输入框 在光标位置插入内容, 并选中
  7. 一个内核网络漏洞详解|容器逃逸
  8. android 中文 api (72) —— BluetoothSocket[蓝牙]
  9. cheatengine找不到数值_“不会找问题”,只配在底层,最高效的思维方式导图,人生开挂!...
  10. 一起开心寒假训练总复习
  11. LeetCode 1038. 从二叉搜索树到更大和树(逆中序-右根左-降序)
  12. 获取含有class为某个值的a标签或img标签
  13. Windows系统下快速安装、配置Aira2,及图形界面配置、度盘、B站视频下载
  14. 雷电2接口_Steinberg 发布旗舰级 32 bit / 384 kHz 雷电 2 音频接口 AXR4
  15. 开放式虚拟仿真实验服务器,润尼尔开放式虚拟仿真实验教学及资源共享平台
  16. 全国多省市遭暴雪袭击!这些路段交通受阻!
  17. 【总结】知识点巩固------Linux命令总结
  18. 如何在纯HTML的静态网页中添加一段统计网页访问量的JAVA Script代码?
  19. 【转载】Cygwin安装
  20. (C语言)实现strcpy

热门文章

  1. durbin watson检验表_Durbin-Watson自相关检验应用问题探讨
  2. (++a)+=(a++)和(++a)=(++a)+(a++)的区别
  3. 客户端GUI测试技术和自动化测试架构设计简谈
  4. 【笔记-node】《imooc-nodejs入门到企业web开发中的应用》
  5. 给计算机主机吹灰,电脑主机多久清理一次灰合理一些?一点小建议给你
  6. 测试计划及方案怎么写?
  7. 法院判了!耿美玉起诉饶毅名誉侵权,驳回请求!但对饶毅方也应给予批评......
  8. 港科校友 | 香港科大EMBA刘礼华校友获评俄罗斯自然科学院院士
  9. 【ESP32_8266_MQTT篇】
  10. 小学计算机集体听课评课,小学听课评课活动总结