PistonDevelopers / Piston-Tutorials

Tutorials for Piston
544 stars 89 forks source link

There is something goes wrong with if let Some(pos) = e.mouse_cursor_args() #212

Open ZacRenis opened 5 years ago

ZacRenis commented 5 years ago
/// Handles events.
  pub fn event<E: GenericEvent>(&mut self, pos: [f64; 2], size: f64, e: &E) {
      use piston::input::{Button, MouseButton};

      if let Some(pos) = e.mouse_cursor_args() {
______________________________________________________________________________________________________________
          ///////// Did not run here,  SOMEBODY can help me? thank you.///////!!!!!!!!!!!
------------------------------------------------------------------------------------------------------------------
          self.cursor_pos = pos;
      }

      if let Some(Button::Mouse(MouseButton::Left)) = e.press_args() {
          // Find coordinates relative to upper left corner.
          let x = self.cursor_pos[0] - pos[0];
          let y = self.cursor_pos[1] - pos[1];
          // Check that coordinates are inside board boundaries.
          if x >= 0.0 && x < size && y >= 0.0 && y < size {
              // Compute the cell position.
              let cell_x = (x / size * 9.0) as usize;
              let cell_y = (y / size * 9.0) as usize;
              self.selected_cell = Some([cell_x, cell_y]);
          }
      }
  }