se puede hacer esto con minx, miny, maxx, maxy?..
#10

Quote:
Originally Posted by [J]ulian
Посмотреть сообщение
їProbaste si funcionaba como te dije?
todavia no lo he testeado pero debe funcionar por ke tambien he visto en post y asi es como se utiliza.
y ya he entendido.

Quote:
Originally Posted by WCrimson
Посмотреть сообщение
- Tenemos un triбngulo, a sus esquinas les llamaremos A, B y C, cada una de estas determinada por una coordenada sobre el eje X y la otra sobre el Y ( X y Y ).
- Tenemos un jugador en un punto una coordenada determinada ( X y Y ) a la cual llamaremos P.

La lуgica que deberбs seguir es esta:
- Para saber sн el jugador se encuentra dentro del бrea de ABC deberбs de comprobar que la sumatoria de las бreas de los triбngulos PAB, PBC y PAC equivalgan a la misma cantidad del бrea de ABC.


Te dejo la funciуn abajo.
PHP код:
bool:isPlayerInTriangleFloat:f_pointXFloat:f_pointYFloat:s_pointXFloat:s_pointYFloat:t_pointXFloat:t_pointYplayerid)
{
    new
        
Float:check[5],
        
Float:playerPos[3];
    
GetPlayerPos(playeridplayerPos[0], playerPos[1], playerPos[2]);
    
check[0] = floatabs(floatdiv(floatadd(floatmul(f_pointX,floatsub(s_pointY,t_pointY)),floatadd(floatmul(s_pointX,floatsub(t_pointY,f_pointY)),floatmul(t_pointX,floatsub(f_pointY,s_pointY)))),float(2)));
    
check[1] = floatabs(floatdiv(floatadd(floatmul(playerPos[0],floatsub(s_pointY,t_pointY)),floatadd(floatmul(s_pointX,floatsub(t_pointY,playerPos[1])),floatmul(t_pointX,floatsub(playerPos[1],s_pointY)))),float(2)));
    
check[2] = floatabs(floatdiv(floatadd(floatmul(f_pointX,floatsub(playerPos[1],t_pointY)),floatadd(floatmul(playerPos[0],floatsub(t_pointY,f_pointY)),floatmul(t_pointX,floatsub(f_pointY,playerPos[1])))),float(2)));
    
check[3] = floatabs(floatdiv(floatadd(floatmul(f_pointX,floatsub(s_pointY,playerPos[1])),floatadd(floatmul(s_pointX,floatsub(playerPos[1],f_pointY)),floatmul(playerPos[0],floatsub(f_pointY,s_pointY)))),float(2)));
    
check[4] = ( check[1] + check[2] + check[3] );
    return ( 
check[0] == check[4] );

testeare con ese tambien.
____________________________________________

Gracias, testeo y cualkier cosa aviso.

Saludos.
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 2 Guest(s)