Android Open Source - clash_of_balls Popup Game Start






From Project

Back to project page clash_of_balls.

License

The source code is released under:

GNU General Public License

If you think the Android project clash_of_balls 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 (C) 2012-2013 Hans Hardmeier <hanshardmeier@gmail.com>
 * Copyright (C) 2012-2013 Andrin Jenal/* w  w  w  . j  ava 2s. c om*/
 * Copyright (C) 2012-2013 Beat Kng <beat-kueng@gmx.net>
 * 
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; version 3 of the License.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 */

package com.sapos_aplastados.game.clash_of_balls.menu;

import org.jbox2d.dynamics.BodyDef;
import org.jbox2d.dynamics.World;

import android.content.Context;
import android.graphics.Typeface;

import com.sapos_aplastados.game.clash_of_balls.R;
import com.sapos_aplastados.game.clash_of_balls.Font2D;
import com.sapos_aplastados.game.clash_of_balls.Texture;
import com.sapos_aplastados.game.clash_of_balls.TextureManager;
import com.sapos_aplastados.game.clash_of_balls.Font2D.Font2DSettings;
import com.sapos_aplastados.game.clash_of_balls.Font2D.TextAlign;
import com.sapos_aplastados.game.clash_of_balls.game.GamePlayer;
import com.sapos_aplastados.game.clash_of_balls.game.RenderHelper;
import com.sapos_aplastados.game.clash_of_balls.game.Vector;

/**
 * this popup is used right before a game starts: shows a countdown & the player
 */

public class PopupGameStart extends PopupBase {
  
  private float m_timeout;
  
  private Font2D m_timeout_font;
  private Vector m_timeout_font_pos;
  private Vector m_timeout_font_size;
  
  private MenuItemStringMultiline m_device_position_hint;
  
  private Font2D m_game_start_font;
  private Vector m_game_start_font_pos;
  private Vector m_game_start_font_size;
  
  private GamePlayer m_player; //only used for drawing
  private Vector m_player_pos;
  private Vector m_player_size;
  
  
  public PopupGameStart(Context context, TextureManager tex_manager
      , float screen_width, float screen_height
      , float timeout, int player_color, Typeface font_typeface, World world) {
    super(context, tex_manager, screen_width, screen_height);
    
    final float border_offset = 0.03f;
    
    final int font_color = 0xff888888;
    
    //player preview
    m_player = new GamePlayer(null, (short)0
        , new Vector(), player_color, tex_manager, null
        , world, new BodyDef());
    m_player_size = new Vector(m_size.x * 0.3f, m_size.x * 0.3f);
    m_player_pos = new Vector(m_position.x + m_size.x*(0.1f+border_offset)
        , m_position.y + m_size.y*(1.f - 0.1f - border_offset) - m_player_size.y);
    
    //timeout font
    m_timeout_font_size = new Vector(m_player_size);
    m_timeout_font_size.mul(0.9f);
    m_timeout_font_pos = new Vector(m_position.x + m_size.x*(1.f-border_offset)
        -m_timeout_font_size.x
        , m_position.y + m_size.y*border_offset);
    m_timeout = timeout;
    Font2DSettings font_settings = new Font2DSettings(font_typeface
        , TextAlign.CENTER, font_color);
    m_timeout_font = new Font2D(tex_manager, m_timeout_font_size, font_settings
        , (int)(m_timeout_font_size.y*0.7));
    timeoutChanged((int)(m_timeout + 1.f));
    
    //game start font
    m_game_start_font_size = new Vector(m_timeout_font_pos.x - m_position.x
        , m_timeout_font_size.y);
    m_game_start_font_pos = new Vector(m_position.x
        , m_timeout_font_pos.y);
    font_settings.m_align = TextAlign.RIGHT;
    m_game_start_font = new Font2D(tex_manager, m_game_start_font_size, font_settings
        , (int)(m_game_start_font_size.y*0.26));
    m_game_start_font.setString("Game starts in");
    
    font_settings.m_align = TextAlign.CENTER;
    Vector device_position_pos = new Vector(m_player_pos.x + m_player_size.x, 
        m_position.y + m_size.y/2.f);
    m_device_position_hint = new MenuItemStringMultiline(
        device_position_pos,
        new Vector(m_position.x + m_size.x*(1.f-border_offset) - device_position_pos.x
            , m_player_size.y*0.8f),
        font_settings, 
        "hold your device\nin desired\nneutral position", 
        tex_manager);
  }
  
