View Single Post
Old
nsprangers
Guest
 
Status:
Posts: n/a
Default 03-05-2010, 06:02 PM

Congrats and nice job making this.

It may be faster, easier, and smoother, but it doesn't actually solve the problem of detecting if any two objects have collided. Sure, you could make a wall of invisible cylinders along your flat wall, but whatever object you're moving would bounce along the wall. I've only had Alice downloaded for a couple days, but it seems you can only interact with distances between objects, not surfaces. So who knows if it can actually be done.

In the main collision detection block, you have an expression that says

Code:
if ((cylinder distance to item_from_close objects) <= 
  ((item_from_close objects's width / 2) + 
    (item_from_close objects's width / 2)
  )
)
Why are you dividing the width twice then adding it together?

In your maintenance area, you add objects that are within 5 meters to the wold.Close objects list, and then below you remove anything that is more than 2 meters away. The second check, for more than 2 meters away, is only done every 1/4 second, but isn't the 5 meter check done only once since it's not part of any loop? If the 5 meter check is meant to initialize the world.Close objects list, it should probably be up at the top, outside the "do together" block.

Last edited by nsprangers; 03-05-2010 at 06:15 PM.
   
Reply With Quote