ComunidadID
Bienvenido a ComunidadID

¿Quieres promocionar tu videojuego?

Regístrate y publicalo 
en nuestros foros!


No estás conectado. Conéctate o registrate

Variables Alterables no acepta decimales

    

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

ProgramacionMX


Nivel: 4
Nivel: 4
Hola comunidad.
Vengo a hacer mas preguntas feliz . Ando trabajando con formulas de mecánica para hacer mi sistema de plataformas 2D, pero me surgen las siguientes dudas:
1.- Como puedo hacer que las variables alterables, que corresponden a cada objeto, puedan aceptar decimales al correr el juego?, es que por ejemplo yo introduzco 0.5 en la variable y al correr el juego se queda en 0. Intente poner un evento "Start of Frame" donde asigno la misma variable multiplicada por un valor decimal pero prevalece el 0.
2.- Hay alguna forma de calcular el angulo de cualquier superficie?, es que he visto ejemplos de otros sistemas de plataforma y solo consideran la altura de los "escalones" en una figura "slope", pero yo quiero que tome en cuenta el angulo de inclinación para poder subir ese slope.
Un saludo thanks

Zonacas


ADMINISTRADOR
ADMINISTRADOR
Esta es una de las cosas que cambiarán o mejorarán con Fusion 3 la declaración de tipos

[Tienes que estar registrado y conectado para ver este vínculo]

En Fusion 2.5 se utilizan números y texto

Aunque cuando usas números, puede usar enteros o decimales según el valor que les asignes, para usar decimales debes asignar un valor con el punto, por ejemplo 0.5 o 1.0,  en todas las variables que intervienen en la operación.

Si usas un Counter para mostrar un valor decimal debes asegurarte que activas la casilla o las casillas correspondientes para mostrar decimales (en floating point values)




La segunda cuestión no la comprendo muy bien, qué es exactamente lo que quieres hacer?

quieres calcular el ángulo del suelo? del personaje?

Si el suelo es un backdrop obviamente no vas a tener acceso a su ángulo, los backdrops no salen como objeto en el event editor, no se puede interactuar con ellos, sólo hay algunas opciones en Storyboard controls

En cambio si son actives sí puedes calcular el ángulo

pero entonces tienes que variar los ángulos de esos trozos del suelo al comenzar el frame para formar el escenario, si utilizas instancias del mismo objeto, un jaleo no?

creo que es mejor opción fabricarse varios actives-suelos con formas diferentes en ángulo 0 y en función con que active-suelo este colisionando el personaje variar su ángulo ya que sabemos con que ángulo está dibujado cada active-suelo

o puedes utilizar físicas Smile


_________________
http://oskystudios.wix.com/osky-studios

ProgramacionMX


Nivel: 4
Nivel: 4
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Esta es una de las cosas que cambiarán o mejorarán con Fusion 3 la declaración de tipos

[Tienes que estar registrado y conectado para ver este vínculo]

En Fusion 2.5 se utilizan números y texto

Aunque cuando usas números, puede usar enteros o decimales según el valor que les asignes, para usar decimales debes asignar un valor con el punto, por ejemplo 0.5 o 1.0,  en todas las variables que intervienen en la operación.



La segunda cuestión no la comprendo muy bien, qué es exactamente lo que quieres hacer?

quieres calcular el ángulo del suelo? del personaje?


Hola Zonacas, gracias por responder Smile
Bueno para la primer cuestión he mencionado que ya he probado poniéndole punto a mis variables alterables, pero lo que se me hace raro es lo que mencione, cuando se inicia la aplicación, todas las variables con decimales solo se toman los enteros, si yo introduje 0.5, solo me deja el 0, pero durante el transcurso del programa, estas variables si pueden tomar decimales, pero no puedo inicializarlas con decimales, esto es a lo que me refiero, y quería saber si hay alguna forma de que me tomen los decimales sin redondeármelos al inicio del programa.
Para la segunda cuestión, asi es, si me referia al angulo del suelo, es que en Unity hice un plataformas 2d similar pero usando raycast podía determinar el vector normal de cada colisionador, pero aca en fusión no he podido encontrar una función que lo haga, ya he visto unos ejemplos donde utilizan dos active objects que recorren la orilla del objeto y al detectar un backdrop se paran y se calcula el angulo entre ellos, pero este método lo vi aplicado a un circulo y mi objeto jugador es un rectángulo Shocked

Zonacas


ADMINISTRADOR
ADMINISTRADOR
Parece que si inicializas las variables desde las propiedades del objeto no pilla los decimales

debes hacerlo desde un Start of Frame con el Expression Editor




Creo que no importa mucho si tu personaje es un circulo o cuadrado, porque realmente quien detecta las colisiones son esos dos circulitos que recorren el relieve no?

Tu personaje tan solo se va situando con respecto a ellos




podrias usar alguna técnica tipo raycaster, crear una linea desde el objeto tipo laser que vaya detectando


_________________
http://oskystudios.wix.com/osky-studios

ProgramacionMX


Nivel: 4
Nivel: 4
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Parece que si inicializas las variables desde las propiedades del objeto no pilla los decimales

debes hacerlo desde un Start of Frame con el Expression Editor




Creo que no importa mucho si tu personaje es un circulo o cuadrado, porque realmente quien detecta las colisiones son esos dos circulitos que recorren el relieve no?




podrias usar alguna técnica tipo raycaster, crear una linea desde el objeto tipo laser que vaya detectando

Pues si, para lo de la primera cuestión no habrá de otra que hacer el truco de dividir los números entre una decimal al comienzo del nivel, yo lo que hago es que si por ejemplo quiero una velocidad de 1.1, en las propiedades tendría que poner 11, y ya al iniciar el nivel, dividir 11 / 10.0, para que me recorra el punto decimal, porque de hecho he tratado de hacer una división del mismo numero, por ejemplo 1.1 / 1.0, y no me sale, el programa solo me toma el 1.

Para la segunda cuestión, hay un ejemplo, no se si subirlo porque es un .mfa que me compre de clickteam que se llama "MathTutorial", donde usan un circulo o bola, que al tocar cada superficie, utilizan un fast loop que posiciona dos objetos y recorren la orilla del circulo hasta que colisionan con el backdrop que ha tocado la bola, y asi sacan el angulo entre estos dos active objects con respecto al centro de la bola, aunque para un cuadrado este truco no me sale, ya que hay distancias que no son las mismas en el rectángulo, y lo probe usando una inclinación de 45 grados y no me marco ese numero Sad , y pues aquí el caso no es tanto girar la superficie sino que cuando se dibujan los backdrops estos pueden ser dibujados con inclinación.

Zonacas


ADMINISTRADOR
ADMINISTRADOR
Subo un ejemplo de Slopes

FLASH ( Hacer click dentro y usar teclas de dirección Derecha e Izquierda)

[Tienes que estar registrado y conectado para ver este vínculo]

PMO_Slopes.mfa (Fusion 2.5)


_________________
http://oskystudios.wix.com/osky-studios

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

    

Permisos de este foro:
No puedes responder a temas en este foro.