def change_y_by(self, step_y): if not isinstance(step_y, int): raise TypeError("step_y must be int, not {}" .format(type(step_y).__name__)) send_request(message.SpriteOp( name=self.name, op="move_by", args=(0, get_scene()._coordsys.dir_y * step_y)))
def set_y_to(self, y): if not isinstance(y, int): raise TypeError("y must be int, not {}" .format(type(y).__name__)) send_request(message.SpriteOp( name=self.name, op="go_to", args=(None, get_scene()._coordsys.ordinate_from(y))))
def set_x_to(self, x): if not isinstance(x, int): raise TypeError("x must be int, not {}" .format(type(x).__name__)) send_request(message.SpriteOp( name=self.name, op="go_to", args=(get_scene()._coordsys.abscissa_from(x), None)))
def go_to(self, x, y): """Change sprite position to _x_ and _y_.""" if not isinstance(x, int): raise TypeError("x must be int, not {}" .format(type(x).__name__)) if not isinstance(y, int): raise TypeError("y must be int, not {}" .format(type(y).__name__)) send_request(message.SpriteOp( name=self.name, op="go_to", args=get_scene()._coordsys.point_from(x, y)))
def move_by(self, step_x, step_y): """Change sprite position by _step_x_ and _step_y_.""" if not isinstance(step_x, int): raise TypeError("step_x must be int, not {}" .format(type(step_x).__name__)) if not isinstance(step_y, int): raise TypeError("step_y must be int, not {}" .format(type(step_y).__name__)) send_request(message.SpriteOp( name=self.name, op="move_by", args=(get_scene()._coordsys.dir_x * step_x, get_scene()._coordsys.dir_y * step_y)))
def hide(self): """Hide the current sprite.""" send_request(message.SpriteOp(name=self.name, op="hide"))
def show(self): """Show the current sprite.""" send_request(message.SpriteOp(name=self.name, op="show"))
def turn_counter_clockwise(self, angle): self._scene.anglesys.check_angle(angle) send_request(message.SpriteOp( name=self.name, op="turn_counter_clockwise", args=(angle,)))
def _get_state(self): return send_request(message.SpriteOp(name=self.name, op="get_state"))
def point_in_direction(self, angle): self._scene.anglesys.check_angle(angle) send_request(message.SpriteOp( name=self.name, op="point_in_direction", args=(self._scene.anglesys.to_degree(angle),)))
def turn_counter_clockwise(self, angle): send_request(message.SpriteOp( name=self.name, op="turn_counter_clockwise", args=(angle,)))
def move(self, step): send_request(message.SpriteOp( name=self.name, op="move", args=(step,)))