Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentación de Game: ¿qué pasa al configurar dos veces? #128

Open
asanzo opened this issue Nov 2, 2021 · 8 comments
Open

Documentación de Game: ¿qué pasa al configurar dos veces? #128

asanzo opened this issue Nov 2, 2021 · 8 comments

Comments

@asanzo
Copy link
Contributor

asanzo commented Nov 2, 2021

Me gustaría que la doc detalle el comportamiento más específicamente con estos métodos (o sea, especificar un poco más el contrato):

  • Key.onPressDo(...) ¿Qué pasa si se llama dos veces? ¿La segunda tapa a la primera? ¿Cómo hago para desactivar un onPressDo(...)? ¿Quizás debería existir un removePressedActions()?
  • game.onCollideDo(visual,action) ¿Qué pasa si se llama dos veces con el mismo visual? ¿La segunda tapa a la primera? ¿Cómo hago para desactivar colisiones sino? (Idem whenCollideDo)
  • game.onTick(ms, name, action) ¿Qué pasa si se llama dos veces con el mismo nombre? (ver siguiente)
  • game.removeTickEvent(name) ¿Qué pasa si existen varios onTick con el mismo nombre? ¿cuál remueve? (el @PalumboN me había dicho que removía uno solo, y que no había garantías de que fuera el último) (bueno, me gustaría ver eso en la doc).

En particular, con el onTick pasa mucho que reusan el mismo nombre (x ejemplo para disparar muchos disparos y que cada uno se vaya moviendo).

Creo que me hice una mamushka de issues acá.

@lspigariol
Copy link
Contributor

Me parece util lo de remover y remplazar el onPressDo

@asanzo
Copy link
Contributor Author

asanzo commented Oct 2, 2024

Por lo que ví en la implementación de onPressDo, llamar dos veces con la misma tecla encola hooks.

Si yo hago k.onPressDo(gritar) y k.onPressDo(saltar), luego cuando aprieto la k hace ambas.

Este issue es para documentar, quizás además en otro podemos pensar un k.removePressEvents() o algo así como dice Lucas.

@asanzo
Copy link
Contributor Author

asanzo commented Oct 2, 2024

O que el comportamiento de onOressDo "pise" el anterior en lugar de encolae

@PalumboN
Copy link
Contributor

PalumboN commented Oct 4, 2024

No me parece mal que haga ambas cosas. Y +160 a poder controlar las actions de las teclas usando las keys.

En particular, con el onTick pasa mucho que reusan el mismo nombre

Eso es porque no usan los objetos Tick. La api oficial debería ser esa (actualizar la doc dónde haga falta).


Sobre las colisiones banco documentar más en detalle y hasta decir las "buenas prácticas" para que los juegos no anden lento?

Igual hay que abrir otro issue para discutir más en profundidad y darle una nueva iteración a eso.

@asanzo
Copy link
Contributor Author

asanzo commented Oct 4, 2024

Me gusta

@asanzo
Copy link
Contributor Author

asanzo commented Oct 4, 2024

Quiero hablar de esto el sábado

@asanzo
Copy link
Contributor Author

asanzo commented Oct 5, 2024

Charlamos hoy en el hackaton:

  • @npasserini dice que si quiero mantener el feature de encolar comportamientos, y poderlos borrar, onPressDo podría devolver el id (lo cual no rompería hacia atrás). Y tener el método removePressEvent(id) o algo así.
  • @lspigariol dice que es un bug (no un feature) que el onPressDo encole comportamientos.
  • @CeciC24, @FedericoEncinazSayago y @facu777 están implementando para jugar el cambio para que onPressDo reemplace.

@CeciC24
Copy link

CeciC24 commented Oct 5, 2024

Comenzamos a arreglarlo en la branch onPressDo-replaces

54444d9

Falta:

  • Cambiar el wollokdoc de onPressDo para que cuente que reemplaza la acción anterior
  • Hacer test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants