摇杆控制角色, 遇到障碍物横向移动, 如何实现?

熊猫和房子都是碰撞体. 房子为障碍物.
摇杆控制熊猫移动, 当与房子发生碰撞时, 熊猫根据摇杆的方向, 横向移动,以避开房子.

请问: 该如何实现呢? 障碍物(碰撞体)是不规则多边形的. // 注: 不用TMAP

可以 再尝试描述的易懂一些么

发生碰撞以后,只把碰撞方向的位移设置为0就行,不要两个都设置为0

碰撞检测,可以检测X和Y的方向吗?
比如是X方向碰撞了,还是Y方向碰撞了?

如果熊猫和房子都是不规则的话,建议用物理引擎来做了,如果只是粗略模拟,可以都用矩形碰撞盒+sprite的形式,显示和碰撞分离

thanks