将一段比较长的代码封装进一个方法,这样需要时调用方法即可
timer-=Time.deltaTime;
if (timer <= 0)
{
direction = -direction;
timer = changeTime;
}
PlayMoveAnimation();//注意要放在if语句外面,不然动画切换会出问题
将一段比较长的代码封装进一个方法,这样需要时调用方法即可
timer-=Time.deltaTime;
if (timer <= 0)
{
direction = -direction;
timer = changeTime;
}
PlayMoveAnimation();//注意要放在if语句外面,不然动画切换会出问题
层级Layer和透明度transparency是不同的东西,
层级越小越先渲染,transparency Sort Axis:Y轴为1,y值大的先渲染
物体是子对象时,以父对象为原点创建坐标系
区域框选 三种分配
缩放伤害区域,
1.找到精灵资源,渲染模式修改为Full Rect,点击应用.
2.点击精灵,将Draw Mode改成Tiled。
Tile Mode改成Adiptive
3.按住shift就可以缩放了。
4.修改碰撞器大小,选中Auto Tiling,碰撞器会跟着物体缩放
触发器、
1.定义系统自带的触发函数,只要触碰到物体,就会调用此函数
创建地形碰撞器并合并
1.在temp上添加composite Collider 2D组件,
碰撞组件选择Use By Composite
瓦片地图刚体组件设为静态
设置图集轴心点。
1.找到精灵图集,pivot设置成custom.
点击精灵编辑器,pivot设置为0.5.0
最左边坐标为0.最右边为1.
自定义轴向控制精灵渲染
1.点击Edit,选择工程设置,点击Graphics,y设为1,谁的y轴大就渲染谁
设为-1,则相反
切换对调色板操作:点击Edit
切割精灵图集
1.先把精灵设置成图集
2.点击Sprite Editor,打击精灵编辑窗口
3.点击Slice选项,在Type里面选择Gird By Cell Size。切割完成后点击应用
4.把图集 做成.Tile,直接把图集拖到调色板窗口,选择保存目录即可。
地图的绘制
1.创建一个Tilemap
2.在资源管理中创建一个Tile文件夹,在里面创建Tile。将图片拖到Tile上,Tile就创建好了
3.打开绘图窗口,就可以绘制地图了。
关于unity没有新建tile的选项菜单的解决办法有两个
其一:
【琐琐碎碎小知识】 关于部分Unity编辑器在创建瓦片地图时缺乏Tiles选项-阿里云开发者社区 (aliyun.com)
其二:
不手动创建tile资源,而是先创建玩调色板后直接将需要转成tile资源的精灵拖拽进调色板的网格上,此时unity会自动生成一个tile资源
实例化调用的物体,Star方法不调用,可使用Awake方法(会在Star方法前调用,并且在游戏物体实例化后立刻调用)
实例化方法Instantiate
首先需要一个obeject Prefab放入脚本
GameObject object= Instantiate(object,position(使用rigidbody/transform都可以),Quanternion(四元数旋转).identity(默认0角度))
获取脚本组件
组件类型 新组件名=实例化object.GetComponent<组件类型>();
调用新组件方法
新组件名.方法名();
判断敌人与Ruby碰撞时,用OnCollisionStay比OnCollisionEnter更好,如果与敌人一直贴在一起会有无敌时间过了也不会掉血的BUG。
scripts
RubyController
void
New starting from 2.7.1: Are you looking for the Cinemachine menu? It has moved to the GameObject menu.