# Sprites library pp\_collision()

**URL:** <https://discourse.processing.org/t/sprites-library-pp-collision/19411>\
**Category:** Libraries\
**Created:** [April 5, 2020, 12:14am UTC](https://discourse.processing.org/t/sprites-library-pp-collision/19411 "2020-04-05T00:14:24Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Odermonicon](https://avatars.discourse-cdn.com/v4/letter/o/96bed5/32.png) [@Odermonicon](https://discourse.processing.org/u/Odermonicon)\
**Post date:** [April 5, 2020, 12:14am UTC](https://discourse.processing.org/t/sprites-library-pp-collision/19411/1 "2020-04-05T00:14:24Z")

</div>

[pixel perfect collision](http://www.lagers.org.uk/s4p/ref/classsprites_1_1_sprite.html#ac23e0ae1932b1620621658ec3861ba86) is acting up right now, plz help.

> **Code**
>
> ```auto
> import sprites.*;
> import sprites.maths.*;
> import sprites.utils.*;
> final double gravity = 20;
> float scale;
> Sprite level;
> Sprite player;
> Vector2D center;
> int sign(float x) {return int(x/abs(x));};
> 
> void setup() {
> Sprite.ALPHALEVEL = 1;
> size(960, 540);
> center = new Vector2D(width/2, height/2);
> level = new Sprite(this, "lv1.png", 1);
> double tmp = width/level.getWidth();
> scale = (float) tmp;
> level.setScale(scale);
> level.setPos(center);
> player = new Sprite(this, "player.png", 2); player.setScale(scale);
> S4P.registerSprite(level);
> S4P.registerSprite(player);
> S4P.collisionAreasVisible = true;
> noSmooth();
> }
> 
> void draw() {
> background(0);
> S4P.drawSprites();
> S4P.updateSprites(0.166);
> player.setAccY(gravity);
> println(player.pp_collision(level));
> if (player.pp_collision(level)) {
> player.setAccY(0);
> player.setVelY(-player.getVelY());
> }
> }
> 
> ```
