If collision
Blitz3D Forums/Blitz3D Beginners Area/If collision
| ||
| I feel kind of like a newb asking this, but i have this collision problem. I've been away from 3d a few months, doing 2d projects, and am a bit rusty. I was wondering, how do you make a certain thing happen when two objects collide, asside from the options it gives you. Such as, if i were to make a bullet hit someone, how would i make it hurt them, and disapear? I was thinking something like this: If collisions Type_Player, Type_bullet,2,2 then
hideentity bullet
player\health = player\health - 1
endif But when i do something along the lines of this, i get an Expecting End Of Line error. How would i do something like this? An if statement with the condition being a collision. Thanks alot everyone! -Kevin |
| ||
Wouldn't it be... If EntityCollided(Type_Player,type_bullet)=1
blah blah...
Endif |
| ||
For p.Player = Each Player
For b.Bullet = Each Bullet
If EntityCollided( b\bullet, Player_Collision_Type ) = p\bullet
FreeEntity b\bullet
Delete(b)
p\health=p\health-1
EndIf
Next
Next
|
| ||
| Wouldn't it be... If EntityCollided(Type_Player,type_bullet)=1 blah blah... Endif Nope. If you've got more than one player .... store the players type handle in the name for quick access ... p.player = new player p\health = 100 p\mesh = createsphere() entitytype p\mesh, type_player nameentity p\mesh , handle( p ) To check which player is hit etc...
for b.type_bullet = each type_bullet
Entity = entitycollided( b\Mesh , type_player )
if Entity > 0
p.type_player = Object.type_player( EntityName( entity ) )
p\health = p\health - 1
freeentity b\Mesh
delete b
endif
next
Stevie |
| ||
| Yeah you are right Stevie G.. |
| ||
| Thanks alot everyone, ill try that out! :) -Kevin |
| ||
| Mine is working too! :D |