a. if(h>0){
v = 0;
}
控制只能在某个方向运动。
targetPos += new Vector2 (h, v);
b.刚体控制移动.
c.Input.GetAxisRaw 当在游戏运行的时候,按下你设置好的键盘就会返回 1和-1这两个值
Input.GetAxis 当按下你设置的建则会返回一个类似加速度的值 0.1-->0.3 -->0.1然后将会依次减少..类似刹车和开车.
d. rigibody.MovePosition (Vector2.Lerp (transform.position, targetPos, smoothing * Time.deltaTime));
f. restTimer += Time.deltaTime;
if (restTimer < restTime)
return;
运行完毕restTimer = 0;
间隔休息时间格式
g Physics2D.Linecast();碰撞检测可能会遇到自身。所以要排除。
h. collider.enabled=false;
RaycastHit2D hit= Physics2D.Linecast(targetPos,targetPos+new Vector2(h,v));
collider.enabled=true;
if(hit.transform==null){
targetPos += new Vector2 (h, v);
restTimer = 0;
}
else{
switch(hit.collider.tag){
case "outwall":
break;
case "wall":
break;
}
先禁止 后开启,通过hit.tranform判断是否有碰撞物,注意hit.collider.tag.