属性不会暴露在面板中
属性不会暴露在面板中
两者之一是触发器,运动方是刚体,两者都有box collider 2D组件
private void OntriggerEnter2D(Collider2D collision)
{
Debug.Log("与我们发生碰撞的对象是:" + collision);
}
此方法与start,update一样,会自动调用,只要发生触发检测
顺序赋值:start方法最后发生,变量声明时最先发生,inspector中间顺序发生
触发器:碰到自己消失
currentHealth = Mathf.Clamp(currentHealth + amount, 0, maxHealth);
//把血量限制在一定范围内。
//protected(受保护的)--派生类或子类中使用
void Update()//c#中未写访问修饰级别默认为private
private void ChangeHealth(int amount)//改变生命值,增加或减少 //void为返回值类型,此处为无返回值。//方法加(),内部放参数
public int maxHealth = 5;//最大生命值
private int currentHealth;//Ruby的当前生命值(可变)
currentHealth = maxHealth;
private void ChangeHealth(int amount)//改变生命值,增加或减少
{
currentHealth = Mathf.Clamp(currentHealth + amount, 0, maxHealth);
Debug.Log(currentHealth + "/" + maxHealth);
}
没找到照片collider type,没学会
float vertical = Input.GetAxis("Vertical");//静态方法:类名.方法名---没有实例,不知道是谁的方法,但可以全局访问--即任意脚本都可应用;普通(成员变量)方法:对象名.方法名(实参)
rigidbody2d.MovePosition(position);//调用并传递参数,rigidbody2d是可找到的实例----普通方法(有实例,可调用)
使用刚体移动(物理系统)----不会抖动
物理系统(刚体组件)控制位移方法与我们编写的代码方法产生冲突
private Rigidbody2D rigidbody2d;//rigidbody2d为定义名字不能与Rigidbody2D(类型)一致
C#区分大小写
rigidbody2d = GetComponent<Rigidbody2D>();//GetComponent为获取组件方法(得有才能获取。Rigidbody2D为组件
composite collider 2D
tilemap collider 2D
auto tiling 碰撞器自适应放大缩小
composite 组件 可以融合tilemap collider 2d的碰撞器
运动的一方挂刚体组件和碰撞器组件,静止的物体挂碰撞器组件
sprite sort point 调整中心点
2d渲染先后顺序可以在project setting里graphic sort mode里设置 custom axis 调整Y值,上下渲染,y>0先渲染
void-函数类型
box collider-edit
rigidbody(刚体):最好是会运动的那一方
碰撞体:静态物体
horizontal是从-1到1
创建Tilemap来处理场景布局,把场景当成画布,tiles为画笔,涂就完事了。
一、创建Tilemap
在Hierarchy窗口右键,弹出菜单依次选择 2D Object --> Tilemap 。会创建出来两个东西,Grid,Tilemap.