我目前正在组建一个基本的世界观众计划。在每个视点,我有4张图片,每张图片彼此成90度。我为每个视点创建了一个照片数组,还有一个String currentPoint,它将保存视点的名称。我认为有一种方法可以取出当前数组的名称并调用它的内容,所以我只需要为左转右转功能编写一组代码,但是我想不出它会是什么。怎么做?
答案 0 :(得分:0)
假设您的数组array
按照[朝北,朝东,朝南,朝西]的顺序排列,并且您有一个索引i
,表示索引为当前视图(北为0,东为1,南为2,西为3)。然后到"左转"是减去i
模4和'#34;右转"是增加i
模4。
采用这种方法,向右转是直截了当的:i = (i + 1) % 4
。
向左转是一个小问题,因为%
实际上被定义为Java中的余数运算符,而不是模数运算符,因此i = (i - 1) % 4
将不起作用(它将离开{{1}它应该是i == -1
)。相反,您可以写:i == 3
。
(考虑到这一点,我们可以定义一整套绝对方向常数 - i = (i + 3) % 4
为0,NORTH
为1,EAST
为2,SOUTH
为3 - 和相对方向常数 - WEST
为0,FRONT
为1,RIGHT
为2,BACK
为3.然后,例如,LEFT
和WEST == (NORTH + LEFT) % 4
。)