comp380team3 / PuzzlePathDimension

Class project for COMP 380 at California State University, Northridge
0 stars 0 forks source link

Toolbox flickering when both mouse buttons are held #110

Open Jjp137 opened 11 years ago

Jjp137 commented 11 years ago

During editor mode, the toolbox goes in and out of view rapidly when both the left and right mouse buttons are held at the same time, and it continues for as long as both buttons are held down.

This occurs under any one of these conditions:

Twisol commented 11 years ago

That explains why I couldn't reproduce it on my Mac!

Twisol commented 11 years ago

I still can't reproduce this. :(

Jjp137 commented 11 years ago

Try temporarily binding what the mouse buttons do to keyboard keys, and see if you can reproduce it. I also clarified the first condition slightly.

Jjp137 commented 11 years ago

I think I found the problem:

First, in GameEditorScreen.cs, line 115:

      if (Controller.IsButtonPressed(VirtualButtons.Mode)) {
        launchToolbox = true;
      }
      // Code to add a ToolboxScreen follows

...and then, in ToolboxScreen.cs, line 157:

      if (Controller.IsButtonPressed(VirtualButtons.Select)) {
          // Code that assigns the platform that the pointer is over with as the selected platform goes here (first condition)
          // The ExitScreen() call, in this case, is actually in GameEditorScreen.cs, line 95
      }

...or in the same file, line 185:

      if (_cantAdd && Controller.IsButtonPressed(VirtualButtons.Select)) {
        ExitScreen(); // Exits when the platform limit is reached (second condition)
      }

Thus, if the left mouse button (Select) and the right mouse button (Mode) are both held down at the same time while in the Toolbox, since Select is held down, the toolbox exits, but since Mode is held down, the editor launches the toolbox again, and this goes on for as long as you hold both buttons down.

However, there's quite a bit of code in the HandleInput() methods for both screens that I don't feel comfortable messing around with it :\ especially since the demo is tomorrow...