本文整理汇总了Python中statemachine.StateMachine.onClampedAxisChanged方法的典型用法代码示例。如果您正苦于以下问题:Python StateMachine.onClampedAxisChanged方法的具体用法?Python StateMachine.onClampedAxisChanged怎么用?Python StateMachine.onClampedAxisChanged使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类statemachine.StateMachine
的用法示例。
在下文中一共展示了StateMachine.onClampedAxisChanged方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from statemachine import StateMachine [as 别名]
# 或者: from statemachine.StateMachine import onClampedAxisChanged [as 别名]
#.........这里部分代码省略.........
previousControllerState['dButton'] = dButton
def run(self):
clock = pygame.time.Clock()
while True:
dt = clock.tick(self.framerate) / 1000.0
#dt = time.time() - self.lastFrame
self.update(dt)
self.draw(self.rgb)
self.rgb.send()
self.lastFrame = time.time()
def update(self, dt):
self.poll(dt)
self.stateMachine.update(dt)
def draw(self, rgb):
rgb.clear(BLACK)
self.stateMachine.draw(rgb)
def onAxisChanged(self, player, xAxis, yAxis, previousXAxis, previousYAxis):
#todo rotation
if (self._notIsZero(xAxis) and self._isZero(previousXAxis)) or \
(self._notIsZero(yAxis) and self._isZero(previousYAxis)):
x = 1 if xAxis > 0.1 else 0
x = -1 if xAxis < -0.1 else x
y = 1 if yAxis > 0.1 else 0
y = -1 if yAxis < -0.1 else y
if x != 0 or y != 0:
self.onClampedAxisChanged(player, x, y)
self.stateMachine.onAxisChanged(player, xAxis, yAxis, previousXAxis, previousYAxis)
def onButtonChanged(self, player, aButton, bButton, previousAButton, previousBButton):
self.stateMachine.onButtonChanged(player, aButton, bButton, previousAButton, previousBButton)
def onClampedAxisChanged(self, player, x, y):
self.stateMachine.onClampedAxisChanged(player, x, y)
def playSound(self, name):
res = self.resources[name]
if isinstance(res, Sound):
self.resources[name].play()
else:
print "tried to play non-sound resource"
def stopSound(self, name):
res = self.resources[name]
if isinstance(res, Sound):
self.resources[name].stop()
else:
print "tried to stop non-sound resource"
def fadeoutSound(self, name, time):
res = self.resources[name]
if isinstance(res, Sound):
self.resources[name].fadeout(time)
else:
print "tried to fadeout non-sound resource"
def setState(self, name):
self.stateMachine.setState(name)
def onStartMenuTriggered(self, player):
sys.exit(0)
def _isZero(self, d):
return abs(d) < 0.1
def _notIsZero(self, d):
return abs(d) > 0.1
def _mapAxisToOrientation(self, player, xAxis, yAxis):
orientation = self.controllerOrientations[player]
if orientation == Orientation.North:
xAxis = -xAxis
yAxis = -yAxis
elif orientation == Orientation.West:
xTmp = xAxis
xAxis = -yAxis
yAxis = xTmp
elif orientation == Orientation.East:
xTmp = xAxis
xAxis = yAxis
yAxis = -xTmp
return xAxis, yAxis
def _onChangeOrientation(self, player):
self.controllerOrientations[player] = (self.controllerOrientations[player] + 1) % Orientation.Count