  private void timeoutChanged(int new_timeout) {
    
    m_timeout_font.setString(""+new_timeout);
    
  }
  
  
  public void draw(RenderHelper renderer) {
    
    super.draw(renderer);
    
    //the player
    renderer.pushModelMat();
    renderer.modelMatTranslate(m_player_pos.x+m_player_size.x/2.f
        , m_player_pos.y+m_player_size.y/2.f, 0.f);
    renderer.modelMatScale(m_player_size.x, m_player_size.y, 0.f);
    
    m_player.draw(renderer);
    
        renderer.popModelMat();
        
        //countdown font
    renderer.pushModelMat();
    renderer.modelMatTranslate(m_timeout_font_pos.x
        , m_timeout_font_pos.y, 0.f);
    renderer.modelMatScale(m_timeout_font_size.x
        , m_timeout_font_size.y, 0.f);
    
    m_timeout_font.draw(renderer);
    
        renderer.popModelMat();
        
        //game start font
    renderer.pushModelMat();
    renderer.modelMatTranslate(m_game_start_font_pos.x
        , m_game_start_font_pos.y, 0.f);
    renderer.modelMatScale(m_game_start_font_size.x
        , m_game_start_font_size.y, 0.f);
    
    m_game_start_font.draw(renderer);
    
        renderer.popModelMat();
        
        m_device_position_hint.draw(renderer);
    
  }
  
  public void move(float dsec) {
    super.move(dsec);
    
    int timeout = (int)(m_timeout + 1.f);
    m_timeout -= dsec;
    int new_timeout = (int)(m_timeout + 1.f);
    if(new_timeout < 0) new_timeout = 0;
    if(timeout != new_timeout) {
      timeoutChanged(new_timeout);
    }
  }
  
}




Java Source Code List

