Package examples

Source Code of examples.CollidesWithSpriteExample

package examples;

import dwlab.base.service.Align;
import dwlab.base.images.Image;
import dwlab.base.Project;
import dwlab.controllers.ButtonAction;
import dwlab.controllers.MouseButton;
import dwlab.platform.LWJGL;
import dwlab.shapes.Shape;
import dwlab.shapes.layers.Layer;
import dwlab.shapes.sprites.Sprite;
import dwlab.shapes.sprites.shape_types.ShapeType;

public class CollidesWithSpriteExample extends Project {
  public static void main(String[] argv) {
    LWJGL.init();
    main();
  }
 
  public static void main() {
    ( new CollidesWithSpriteExample() ).act();
  }
 

  Layer sprites = new Layer();
  Image image = new Image( "res/spaceship.png" );
 
  ButtonAction change = ButtonAction.create( MouseButton.create( MouseButton.RIGHT_BUTTON ), "clone" );
 
  int shapeTypeNum = 3;

 
  @Override
  public void init() {
    for( int n = 0; n < 9; n++ ) {
      ShapeType shapeType = ShapeType.shapeTypes.get( n );
      Sprite sprite = new Sprite( shapeType, ( n % 3 ) * 8d - 8d, Math.floor( n / 3 ) * 6d - 6d, 6d, 4d );
      if( shapeType == ShapeType.raster ) sprite.visualizer.image = image;
      sprite.visualizer.set( "7FFF7F" );
      sprite.angle = 60;
      sprites.addLast( sprite );
    }
    cursor.setSize( 5d, 7d );
    cursor.angle = 45;
    cursor.visualizer.set( "7FFFFF7F" );
    cursor.shapeType = ShapeType.ray;
  }
 

  @Override
  public void logic() {
    if( change.wasPressed() ) {
      shapeTypeNum = ( shapeTypeNum + 1 ) % 9;
      cursor.shapeType = ShapeType.shapeTypes.get( shapeTypeNum );
      if( cursor.shapeType == ShapeType.raster ) cursor.visualizer.image = image; else cursor.visualizer.image = null;
    }
  }
 

  @Override
  public void render() {
    sprites.draw();
    for( Shape shape : sprites.children ) {
      Sprite sprite = shape.toSprite();
      if( cursor.collidesWith( sprite ) ) {
        sprite.visualizer.set( "FF7F7F" );
        Sprite wedgedCursor = cursor.clone();
        wedgedCursor.wedgeOffWith( sprite, 0, 1 );
        wedgedCursor.visualizer.set( "7F7FFF7F" );
        wedgedCursor.draw();
      } else {
        sprite.visualizer.set( "7FFF7F" );
      }
    }
    cursor.draw();

    printText( "Press right mouse button to change shape ", Align.TO_CENTER, Align.TO_TOP );
    printText( "ColldesWithSprite example", Align.TO_CENTER, Align.TO_BOTTOM );
  }
}
TOP

Related Classes of examples.CollidesWithSpriteExample

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.