Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Can't understand collisions in codea

edited January 2014 in General Posts: 4

How does the collisions actually work in codea? I got some circles that need to call a function as long as they are touching, now the collision detection work 90% of the time when I expect it to. It seems like codea stops recognizing contact points after the bodies have been stationary/touching at the same point after a while(I have set sleepingAllowed to false)

Code

if contact.bodyA ~= nil and contact.bodyB ~= nil then
        if bodyAinfo[1] == "bot" then
            if bodyBinfo[1] == "player" then
                for j=1,#Bots do
                    local info = split(Bots[j]:getBody().info,":")
                    if bodyAinfo[2] == info[2] then
                        if contact.state == BEGAN or contact.state == PERSIST then
                            Player:damage(Bots[j]:getDamage())

                            break
                        elseif contact.state == ENDED then

                            break
                        end
                    end
                end
            end
    end

The Bots[] is an array of classes containing the body of the specified bot. I use the userdata on each body to identify it easier with "bot:id" where id is the position in the Bots array

Sorry if Im not clear on what the problem is but its kinda hard to explain

Tagged:

Comments

  • IgnatzIgnatz Mod
    Posts: 5,396

    Why not post some code for us to look at? Make sure it's formatted neatly by putting three ~ on a line before your code! and three more on a line after your code.

  • Jmv38Jmv38 Mod
    Posts: 3,297

    @multinfs try to set the sleepingAllowed property of your bodies to false and see it it changes something.

  • @jmv38 I do have sleepingAllowed to false already and that doesn't fix the problem

Sign In or Register to comment.