Filtering.qml Example File

examples/physics/box2d-examples/qml/filtering/Filtering.qml
 import QtQuick 2.0
 import Felgo 3.0

 /*
  This example shows the usage of filtering: The blue and red boxes do not collide with boxes from the same color but only with all others.
  And the green boxes collide with all others, also with the same colored boxes.
  */

 GameWindow {
   id: screen

   activeScene: scene

   Scene {

     PhysicsWorld {
       id: world
       gravity.y: 9.81
     }

     Repeater {
       model: 5
       delegate: FilteredBox {
         categories: Box.Category2
         collidesWith: Box.Category1 | Box.Category3 | Box.Category4
         color: "blue"
       }
     }

     Repeater {
       model: 5
       delegate: FilteredBox {
         categories: Box.Category3
         collidesWith: Box.Category1 | Box.Category2 | Box.Category4
         color: "red"
       }
     }

     Repeater {
       model: 5
       delegate: FilteredBox {
         categories: Box.Category4
         collidesWith: Box.All
         color: "green"
       }
     }

     Wall {
       id: ground
       height: 20
       anchors { left: parent.left; right: parent.right; top: parent.bottom }
     }
     Wall {
       id: ceiling
       height: 20
       anchors { left: parent.left; right: parent.right; bottom: parent.top }
     }
     Wall {
       id: leftWall
       width: 20
       anchors { right: parent.left; bottom: ground.top; top: ceiling.bottom }
     }
     Wall {
       id: rightWall
       width: 20
       anchors { left: parent.right; bottom: ground.top; top: ceiling.bottom }
     }
   } // end of Scene

   EntityManager {
     id: entityManager
   }
 }

Voted #1 for:

  • Easiest to learn
  • Most time saving
  • Best support

Develop Cross-Platform Apps and Games 50% Faster!

  • Voted the best supported, most time-saving and easiest to learn cross-platform development tool
  • Based on the Qt framework, with native performance and appearance on all platforms including iOS and Android
  • Offers a variety of plugins to monetize, analyze and engage users
FREE!
create apps
create games
cross platform
native performance
3rd party services
game network
multiplayer
level editor
easiest to learn
biggest time saving
best support