pilas-engine

Consulta sobre Actores

Hola buen dia!
estoy tratando de explorar de a poco todo este mundo de pilas, tengo una duda, yo empece desde cero y me traje el actor del conejo.
Lo que note es que en la programacion del conejo me trae mucho codigo que no se si para un principiante confunde, como por ejemplo lo de abajo.
o sea yo lo pondria en explorar como parte de un ejemplo (para eso deberia tener la plataforma y las monedas y si esta bueno para copiar) pero no estoy del todo segura si cuando traigo un actor quiero que me traiga tanto codigo asumiendo que voy a tener algo llamado moneda o plataforma. conejo no se si no haria lo basico…como controles, inicia, actualizar y tal vez la caida pero el resto no se… que opinan ?

cuando_comienza_una_colision(actor) {

if (actor.etiqueta === "moneda") {

  this.pilas.reproducir_sonido("moneda");

  actor.eliminar();

}

if (actor.etiqueta === "plataforma") {

  if (this.velocidad_y > 0.1) {

    return true;

  }

}

}

podrĂ­a ser verdad, tienen mucho cĂłdigo, yo lo entendĂ­ de una, pero claro yo ya tengo algo de experiencia en crear juego, lo que me gustarĂ­a es que los actores pre-creados como el conejo tuvieran comentarios que describan que hace cada parte del cĂłdigo para que el nuevo lo entienda mas y no se maree con todo eso.

si esta bueno lo de los comentarios y el codigo que tenga deberia ser sobre objetos que esten en el programa de ejemplo , si es nuevo el programa y creo el conejo desde cero, me trae confusion que intente colisionar con monedas, etc… porque en teoria no existen, pero si, a medida que le tomas la mano , es solo borrar esta parte del codigo, pero bueno estamos tratando de mejorar entre todos, entonces una sugerencia para mi seria, lo que sea parte de un ejemplo mas global, si que traiga todo el codigo y si usa las monedas y la plaaforma que tambiene esten estos actores, y si lo traigo solo, que tenga lo basico, sus propiedades y sus movimientos.

1 Like

Estoy de acuerdo con vos, a mi también me pareció confuso cuando empece con Pilas. Yo de hecho nunca los utilicé y aunque hoy ya entiendo lo que hace el código, es como que está escrito muy diferente a como yo lo haría y me siento incómodo usando esos actores.
Pero coincido en que deberían tener algunos comentarios explicando un poco qué hace cada cosa

El “ACTOR” “es un molde” de un objeto que puede estar en la escena…
Todos los motores de videojuegos tienen una forma de representar algo en la escena. Es un concepto abstracto pensado por los desarrolladores de motor para que el usuario se concentre en hacer juegos y no en el desarrollo del motor.
Por ejemplo en Godot Engine se usa el concepto de “ESCENAS Y NODOS”
En Unity Game Engine se usa el concepto de GAMEOBJECT.
En Unreal Engine se USA el concepto de ACTOR al igual que en pilas.

En si todos tienen el mismo funcionamiento, reutilizar los objetos que están en la escena.

El problema que estás teniendo es que no solamente tenés que entender el código, también tenés que comprender el concepto detrás de cada herramienta que ejecuta ese código.
Todos los motores de videojuegos suelen tener las mismas características, con nombres diferentes y hasta a veces se usa diferente, pero en la práctica son siempre lo mismo.

En ese cĂłdigo que mostraste hay un concepto muy importante que se ve en todos los motores.
“CUANDO ALGO COLISIONA”
Entonces si algo colisiona tenes que saber de que tipo es, para eso en todos los motores se usa el concepto de “ETIQUETAS”

Entonces SI ALGO COLISIONA y si tiene la ETIQUETA haces algo.

Para comprender todos estos conceptos antes de hacer cualquier cosa tenes que leer la documentaciĂłn de pilas engine por lo menos 3 veces y ir probando de a poco.
Cuando comprendas los conceptos detras de las herrmamientas, aunque lo hagas en cĂłdigo o en bloques es lo mismo.
La ventaja de código es que el tipado es muchisimo más rápido.
la ventaja de los bloques es que para alguien que no sabe es más simple de entender, por lo menos en códigos pequeños.

1 Like

Si, es cierto lo que dices @Veronica_Aides, originalmente los actores pre-diseñados los agregué a pilas cuando aún no teníamos sección de ejemplos, y era una forma de mostrar a quienes recién empiezan las cosas que se podrían hacer, pero ahora que lo pienso bien tal vez lo podemos rediseñar.

Pensando en una persona que recién comienza puede ser contraproducente proponerle tantas opciones. ¿Convendría solo dejarle actores muy simples?, ¿hacer un asistente paso a paso para que puedan personalizar el actor antes de añadirlo?.

Yo, por ejemplo, casi siempre elijo crear un actor sin imagen, e inmediatamente después voy a las propiedades y elijo una imagen distinta, porque nunca quiero la imagen del rectángulo blanco:

Pienso que aquí tal vez sea mejor que la misma pantalla de crear actores me muestre las imágenes para crear al actor con una apariencia inicial. Yo hago el actor sin imagen y luego le cambio la propiedad porque ya estoy muy acostumbrado y ni me doy cuenta… pero veo que estás en lo cierto, podemos mejorarlo mucho.

Otra opción es separar esa pantalla en dos partes, poner los actores básicos al principio, y una segunda pantalla (o pestaña que diga “actores prediseñados”) y que ahí estén todos los demás.

Ah, y sobre los comentarios, coincido, creo que el código de los actores propuestos deberían tener más comentarios. Voy a diseñar un boceto de estos cambios a ver cómo queda y les vuelvo a escribir.

Por mí parte me gustaría que el actor “sin imagen” efectivamente no tenga ninguna imagen, no sé ustedes que piensan pero me resulta algo molesto crear un actor para que no tenga imagen y aparezca una imagen que diga “sin imagen” jaja no sé que piensas sobre eso @hugoruscitti

1 Like