au.com.bytecode.opencsv.CSVParser.java
au.com.bytecode.opencsv.CSVReader.java
au.com.bytecode.opencsv.CSVWriter.java
au.com.bytecode.opencsv.ResultSetHelperService.java
au.com.bytecode.opencsv.ResultSetHelper.java
com.sapos_aplastados.game.clash_of_balls.FPSCounter.java
com.sapos_aplastados.game.clash_of_balls.Font2D.java
com.sapos_aplastados.game.clash_of_balls.FontNumbers.java
com.sapos_aplastados.game.clash_of_balls.GameLevel.java
com.sapos_aplastados.game.clash_of_balls.GameRenderer.java
com.sapos_aplastados.game.clash_of_balls.GameSettings.java
com.sapos_aplastados.game.clash_of_balls.ITouchInput.java
com.sapos_aplastados.game.clash_of_balls.LevelManager.java
com.sapos_aplastados.game.clash_of_balls.MainActivity.java
com.sapos_aplastados.game.clash_of_balls.Maths.java
com.sapos_aplastados.game.clash_of_balls.NetworkService.java
com.sapos_aplastados.game.clash_of_balls.ShaderManager.java
com.sapos_aplastados.game.clash_of_balls.TextureBase.java
com.sapos_aplastados.game.clash_of_balls.TextureManager.java
com.sapos_aplastados.game.clash_of_balls.Texture.java
com.sapos_aplastados.game.clash_of_balls.UIBase.java
com.sapos_aplastados.game.clash_of_balls.UIHandler.java
com.sapos_aplastados.game.clash_of_balls.VertexBufferFloat.java
com.sapos_aplastados.game.clash_of_balls.game.DynamicGameObject.java
com.sapos_aplastados.game.clash_of_balls.game.GameBase.java
com.sapos_aplastados.game.clash_of_balls.game.GameField.java
com.sapos_aplastados.game.clash_of_balls.game.GameHole.java
com.sapos_aplastados.game.clash_of_balls.game.GameItem.java
com.sapos_aplastados.game.clash_of_balls.game.GameMenuInGame.java
com.sapos_aplastados.game.clash_of_balls.game.GameObject.java
com.sapos_aplastados.game.clash_of_balls.game.GamePlayer.java
com.sapos_aplastados.game.clash_of_balls.game.GameServer.java
com.sapos_aplastados.game.clash_of_balls.game.GameStatistics.java
com.sapos_aplastados.game.clash_of_balls.game.GameView.java
com.sapos_aplastados.game.clash_of_balls.game.GameWall.java
com.sapos_aplastados.game.clash_of_balls.game.Game.java
com.sapos_aplastados.game.clash_of_balls.game.IDrawable.java
com.sapos_aplastados.game.clash_of_balls.game.IMoveable.java
com.sapos_aplastados.game.clash_of_balls.game.RenderHelper.java
com.sapos_aplastados.game.clash_of_balls.game.SensorThread.java
com.sapos_aplastados.game.clash_of_balls.game.StaticGameObjectNoInteraction.java
com.sapos_aplastados.game.clash_of_balls.game.StaticGameObject.java
com.sapos_aplastados.game.clash_of_balls.game.Vector3D.java
com.sapos_aplastados.game.clash_of_balls.game.Vector.java
com.sapos_aplastados.game.clash_of_balls.game.event.EventGameEnd.java
com.sapos_aplastados.game.clash_of_balls.game.event.EventGameInfo.java
com.sapos_aplastados.game.clash_of_balls.game.event.EventGameStartNow.java
com.sapos_aplastados.game.clash_of_balls.game.event.EventImpact.java
com.sapos_aplastados.game.clash_of_balls.game.event.EventItemAdded.java
com.sapos_aplastados.game.clash_of_balls.game.event.EventItemRemoved.java
com.sapos_aplastados.game.clash_of_balls.game.event.EventItemUpdate.java
com.sapos_aplastados.game.clash_of_balls.game.event.EventPool.java
com.sapos_aplastados.game.clash_of_balls.game.event.Event.java
com.sapos_aplastados.game.clash_of_balls.helper.RawResourceReader.java
com.sapos_aplastados.game.clash_of_balls.helper.ShaderHelper.java
com.sapos_aplastados.game.clash_of_balls.helper.TextureHelper.java
com.sapos_aplastados.game.clash_of_balls.menu.CreationMenu.java
com.sapos_aplastados.game.clash_of_balls.menu.GameMenuBase.java
com.sapos_aplastados.game.clash_of_balls.menu.HelpMenu.java
com.sapos_aplastados.game.clash_of_balls.menu.JoinMenu.java
com.sapos_aplastados.game.clash_of_balls.menu.MainMenu.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuBackground.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemArrow.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemButton.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemGreyButton.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemImg.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemKeyboard.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemLevel.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemList.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemResultEntry.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemStringMultiline.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItemString.java
com.sapos_aplastados.game.clash_of_balls.menu.MenuItem.java
com.sapos_aplastados.game.clash_of_balls.menu.PopupBase.java
com.sapos_aplastados.game.clash_of_balls.menu.PopupCredit.java
com.sapos_aplastados.game.clash_of_balls.menu.PopupGameStart.java
com.sapos_aplastados.game.clash_of_balls.menu.PopupMsg.java
com.sapos_aplastados.game.clash_of_balls.menu.ResultsMenu.java
com.sapos_aplastados.game.clash_of_balls.menu.WaitMenu.java
com.sapos_aplastados.game.clash_of_balls.network.AlljoynInterface.java
com.sapos_aplastados.game.clash_of_balls.network.NetworkClient.java
com.sapos_aplastados.game.clash_of_balls.network.NetworkServer.java
com.sapos_aplastados.game.clash_of_balls.network.Networking.java