指南针校准界面的显示方法及装置的制造方法_3

文档序号:9394966阅读:来源:国知局
半径为1691pixel时,第二半径可以为400pixel,或第二半径为第一半径的二分之一。当然,在第一半径和第二半径已经确定的情况下,为了使整个第二圆形轨迹都可以在操作界面的区域范围内,以使用户可以一直看到校准标志物,中心点应该是整个操作界面的中心点,例如:当设备具有1080x 1920分辨率的屏幕,第一半径为1691pixel,第二半径可以为400pixel时,中心点的坐标值为:(540pixel,960pixel)。
[0123]如图4所示,在一个实施例中,上述步骤S102还可被执行为:
[0124]在步骤A2中,获取所述实时运动位置的实时坐标值,其中,所述实时坐标值包括:所述校准标志物运动至所述实时运动位置时,在所述设备的操作界面所在平面上的横坐标值和纵坐标值;
[0125]在步骤A3中,获取所述中心点的坐标值,其中,所述中心点的坐标值包括:所述中心点在所述平面上的横坐标值和纵坐标值;
[0126]在步骤A4中,根据所述实时坐标值、所述中心点的坐标值和所述校准标志物运动至所述实时运动位置的实时转动角度计算出所述实时运动位置与所述中心点的距离差;
[0127]在步骤A5中,通过控制所述距离差等于所述第二半径以动态确定所述第二圆形轨迹。
[0128]在获取到实时运动位置的实时坐标值、中心点的坐标值和校准标志物转动的实时转动角度后,可以计算出实时运动位置与中心点的距离差,进而控制该距离差等于一个定长即第二半径,就可以得到以中心点为圆心、半径为第二半径的第二圆形轨迹,另外,再通过控制校准标志物进行自转,就可以控制校准标志物按照沿着半径较大的第二圆形轨迹进行自转和公转,并始终显示在操作界面内,以尽可能多地诱导用户转动设备。
[0129]在一个实施例中,设备中的系统可以通过以下第一公式准确地计算出所述距离差,并通过控制该距离差等于所述第二半径,来控制校准标志物按照沿着半径较大的第二圆形轨迹进行自转和公转,进而能够实现诱导用户将设备倾斜较大的角度:
[0130]ball, x = centerX+Math.cos (EndAngle)x radius ;
[0131]ball, y = centerY+Math.sin(EndAngle)x radius ;
[0132]其中,ball, χ表示所述实时坐标值中的横坐标值,ball, y表示所述实时坐标值中的纵坐标值,centerX表示所述中心点的横坐标值,centerY表示所述中心点的纵坐标值,radius表示所述第二半径,EndAngle表示所述实时转动角度。当然,为了控制组件(即校准标志物与第一圆形轨迹)只能在圆心为(centerX,centerY),半径为radius的第二圆形轨迹上移动时,必须控制该组件自转,自转的ball, rotat1n =实时转动角度(EndAngle)X180。/Math.P1- 90° 。
[0133]另外,在设备的后台系统中,实时转动角度EndAngle的获取方式可以通过一个getAngleO的方法来得到组件在移动过程中的角度,该方法为:
[0134]private funct1n getAngleO:Number{
[0135]var dy:Number = currentY-centerY ;
[0136]var dx:Number = currentX-centerX ;
[0137]var angle:Number = Math.atan2(dy, dx);
[0138]return angle ;}
[0139]其中,currentX= ball, x,currentY = ball.yD
[0140]然后可以通过moveBalIAndDrawLine ()方法调用上面的方法得到返回值,再根据圆的定义将该组件的运动限制在一个圆(即第二圆形轨迹)上:private funct1nmoveBalIAndDrawLine O: void{
[0141]EndAngle = getAngleO ;
[0142]ball, x = centerX+Math.cos (EndAngle)x radius ;
[0143]ball, y = centerY+Math.sin(EndAngle)x radius ;};
[0144]其中,moveBalIAndDrawLine ()是位于设备程序中的如下所示的一个帧频事件中的:
[0145]this.addEventListener(Event.ENTER_FRAME, onFrames, false, 0, true);
[0146]在这个帧频函数中执行让校准标志物运动并画线的动作:
[0147]private funct1n onFrames(event:Event):
[0148]void {moveBalIAndDrawLine () ;}
[0149]如图5所示,在一个实施例中,上述步骤A2可被执行为:
[0150]在步骤BI中,获取所述校准标志物在所述实时运动位置时的加速度值,其中,所述加速度值包括所述校准标志物运动至所述实时运动位置时,在所述平面上的X轴加速度值和Y轴加速度值;
[0151]在步骤B2中,根据所述X轴加速度值计算出所述实时坐标值中的横坐标值,以及根据所述Y轴加速度值计算出所述实时坐标值中的纵坐标值。
[0152]由于校准标志物始终在设备的操作界面上运动,且校准标志物的实时运动位置与校准标志物的加速度有密切关系,因此,在获取校准标志物的实时坐标值中的横坐标值和实时坐标值中的纵坐标值时,可以先通过设备中的加速度计获取校准标志物在设备操作界面的所在平面上的X轴加速度值和Y轴加速度值,然后根据设备系统中预先设置的实时坐标值的初始坐标值、该X轴加速度值和Y轴加速度值,就可以准确地确定出校准标志物的实时运动位置的实时坐标值,进而便于设备根据实时坐标值控制校准标志物始终在一个直径较大的第二圆形轨迹上进行公转和自转,且校准标志物可以一直显示在操作界面内。
[0153]在一个实施例中,可以通过以下第二公式不断循环迭代来计算出所述实时坐标值中的横坐标值和所述实时坐标值中的纵坐标值:
[0154]ball, χ- = ax x k ;
[0155]ball, y+ = ay x k ;
[0156]其中,ax表示所述X轴加速度值,ay表示所述Y轴加速度值,
[0157]ball, χ表示所述实时坐标值中的横坐标值,ball, y表示所述实时坐标值中的纵坐标值,k为运动系数,其中,k如果取值过大,校准标志物在指南针校准界面上运动仍然很快,仍然无法很好地诱导用户以较大角度倾斜设备或多次移动设备,进而使得指南针仍然无法得到精确地校准,而如果k值过小,校准标志物在指南针校准界面上运动仍然很慢,校准标志物的运动不明显,用户需要太多次移动或倾斜设备,这使得指南针的校准效率过低,因此,为了确保校准标志物可以在指南针校准界面上具有合适的移动速率,使指南针得到精确而高效地校准,k的优选取值为80。
[0158]另外,可以通过设备中的加速度计得到返回值accelerat1nX,accelerat1nY,并赋给ax,ay以获取ax和ay,具体方法如下:
[0159]private var accelerometer:Accelerometer ;
[0160]accelerometer = new Accelerometer ();
[0161]accelerometer.setRequestedUpdatelnterval(100);
[0162]private funct1n onUpdate (event:AccelerometerEvent): void{
[0163]ax = event.accelerat1nX ;
[0164]ay = event.accelerat1nY ;}
[0165]如图6所示,在一个实施例中,上述方法还包括:
[0166]在步骤S601中,在所述校准标志物沿所述第二圆形轨迹旋转(例如公转)时,获取所述实时转动角度;
[0167]在步骤S602中,根据所述实时转动角度确定所述校准标志物带动所述第一圆形轨迹旋转的角度(其中,当校准标志物沿第二圆形轨迹旋转的方式为公转时,该角度为自转角度);
[0168]在步骤S603中,根据所述带动所述第一圆形轨迹旋转的角度确定所述带动所述第一圆形轨迹旋转的速度(其中,当该角度为自转角度时,该速度为自转速度)。
[0169]由于校准标志物在第一圆形轨迹上公转时,会带动第一圆形轨迹自转,然后才会得到半径较大的第二圆形轨迹,进而使得用户才能看到校准标志物同时沿着第一圆形轨迹中的部分圆形轨迹进行公转和自转的效果,而同时,为了很好地控制校准标志物同时沿着第二圆形轨迹公转和自转,自转角度与公转时的实时转动角度也有一定的关联,例如为:自转角度ball, rotat1n =实时转动角度(EndAngle)χ 180。/Math.P1- 90°,而在确定校准标志物的自转角度时,根据校准标志物自身尺寸的大小,就可以确定校准标志物的自转速度,从而使设备可以很好地控制校准标志物进行自转,进而确保用户可以看到第一圆形轨迹的部分圆弧。
[0170]在一个实施例中,上述方法还包括:
[0171]当所述校准标志物沿所述第二圆形轨迹公转M周时,所述校准标志物带动所述第一圆形轨迹旋转N周(即自转N周),其中,N = a χ M,且a为大于或等于2的正整数。
[0172]为了使设备能够以更加简洁的算法更方便、更容易地控制校准标志物沿着第二圆形轨迹旋转,校准标志物的自转周期数应该等于公转周期数的正整数倍,这样,就使得校准标志物可以同步进行公转和自转,即校准标志物停止公转时,也会停止自转,校准标志物开始公转时,也会开始自转。其中,校准标志物沿着第二圆形轨迹旋转的方式可以为公转和自转。
[0173]在一个实施例中,所述校准标志物包括球体、三角形、椭球体、正方体或长方体。
[0174]校准标志物的形状包括但不限于上述球体、三角形、椭球体、正方体或长方体,所有可以使用户在移动或倾斜设备时,能够使用户从视觉上感受到校准标志物的转动均可,例如:该校准标志物还可以是菱形的,当然,为了便于校准标志物能够很好地沿第二圆形轨迹进行公转和自转,该校准标志物优选球体,另外,为了进一步诱导用户在校准指南针时可以不断移动或倾斜设备,校准标志物还可以是有颜色的,如红色、黄色等。
[0175]对应本公开实施例提供的上述指南针校准界面的显示方法,本公开实施例还提供一种指南针校准界面的显示装置,如图7所示,该装置包括:
[0176]第一控制模块701,被配置为当指南针校准界面所在的设备转动时,控制所述指南针校准界面上显示的校准标志物沿第一圆形轨迹进行旋转;
[01
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1