Android Open Source - killingspree My Button






From Project

Back to project page killingspree.

License

The source code is released under:

MIT License

If you think the Android project killingspree 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

package com.sillygames.killingSpree.helpers;
//  w ww .  ja v a 2s. c o m
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.BitmapFont.TextBounds;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.math.MathUtils;
import com.badlogic.gdx.math.Vector2;
import com.sillygames.killingSpree.controls.InputController;

public class MyButton {
    public MyButton north;
    public MyButton south;
    public MyButton east;
    public MyButton west;
    private String text;
    private boolean active = true;
    private float x;
    private float y;
    private float slackTime;

    
    public MyButton(String text, float x, float y){
        this.text = text;
        this.x = x;
        this.y = y;
        active = false;
        slackTime = 0;
    }
    
    public void setActive(boolean active){
        slackTime = 0;
        this.active = active;
    }
    
    public void render(SpriteBatch batch, BitmapFont font, float delta){
        if (active) {
            font.setColor(1, 1, 1, 1);
            font.draw(batch, text, x + MathUtils.random(0, 1), y + MathUtils.random(0, 1));
        } else {
            font.setColor(0.5f, 0.5f, 0.5f, 1);
            font.draw(batch, text, x, y);
        }
        slackTime += delta;
    }

    public void setNorth(MyButton north) {
        this.north = north;
        north.south = this;
    }
    
    public void setSouth(MyButton south) {
        this.south = south;
        south.north = this;
    }
    
    public void setEast(MyButton east) {
        this.east = east;
        east.west = this;
    }
    
    public void setWest(MyButton west) {
        this.west = west;
        west.east = this;
    }

    public MyButton process() {
        MyButton pressedButton = null;
        if (slackTime > 0.2f) {
            if (InputController.instance.axisDown()) {
                pressedButton = south;
            } else if (InputController.instance.axisUp()) {
                pressedButton = north;
            } else if (InputController.instance.axisLeft()) {
                pressedButton = east;
            } else if (InputController.instance.axisRight()) {
                pressedButton = west;
            }
            if (pressedButton != null) {
                active = false;
                pressedButton.setActive(true);
                return pressedButton;
            }
        }
        return this;
    }

    public boolean isPressed(Vector2 touchVector, BitmapFont font) {
        TextBounds bounds = font.getBounds(text);
        if(touchVector.x > x && touchVector.x < x + bounds.width &&
                touchVector.y < y && touchVector.y > y - bounds.height) {
            return true;
        }
        return false;
    }

    public String getText() {
        return text;
    }
    
    public void setPosition(float x, float y) {
        this.x = x;
        this.y = y;
    }
}




Java Source Code List

com.sillygames.killingSpree.AndroidLauncher.java
com.sillygames.killingSpree.KillingSpree.java
com.sillygames.killingSpree.PlatformServices.java
com.sillygames.killingSpree.categories.EnemyCategory.java
com.sillygames.killingSpree.categories.ExplodingWeaponCategory.java
com.sillygames.killingSpree.categories.LivingCategory.java
com.sillygames.killingSpree.categories.NonExplodingWeaponCategory.java
com.sillygames.killingSpree.clientEntities.ClientArrow.java
com.sillygames.killingSpree.clientEntities.ClientBlob.java
com.sillygames.killingSpree.clientEntities.ClientBomb.java
com.sillygames.killingSpree.clientEntities.ClientBullet.java
com.sillygames.killingSpree.clientEntities.ClientEntity.java
com.sillygames.killingSpree.clientEntities.ClientFly.java
com.sillygames.killingSpree.clientEntities.ClientFrog.java
com.sillygames.killingSpree.clientEntities.ClientPlayer.java
com.sillygames.killingSpree.clientEntities.ClientTestPlayer.java
com.sillygames.killingSpree.controls.InputController.java
com.sillygames.killingSpree.controls.onScreenControls.java
com.sillygames.killingSpree.desktop.DesktopLauncher.java
com.sillygames.killingSpree.desktop.DesktopServices.java
com.sillygames.killingSpree.helpers.EntityUtils.java
com.sillygames.killingSpree.helpers.Event.java
com.sillygames.killingSpree.helpers.MyButton.java
com.sillygames.killingSpree.helpers.MyConnection.java
com.sillygames.killingSpree.helpers.Utils.java
com.sillygames.killingSpree.managers.LevelLoader.java
com.sillygames.killingSpree.managers.WorldBodyUtils.java
com.sillygames.killingSpree.managers.WorldManager.java
com.sillygames.killingSpree.managers.WorldRenderer.java
com.sillygames.killingSpree.managers.physics.Body.java
com.sillygames.killingSpree.managers.physics.CollisionProcessor.java
com.sillygames.killingSpree.managers.physics.Ray.java
com.sillygames.killingSpree.managers.physics.WorldDebugRenderer.java
com.sillygames.killingSpree.managers.physics.World.java
com.sillygames.killingSpree.networking.ControlsSender.java
com.sillygames.killingSpree.networking.NetworkRegisterer.java
com.sillygames.killingSpree.networking.StateProcessor.java
com.sillygames.killingSpree.networking.messages.AudioMessage.java
com.sillygames.killingSpree.networking.messages.ClientDetailsMessage.java
com.sillygames.killingSpree.networking.messages.ConnectMessage.java
com.sillygames.killingSpree.networking.messages.ControlsMessage.java
com.sillygames.killingSpree.networking.messages.EntityState.java
com.sillygames.killingSpree.networking.messages.GameStateMessage.java
com.sillygames.killingSpree.networking.messages.PlayerNamesMessage.java
com.sillygames.killingSpree.networking.messages.ServerStatusMessage.java
com.sillygames.killingSpree.pool.AssetLoader.java
com.sillygames.killingSpree.pool.EntityPool.java
com.sillygames.killingSpree.pool.MessageObjectPool.java
com.sillygames.killingSpree.pool.Pool.java
com.sillygames.killingSpree.pool.Poolable.java
com.sillygames.killingSpree.renderers.HUDRenderer.java
com.sillygames.killingSpree.screens.AbstractScreen.java
com.sillygames.killingSpree.screens.ClientDiscoveryScreen.java
com.sillygames.killingSpree.screens.GameScreen.java
com.sillygames.killingSpree.screens.LobbyScreen.java
com.sillygames.killingSpree.screens.MainMenuScreen.java
com.sillygames.killingSpree.screens.OptionsScreen.java
com.sillygames.killingSpree.screens.SplashScreen.java
com.sillygames.killingSpree.screens.settings.Constants.java
com.sillygames.killingSpree.serverEntities.ServerArrow.java
com.sillygames.killingSpree.serverEntities.ServerBlob.java
com.sillygames.killingSpree.serverEntities.ServerBomb.java
com.sillygames.killingSpree.serverEntities.ServerBullet.java
com.sillygames.killingSpree.serverEntities.ServerEntity.java
com.sillygames.killingSpree.serverEntities.ServerFly.java
com.sillygames.killingSpree.serverEntities.ServerFrog.java
com.sillygames.killingSpree.serverEntities.ServerPlayer.java
com.sillygames.killingSpree.sound.SFXPlayer.java