Package examples

Source Code of examples.MarchingAntsExample

package examples;

import dwlab.base.service.Align;
import dwlab.base.service.Service;
import dwlab.base.images.Image;
import dwlab.base.*;
import dwlab.controllers.ButtonAction;
import dwlab.controllers.MouseButton;
import dwlab.platform.LWJGL;
import dwlab.shapes.layers.Layer;
import dwlab.shapes.sprites.Sprite;
import dwlab.shapes.sprites.shape_types.ShapeType;
import dwlab.shapes.sprites.SpriteCollisionHandler;
import dwlab.visualizers.MarchingAnts;

public class MarchingAntsExample extends Project {
  public static void main(String[] argv) {
    LWJGL.init();
    main();
  }
 
  public static void main() {
    ( new MarchingAntsExample() ).act();
  }
 
 
  int spritesQuantity = 50;

  public Layer Layer = new Layer();
  public Image spriteImage = new Image( "res/kolobok.png" );
  public Sprite selected;
  public MarchingAnts marchingAnts = new MarchingAnts();

  ButtonAction select = ButtonAction.create( MouseButton.create( MouseButton.LEFT_BUTTON ) );

 
  @Override
  public void init() {
    cursor = new Sprite(){
      SpriteCollisionHandler handler = new SpriteCollisionHandler() {
        @Override
        public void handleCollision( Sprite sprite1, Sprite sprite2 ) {
          selected = sprite2;
        }
      };

      @Override
      public void act() {
        setMouseCoords();
        if( select.wasPressed() ) {
          selected = null;
          collisionsWith( Layer, handler );
        }
      }
    };
   
    for( int n = 1; n <= spritesQuantity; n++ ) {
      Sprite sprite = new Sprite( ShapeType.oval, Service.random( -15, 15 ), Service.random( -11, 11 ), 0d, 0d, 1d, Service.random( 360 ) );
      sprite.setDiameter( Service.random( 1, 3 ) );
      sprite.visualizer.setRandomColor();
      sprite.visualizer.image = spriteImage;
      Layer.addLast( sprite );
    }

    cursor.setDiameter( 0.5 );
  }
 

  @Override
  public void logic() {
    cursor.act();
  }
 

  @Override
  public void render() {
    Layer.draw();
    if( selected != null ) selected.drawUsingVisualizer( marchingAnts );
    printText( "Select Sprite .y left-clicking on it" );
    printText( "LTMarchingAnts example", Align.TO_CENTER, Align.TO_BOTTOM );
  }
}
TOP

Related Classes of examples.MarchingAntsExample

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.