Learn what Felgo offers to help your business succeed. Start your free evaluation today! Felgo for Your Business


OverviewFelgo 1 Support › Disable Bounce on BoxCollider

Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
  • #4252



    In our game, its the players task to shoot arrows to pop baloons. Therefore I have to check when the arrow hits a baloon.

    I do that within the fixture.onBeginContact(….) method where I then make the baloon disappear.

    The problem is, that as soon as the arrow hits the baloon, it bounces from it. But that should not happen because I want the arrow to continue flying its original direction. How can I stop it from bouncing of a baloon?

    As our pysicsworld also uses gravity.y, I have to make the Baloon BoxCollider BodyType.Static to keep it from falling.

    I already tried setting vairous properties to zero, it didnt help.



    Here is my Baloon.qml, I am sorry, the code tag does not seem to work.

    import QtQuick 1.1
    import Box2D 1.0
    import VPlay 1.0
    import "../particles"
    EntityBase {
      id: entity
      width: 20
      height: 25
      entityType: "baloon"
      property alias baloonImg: baloonImg
      BoxCollider {
        id: boxCollider
        bodyType: Body.Static
        width: baloonImg.width
        height: baloonImg.height
        // like this, an offset for the rotation could be set which is only applied for the collider, not for the entity!
        // rotation: 45
        anchors.centerIn: parent
        // set friction between 0 and 1
        fixture.friction: 0
        // restitution is bounciness
        fixture.restitution: 0
        // if you want to make objects fall faster, increase gravity (and not density)
        // with higher density, the player behaves differently at collisions as it is heavier
        fixture.density: 0
        fixture.onBeginContact: {
          var fixture = other;
          var body = other.parent;
          var component = other.parent.parent;
          var collidedEntityType = component.owningEntity.entityType;
          var collidingType = component.owningEntity.entityType;
          // play the collision sound when the box collides with anything, but not if the sound is already playing
          if(scene.collisionSoundsEnabled && !collisionSound.playing)
          if(collidingType === "dartarrow" ) {
      Image {
        id: baloonImg
        source: "../img/baloon_green.png"
        // this is the size compared to the scene size (480x320) - it will automatically be scaled when the window size is bigger than the scene
        // the image will automatically be scaled to this size
        width: 20
        height: 25
        // this is required to have the center in the middle of the enity and not the top left point as origin of the image
        anchors.centerIn: boxCollider
      // gets played at a collision
      Sound {
        id: collisionSound
        source: "../snd/boxCollision.wav"
      // this particle effect is played when colliding with an obstacle
      SmokeParticles {
        id: collisionParticleEffect

    Felgo Team


    we are sorry for inconveniences with the Code button and working on a fix for it!

    Regarding your Box2D question:

    You could use the sensor property of BoxCollider for your use-case.By setting it to true, you still get notified when a collision occurs, but the other bodies do not physically react to the collision. Does that solve your problem?






    I do not completely understand why, but yes this solves my problem.

    Thank you very much!


    Felgo Team

    Hi again,

    from the Box2D manual section 6.3 about sensors which is available here:

    Sometimes game logic needs to know when two fixtures overlap yet there should be no collision response. This is done by using sensors. A sensor is a fixture that detects collision but does not produce a response.

    Maybe that explains the topic best.

    Cheers, Chris

Viewing 5 posts - 1 through 5 (of 5 total)

RSS feed for this thread

You must be logged in to reply to this topic.

Qt_Technology_Partner_RGB_475 Qt_Service_Partner_RGB_475_padded