Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (476)
Games in Android Showcase (106)
games submitted by our members
Games in WIP (533)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  [Slick2d] [input] Keys and mouse firing too fast  (Read 1585 times)
0 Members and 1 Guest are viewing this topic.
Offline mana

Senior Newbie





« Posted 2012-06-13 03:35:10 »

Hey I'm having an issue were, when clicking on a button or when clicking a key, the key or mouse click fires like 10 responses (restricting my game to 30fps reduces the number to that, without the fps reduction its closer to 100) I'm just wondering how I can maintain that when I click or hit a button, it with only receive one response?

heres some of my input code:
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
// Play button
if( ( mouseX >= 0 && mouseX <= play_button.getWidth()) && ( mouseY >= 90 && mouseY <= 90 + play_button.getHeight()) ){
   insidePlay = true;
}

if(insidePlay){
   if(playScale < 1.015f)
      playScale += scaleStep * delta;
             
   if ( input.isMouseButtonDown(Input.MOUSE_LEFT_BUTTON) ){
           if(!isLogin) {
                 tryLogin = true;
              } else {
                 sb.enterState(CodaClient.GAMEPLAYSTATE);
              }
         }
 }else{
        if(playScale > 1.0f)
            playScale -= scaleStep * delta;
 }


EDIT: Sorry if there's another thread with a similar question, I searched threw a few pages but wasn't sure what this exact issue is called, so I didnt find much that helped.
Offline davedes
« Reply #1 - Posted 2012-06-13 04:11:52 »

In slick there are a few ways to handle input.

isMouseButtonDown / isKeyDown - This will return true if the button/key is down during that frame. This is useful for things like sprite movement, which you will want to poll every frame.

overriding keyPressed / mouseButtonPressed / etc. in BasicGame - This is more useful for the event-based input you'll need in GUI. i.e. You just want to receive a single key stroke, or a single mouse click.

isMousePressed / isKeyPressed - This will return true if the button/key has been pressed since the last time you called this method. It's included for convenience, so you can get the same functionality as keyPressed/mouseButtonPressed from the update() method.

To fix your problem, use one of the latter two techniques.

Offline H3rnst

Senior Newbie


Medals: 1



« Reply #2 - Posted 2012-06-13 04:14:45 »

isMousePressed(int button) will give you one response per click

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline mana

Senior Newbie





« Reply #3 - Posted 2012-06-13 04:30:23 »

That worked, thank you very much
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

pw (18 views)
2014-07-24 01:59:36

Riven (17 views)
2014-07-23 21:16:32

Riven (14 views)
2014-07-23 21:07:15

Riven (17 views)
2014-07-23 20:56:16

ctomni231 (45 views)
2014-07-18 06:55:21

Zero Volt (40 views)
2014-07-17 23:47:54

danieldean (32 views)
2014-07-17 23:41:23

MustardPeter (36 views)
2014-07-16 23:30:00

Cero (51 views)
2014-07-16 00:42:17

Riven (50 views)
2014-07-14 18:02:53
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!