-
Title:
PS 07-38 Especificando el Contact Listener
-
Description:
-
Ahora, en nuestra llamada de vuelta,
nos vamos al detalle
-
para obterner la función GetUserData.
-
Esto nos dará un puntero a la entidad
-
que dio origen a estos
cuerpos físicos que se tocan.
-
Desde aquí , iniciamos una nueva y mágica
madriguera de conejo.
-
Para cada uno de los objetos que se tocan,
-
necesitamos señalar
que ha ocurrido una colisión.
-
Hacemos esto llamando una nueva función,
-
llamada onTouch,
-
y pasarla al otro cuerpo físico
que está tocándolo.
-
Así puedes ver que la entidad A
llama a una función onTouch,
-
que se traspasa al cuerpo B
-
y la entidad B obtiene una función onTouch
que se traspasa al cuerpo A.
-
Esta configuración permite
a cada entidad individual
-
responder a las colisiones
en su forma particular.
-
Por ejemplo, el onTouch en un misíl,
-
eliminará 5 puntos de salud del jugador
con el que colisionó.
-
O si solo golpea un muro,
decidirá autodestruirse.
-
Pero no hemos escrito
la función onTouch todavía.
-
Y con el objeto de hacer esto,
necesitamos regresar hasta entity.js
-
y agregar una función onTouch.
-
Esto permite que otras unidades
puedan sobrecargar esta función
-
con una lógica propia después.
-
Cabe mencionar que debes hacer
una serie de revisiones de datos
-
para asegurar que la información
dada a la función post cell sea válida.
-
Por ejemplo, ya sea que el cuerpo A
y el cuerpo B sean o no objetos válidos
-
o simplemente nulos.
-
Y ya sea que los puntos
de los tipos apropiados de entidad
-
tengan o no la función onTouch.
-
Te dejaremos husmear
en estos problemas en el futuro.
-
Pero creemos que te hemos permitido
-
dar un vistazo a la locura
detrás de la máscara.
-
Eso significa que cualquiera
que defina un cuerpo físico
-
debiera también definir
una función onTouch.