Android Open Source - nahwc-g Controller






From Project

Back to project page nahwc-g.

License

The source code is released under:

Apache License

If you think the Android project nahwc-g listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 *   Copyright 2013 oddlydrawn//from w  ww .  j a v a2 s  . com
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 */

package com.tumblr.oddlydrawn.stupidworm;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.Input.Keys;

/** @author oddlydrawn */
public class Controller {
  final private int STRAIGHT = 1; // 1
  final private int RIGHT = 2; // 2
  final private int LEFT = 3; // 3
  Worm worm;
  int dir = STRAIGHT;
  int inputX;
  int screenWidthPx;
  boolean letGo;

  public Controller (Worm worm) {
    this.worm = worm;
    screenWidthPx = Gdx.graphics.getWidth();
    letGo = true;
  }

  public void update () {
    if (dir == LEFT) worm.turnLeft();
    if (dir == RIGHT) worm.turnRight();
    dir = STRAIGHT;
  }

  public void processInput () {
    inputX = Gdx.input.getX();

    if (pressedRight()) {
      if (letGo) dir = RIGHT;
      letGo = false;
    } else if (pressedLeft()) {
      if (letGo) dir = LEFT;
      letGo = false;
    } else {
      letGo = true;
    }
  }

  public boolean pressedRight () {
    // If right half of the screen is touched or right key, same for left.
    if (Gdx.input.isKeyPressed(Keys.RIGHT)) return true;
    if (Gdx.input.isTouched() && inputX > screenWidthPx / 2) return true;
    return false;
  }

  public boolean pressedLeft () {
    if (Gdx.input.isKeyPressed(Keys.LEFT)) return true;
    if (Gdx.input.isTouched() && inputX <= screenWidthPx / 2) return true;
    return false;
  }
}




Java Source Code List

com.tumblr.oddlydrawn.nahwc.IOSLauncher.java
com.tumblr.oddlydrawn.nahwc.client.GwtLauncher.java
com.tumblr.oddlydrawn.nahwc.client.HtmlLauncher.java
com.tumblr.oddlydrawn.nahwc.desktop.DesktopLauncher.java
com.tumblr.oddlydrawn.stupidworm.AndroidLauncher.java
com.tumblr.oddlydrawn.stupidworm.Assets.java
com.tumblr.oddlydrawn.stupidworm.CheckCollision.java
com.tumblr.oddlydrawn.stupidworm.Controller.java
com.tumblr.oddlydrawn.stupidworm.Food.java
com.tumblr.oddlydrawn.stupidworm.Level.java
com.tumblr.oddlydrawn.stupidworm.MainMenuInterface.java
com.tumblr.oddlydrawn.stupidworm.MyGdxGame.java
com.tumblr.oddlydrawn.stupidworm.MyMusic.java
com.tumblr.oddlydrawn.stupidworm.NahwcGame.java
com.tumblr.oddlydrawn.stupidworm.Renderer.java
com.tumblr.oddlydrawn.stupidworm.SavedStuff.java
com.tumblr.oddlydrawn.stupidworm.Vector2Marked.java
com.tumblr.oddlydrawn.stupidworm.Worm.java
com.tumblr.oddlydrawn.stupidworm.screens.GameScreen.java
com.tumblr.oddlydrawn.stupidworm.screens.LicenseScreen.java
com.tumblr.oddlydrawn.stupidworm.screens.LoadingScreen.java
com.tumblr.oddlydrawn.stupidworm.screens.MainMenuScreen.java