unity的组件是 unity开发的脚本,本质上和我们写的脚本是一样的
所以二者冲突,发生抖动
//设定一个box..2D的小狗变量,然后就可通过.把对应的组件里东西点出来
//BoxCollider2D dog = GetComponent<BoxCollider2D>();
//GetComponent是获取组件的意思,<>里填组件类型
//静态方法使用:类名. 方法名
//普通方法 / 变量方法:对象名. 方法名
静态方法就是和程序生命周期同生共死,随时使用的
unity的组件是 unity开发的脚本,本质上和我们写的脚本是一样的
所以二者冲突,发生抖动
//设定一个box..2D的小狗变量,然后就可通过.把对应的组件里东西点出来
//BoxCollider2D dog = GetComponent<BoxCollider2D>();
//GetComponent是获取组件的意思,<>里填组件类型
//静态方法使用:类名. 方法名
//普通方法 / 变量方法:对象名. 方法名
静态方法就是和程序生命周期同生共死,随时使用的
1.访问unity中国官网unity.cn(unity.com是国际网站,不适合初学者)
2.点击下载unity;
3.下载Unity前先要下载一个Unity hub,这可以帮助你更好的管理项目,也可以帮助你更好的下载各种版本的Unity,Unity版本更新快,紧随潮流。
4.先点击下载hub,再弹出的页面登陆自己的unityID,如果没有,可以通过页面的下方点击注册,使用自己的手机号或电子邮箱进行注册。
5.注册好之后,右上角登陆账号,如果出现头像说明成功了,再次点击下载hub,打开文件安装目录,双击unity hub软件安装包,弹出界面后点击我同意,然后设置好安装目录,再点击安装就可以了,如果默认安装地址位置内存够的话,可以直接安装。
6.等待安装完毕后,桌面上会出现快捷图标,如果没有的话可以去软件根目录里找,双击打开hub,点击安装,安装2023.x型号中的版本,最好是2023.1.1。
7.安装成功即可。
collider2d组件中 有 Edit colliber,用来编辑碰撞体的大小
因为移动的时候总是z轴在旋转,所以
Rigidbody 2D → Constraints 锁死Z轴
发生碰撞的条件:必须都有碰撞器,且一方有刚体,最好是运动的一方,因为unity为了性能的优化,因刚体长时常不发生碰撞检测会休眠
上下抖动是因为刚体系统碰撞 和 代码 的冲突
所以直接控制刚体组件让他移动即可
添加刚体组件后,物体新增了重力
但是2d不需要重力
刚体组件:获得重力、接受外界的阻力和扭力、通过脚本或是物理引擎为游戏对象田间刚体组件
碰撞器:使游戏物体 具有 跟 挂载刚体组件 的 游戏物体 发生碰撞 能力 的组件
collide(不要忘记也)
物理系统,欸嘿。
《力学基础》
2d刚体组件,是unity中给2D物体模拟物理特性的组件
子体 通过 override 也可以修改母体
文件无法通过z撤回,引擎里的修改可以撤回,修改文件之后就无法撤回了
总结:
预制体很好用,是一个非常重要的概念
回顾
改2d游戏的渲染顺序,改变轴向,Edit
轴心点概念
精灵渲染的顺序点
预制体:unity 的特殊资源、是一个或者一系列组件的集合体,可以使用预制体实例化克隆体、后续可以对克隆体属性进行统一修改
即母体 和 字体的意思
把场景物体拖进project就变成预制体
把预制体反打包
右键 → prefabs → unpack compelete
面对走来走去的玩家和NPC,我们该如何去控制渲染顺序,
Edit → setting → Transparency Sort Mode改成 Custom Axis(然后弹出可设置参数)
分别代表根据 X\Y\Z渲染,只与正负号有关,与具体值无关
覆盖自然与否与轴心点相关,是根据轴心点计算的
上次遇到了不会显示的问题,怎么调顺序????
深度问题(z轴的值问题)不知道先渲染谁了?渲染决定层级顺序
解决的办法:绝对不是2d转3d,调整z轴来调整关系(虚晃一招)
层级,在SpriteRenderer组件中的Order in Layer词条
把个别建筑物fan
Application.targetFrameRate = //代表帧率的变量
动画60是最好的,30是基本流畅的动画
"//"是注释的意思,不参与运行,可以作为标注。或者去掉暂时不用的代码 / 调试作用
???为什么
官方会帮我们创建一个默认场景“samplescenes”
我这里的印象是立体直角坐标系是朝前x 朝右y 朝上z,就像高数所说的那样。
输入类:input类的方法
input.getaxis:获取用户的虚拟轴的操作信息
qtgu
XB
父类以摄像机中心为原点,子类以父类为坐标原点。
预制体
开始测试是0/0,是因为maxHealth没有赋值,默认是0,currentHealth的值也是0,所以无论加多少次,当前血量都只能是0,因为是在[0,0]的区间内取值
碰撞器位置会歪是因为刚体和碰撞器是加在父布局上的,拖拽移动的时候是移动的子布局,相对就偏移了
new scene - file - new scene ctrl + n
或右键asset选择新scene