我不确定它是否仅仅是我的kivy版本,但是当我触摸屏幕时,触摸会在正确的x点上注册,但y点会降低约22像素,使屏幕按钮的顶部难以按下或不稳定。如果设备是wm_touch并且self.touch_trans是,我试着用touch.apply_transform_2d(self.touch_trans)
来改变触摸效果
def touch_trans(self):
return (x, y + 22)
注册差异,但它注册on_touch_move,因为我的转换触摸和原始发布之间的差异,我想我可能需要在触摸发送给父母之前抓住触摸,但我可能会错过首先是改变触摸的正确方法,或者我的kivy版本搞砸了。
这是完整的
def on_touch_down(self, touch, *args):
print touch.x
print touch.y
touch.push()
if touch.device == 'wm_touch':
print touch.device
touch.apply_transform_2d(self.touch_trans)
ret = super(MAINLEAF, self).on_touch_down(touch)
touch.pop()
return ret
else:
print touch.device
print 'mouse or other'
ret = super(MAINLEAF, self).on_touch_down(touch)
touch.pop()
return ret
def touch_trans(self, x, y):
return (x,y + 22)