//----------------------------------------------------------------------------------------------
// motion test
//----------------------------------------------------------------------------------------------
print "versionXBiOSMotion$=";versionXBiOSMotion$()
setFunctionKey(0,"end" ,'!')
setFunctionKey(1,"pause" ,'p')
setFunctionKey(2,"start" ,'s')
setFunctionKey(3,"clear" ,'c')
setFunctionKey(4,"degree",'d')
setFunctionKey(5,"veloc" ,'v')
setFunctionKey(6,"rotate",'r')
displayFunctionKey(YES,0,6)
kBackgroundAlpha(0.9)
int mode=MOTION_DEGREE
if motionStart(10,mode) then {
print localizedString("モーションは使えません","Can't use motion.")
end
}
printMode(mode)
float x,y,z
int ky,cnt,i
while YES
if not kbhit() then {
i=0
cnt=motionCount()
if cnt>0 then locate(0,1):print "cnt=";cnt
while cnt>0
x=motionGetRotation(y,z)
locate(0,2+i)
if mode=MOTION_ROTATION then {
if isLocalizeJapan() then {
print using "左右=+#.####,上下=+#.####,方位=+#.####";x,y,z
} else {
print using "pitch=+#.####,roll=+#.####,yaw=+#.####";x,y,z
}
} else {
if mode=MOTION_DEGREE then {
if isLocalizeJapan() then {
print using "角度:x=+##.####,y=+##.####,z=+##.####";x,y,z
} else {
print using "degree:x=+##.####,y=+##.####,z=+##.####";x,y,z
}
} else {
if isLocalizeJapan() then {
print using "角速度:x=+##.####,y=+##.####,z=+##.####";x,y,z
} else {
print using "velocity:x=+##.####,y=+##.####,z=+##.####";x,y,z
}
}
}
cnt=cnt-1
i=i+1
if kbhit() then break
endwhile
} else {
ky=inkey()
switch ky
case 'p'
motionPause(YES)
print "Pause"
break
case 's'
motionPause(NO)
print "Start"
break
case 'c'
cls()
motionClear()
break
case 'd'
mode=MOTION_DEGREE
motionSelectData(mode)
cls()
motionClear()
printMode(mode)
break
case 'v'
mode=MOTION_VELOCITY
motionSelectData(mode)
cls()
motionClear()
printMode(mode)
break
case 'r'
mode=MOTION_ROTATION
motionSelectData(mode)
cls()
motionClear()
printMode(mode)
break
default:
// 念のため / just in case
beep()
break
endswitch
if ky='!' then break
}
endwhile
motionEnd()
end
//----------------------------------------------------------------------------------------------
func printMode(mode;int)
locate(0,2)
if mode=MOTION_DEGREE then print localizedString("角度 ","DEGREE ")
if mode=MOTION_VELOCITY then print localizedString("角速度 ","VEROCITY")
if mode=MOTION_ROTATION then print localizedString("オイラー角","EULER ")
endfunc
func str localizedString(js;str,es;str)
if isLocalizeJapan() then return(js)
return (es)
endfunc
//----------------------------------------------------------------------------------------------
Zipファイル :XBtests.zip
0 件のコメント:
コメントを投稿