下面给大家介绍的这个手游摇杆系列,是当前手游开发中常用到的设计。摇杆作为ARPG游戏中的标配,目前摇杆主要有两种方式: 1. 固定式 2. 跟随式
一、摇杆显示
假设 外环旧的位置:posBig 外环新位置:posBigNew 外环半径:R 外环圆心:O 内环旧的位置:posSmall 外环圆心:o 内环新的位置:posSmallNew 触摸位置:p
1 固定式
内环在外环范围内移动; 外环位置固定,不能移动;
更新策略: 判断触摸位置p是否在外环内,是则直接内环设置内环到p点,如果不是,则:
op = Vec2(O.x - posSmall.x, O.y - posSmall.y); // 计算新旧位置之间的向量
op.normallize();// 归一化
posSmallNew = posSmall + op * R
2 跟随式
内环始终跟着p点移动; 外环当触摸点P在外环范围内时,大环不移动;否则,外环会跟随内环移动;
更新策略: 如果触摸点超出之后,外环位置计算规则为
判断触摸位置p是否在外环内,是则直接内环设置内环到p点,如果不是,则:
op = Vec2(p.x - posSmall.x, p.y - posSmall.y); // 计算新旧位置之间的向量
op.normallize();// 归一化
posBigNew = posSmall - op * R
二