移动优先级 两个不同轴的方向键键一起按变成斜着移动
分开两个输入与运动 先执行V(Y) 再执行h(X)加一个判断代码
谁放前面谁优先
先把目前已经写好的控制移动代码们封装为一个(Move)方法 让FixedUpdate里更加整洁,还可以注释一下
2D 渲染层级 图层 特效>玩家 子弹》河流
sorting 大层级 (default) order 小层级 数值越大越在上面 特效 /草/子弹order设为1
添加子弹素材 拖入 Bullet size 331
移动优先级 两个不同轴的方向键键一起按变成斜着移动
分开两个输入与运动 先执行V(Y) 再执行h(X)加一个判断代码
谁放前面谁优先
先把目前已经写好的控制移动代码们封装为一个(Move)方法 让FixedUpdate里更加整洁,还可以注释一下
2D 渲染层级 图层 特效>玩家 子弹》河流
sorting 大层级 (default) order 小层级 数值越大越在上面 特效 /草/子弹order设为1
添加子弹素材 拖入 Bullet size 331
碰撞检测
1 添加碰撞器,运动的一方最好有刚体(必须有一方有) 经常性不运动时刚体会休眠
2. 2D与3D 碰撞器不一样
3。最好直接在预制体上操作
4 添加刚体 2D给玩家,记得把重力调为0
把所有map预制体都加上碰撞器(草不用) 小技巧 全选后一起加
穿模问题 碰到map时方向乱套(受到旋转力) 将player刚体中的constraints 勾选Z轴
沿墙走时抖动(帧时间不同问题) 在玩家代码中 添加FixedUpdate(固定物理帧) 把所有有关移动的方法移到里面
并将Tima.deltaTime 改为Tima.fixedDeltaTime注意D大写
控制图片的移动与切换
随方向改变图片朝向
法一 更改图片显示 素材里有顺序各方向图片
改渲染器中的sprite 就能改图片
在代码中拿到sprite的引用
在上面 拿到引用(定义一个变量,再用getcomponent)注意拿引用的特殊写法
拿到要切换的图片的引用 (0,8,16,24上右下左 记好顺序)搞一个数组 直接把这几张图拖到inspector 面板里的数组里
tips 在project 上端把素材排列由一行 改为两行可以显示图片
下面用输入监听变量的返回值 判断一下h/v的正负 if else if h< 0是zuo
图片切换就像变量赋值 此时的数组中括号内的值是拿到数组以后的顺序了
法二 根据不需要的z轴来控制旋转
控制玩家移动
加载之后再操作
给player 加一个脚本
监听玩家输入的两个float 变量 水平轴 垂直轴
(字符串识别)
tarnsform 用translate 移动 x轴正方向/y轴正方向
h 返回值 1与-1 实现双向移动
定义速度 movespeed 初始值先定个3
(方向*速度*Time.deltaTime(按秒移动而不是按帧移动),Space.World(按世界坐标轴移动));
素材直接拖入
layout 布局
2 by 3
one column lay out
camera 玩家显示体验
size 8.5 background蓝色 display窗口5:4
素材加工 图集裁剪
texture type要调成sprite2D and UI +apply
图片要调成single
图集 multiple
切割 sprite editor slice automatic /grid by cell/count
小技巧 先用自动模式 拖动方框选定 得出具体数值 再在 grid by cell 中用这个尺寸来切割 关闭 apply
保存场景 建文件夹
主角创建 把图片拖入hierarchy
小技巧 创建cube 把坦克调到与一个tube相似的大小 1平方
sprite renderer精灵渲染器
可以在里面换图片
ctrl+D 复制 换成地图图片 wall
动画
两个文件夹 一个是animator controller, 一个是animator
粗暴法 原地出生四张图片连成动画 点第一张,按shift,在点最后一张,全选了拖到hierarchy 保存
素材直接拖入
layout 布局
2 by 3
one column lay out
camera 玩家显示体验
size 8.5 background蓝色 display窗口5:4
素材加工 图集裁剪
texture type要调成sprite2D and UI +apply
图片要调成single
图集 multiple
切割 sprite editor slice automatic /grid by cell/count
小技巧 先用自动模式 拖动方框选定 得出具体数值 再在 grid by cell 中用这个尺寸来切割 关闭 apply
保存场景 建文件夹
素材直接拖入
layout bu'jv
2 by 3
one column lay out
print(hello)
素材切割,全屏切割与比例切割
右击Project
Cter+C保存场景
bullet是子弹
做不了动画了!
我不能多选啊???
怎么回事???
1.第一个参数可以填自己可以不填 不填默认沿着世界坐标系移动 如果第一个参数填的是沿着自身方向移动 第二个必须填Space.World
1.发生碰撞 双方必须都要有碰撞器 至少一方拥有刚体 最好是运动的一方
坦克大战
AudioClip 音乐组件
移动方向:
第一个参数沿着世界坐标系移动,第二个参数可以不填写,也可以填写space。self;
第一个参数用的游戏某一个方向的话必须使用space.world
触发器代码中的标签名必须与游戏里的标签名一致,否则无法对游戏物体进行处罚交互
1) package 文件拖入到 Asset 面板
2)