3D Lingo Dictionary > C-D > collisionData |  |

collisionData

Syntax

    on myHandlerName me, collisionData

Description

3D data object; sent as an argument with the`#collideWith` and `#collideAny` events to the handler specified in the `registerForEvent`, `registerScript`, and`setCollisionCallback` commands. The `collisionData` object has these properties:

`modelA` is one of the models involved in the collision.

`modelB` is the other model involved in the collision.

`pointOfContact` is the world position of the collision.

`collisionNormal` is the direction of the collision.

Example

This example has three parts. The first part is the first line of code, which registers the `#putDetails` handler for the `#collideAny` event. The second part is the `#putDetails` handler. When two models in the cast member MyScene collide, the `#putDetails` handler is called and the `collisionData` argument is sent to it. This handler displays the four properties of the `collisionData` object in the message window. The third part of the example shows the results from the message window. The first two lines show that the model named GreenBall was model A and the model named YellowBall was model B in the collision. The third line shows the point of contact of the two models. The last line shows the direction of the collision.

    member("MyScene").registerForEvent(#collideAny, #putDetails, 0)
    on putDetails me, collisionData
      put collisionData.modelA
      put collisionData.modelB
      put collisionData.pointOfContact
      put collisionData.collisionNormal
    end
    -- model("GreenBall")
    -- model("YellowBall")
    -- vector( 24.800, 0.000, 0.000 )
    -- vector( -1.000, 0.000, 0.000 )

See also

collisionData properties: `modelA, modelB, pointOfContact, collisionNormal`

collisionData methods: `resolveA, resolveB`

`collision (modifier)`