Examples

Original demo 02

This is a PPhys2D adaptation of the Demo 2 included with the original Phys2D.

Applet

This browser does not have a Java Plug-in.
Get the latest Java Plug-in here.

Code

//Import all Phys2D libraries
import pphys2d.bodies.*;
import pphys2d.joints.*;
import pphys2d.shapes.*;
import pphys2d.phys2d.raw.collide.*;
import pphys2d.phys2d.raw.strategies.*;
import pphys2d.phys2d.raw.forcesource.*;
import pphys2d.phys2d.util.*;
import pphys2d.phys2d.raw.shapes.*;
import pphys2d.*;
import pphys2d.phys2d.raw.*;
import pphys2d.phys2d.math.*;

//Create a PPhys2D world
PPWorld world = new PPWorld();

void setup () {
  
  //Set size and framerate
  frameRate(30);
  size(500,500);

  world.setGravity(0, 200);

  //Ground1
  PPBox body1 = new PPBox(600, 20);
  body1.setPosition(250, 400);
  body1.setStaticBody(true);
  body1.setFillColor(new Color(255,255,255));  
  body1.setStrokeColor(new Color(0,0,0)); 
  world.add(body1);
  
  //Ground2
  PPBox body2 = new PPBox(200, 20);
  body2.setPosition(360, 340);
  body2.setStaticBody(true);
  body2.setRotation(0.4);
  body2.setFillColor(new Color(255,255,255));  
  body2.setStrokeColor(new Color(0,0,0)); 
  world.add(body2);
  
  //Ground 3
  PPBox body3 = new PPBox(200, 20);
  body3.setPosition(140, 340);
  body3.setStaticBody(true);
  body3.setRotation(-0.4);
  body3.setFillColor(new Color(255,255,255));  
  body3.setStrokeColor(new Color(0,0,0)); 
  world.add(body3);
  
  //Wall 1
  PPBox body4 = new PPBox(20.0f, 400.0f);
  body4.setPosition(20.0f, 190);
  body4.setStaticBody(true); 
  body4.setFillColor(new Color(255,255,255));  
  body4.setStrokeColor(new Color(0,0,0));  
  world.add(body4); 
  
  //Wall 2
  PPBox body5 = new PPBox(20.0f, 400.0f);
  body5.setPosition(480.0f, 190);
  body5.setStaticBody(true); 
  body5.setFillColor(new Color(255,255,255));  
  body5.setStrokeColor(new Color(0,0,0));  
  world.add(body5);  
  
  //Mover 1
  PPBox body6 = new PPBox(50, 50);
  body6.setMass(100);  
  body6.setPosition(250, 4);
  body6.setRotation(0.2);
  body6.setFillColor(new Color(255,255,255));  
  body6.setStrokeColor(new Color(0,0,0)); 
  world.add(body6);
  
  //Mover 2
  PPBox body7 = new PPBox(50, 50);
  body7.setMass(100);  
  body7.setPosition(230, -60);
  body7.setFillColor(new Color(255,255,255));  
  body7.setStrokeColor(new Color(0,0,0)); 
  world.add(body7);
  
  //Mover 3
  PPBox body8 = new PPBox(50, 50);
  body8.setMass(100);  
  body8.setPosition(280, -120);
  body8.setFillColor(new Color(255,255,255));  
  body8.setStrokeColor(new Color(0,0,0)); 
  world.add(body8);
}

void draw () {
  //Clear screen
  background(255); 
  //Draw world
  world.draw(this);
}