ComunidadID
Bienvenido a ComunidadID

¿Quieres promocionar tu videojuego?

Regístrate y publicalo 
en nuestros foros!


No estás conectado. Conéctate o registrate

Dudas creando un programa de graficos 2D

Ir a la página : Precedente  1, 2, 3, 4, 5, 6  Siguiente

    

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

matriax


Nivel: 14
Nivel: 14
Recuerdo del primer mensaje :

Estoy haciendo un programa de graficos 2D, no va a ser ningun photoshop ni nada, es algo para mis necesidades pero que si alguien le resulta util lo subire gratis y demas.

Ya se puede crear el primer sprite un circulo, cambiar de "flat" a "light" y exportar a .png con su alpha.

El problema es que no me aclaro en como seleccionar/modificar las propiedades de un objeto cuando pulso un boton. Se que es una tonteria pero pero ahora mismo me he quedado bloqueado XD.


Edit: Ha sido subirlo seguir probando cosas y a los 5min he dado con la solucion, que rabia cuando ocurren esas cosas XDDD. Estaba usando la funcion "general" de comparar valores en lugar de la funcion de la familia de sprites para comparar la instancia del objeto Lengua .

Lo podeis descargar de aqui el programa:
[Tienes que estar registrado y conectado para ver este vínculo]

De todas formas si veis algo que esta mal hecho o se puede mejorar soy todo oidos! Guiño


Edit2: He encontrado otro error, si hay varios circulos uno encima del otro, cuando hago click en el que esta mas al frente da igual siempre selecciona el de mas al fondo ¿? Como solucionao eso? :S



Última edición por matriax el 19/8/2016, 11:57, editado 1 vez

https://kronbits.itch.io/

matriax


Nivel: 14
Nivel: 14
El Copy&Paste ya funciona tanto para Sprites predeterminados como para los importados.

He conseguido solucionar y averiguar porque tantos problemas con la accion "On created"

La primera solucion fue "Wait 0 seconds" que aunque no me gustaba, la definicion era que espera a que todos los eventos acaben para lanzarla en el mismo tick. Por lo que funcionaba igual y no habia desperdicio de rendimiento.

Hoy me he enterado de que el evento "on created" se ejecuta al mismo momento en el "tick", por lo que si luego le dices "set name"etc... on created que va justo al mismo tiempo aun no se le han pasado esos valores y por lo tanto la solucion era esperar 0.1 o 0 para que se ejecutase al final, cuando le habia puesto el nombre, Zorder y demas variables.

Asi que ahora me toca volver a revisar los Wait0s que habia puesto esta mañana, meter la nueva solucion y limpiar.

No se si lo tendre para esta noche si no para mañana.

---

Una cosa que voy a tener que rehacer es el menu deplegable Z-Index, el cual no para de crear lineas(sprites LIneBG,etc..) al refrescar la lista al encoger/agrandar/actualizar. SI no puedo solucionarlo la hare de alguna otra forma, porque la ctual muy eficiente no es.

https://kronbits.itch.io/

matriax


Nivel: 14
Nivel: 14
Aqui el programita con la ultima actualizacion:



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

Todavia se puede limpiar y organizar mejor pero es que si no, no acabo, menudo palizon en un par de dias que me he pegado XD.

Como veras ya no hay WaitXsecons, solo en Z-Index el cual como he dicho antes lo voy a cambiar asi que es tonteria arreglarlo y como funciona pues ahi se queda.

---

Sobre el resize ahora esta solo en una esquina. La idea seria hacerlo como en Construct.

1.- Los puntos en las diagonales pueden cambiar al mismo tiempo horizontal/vertical
2.- Los puntos intermedios cambian en una sola dimension.


[Tienes que estar registrado y conectado para ver este vínculo] , si puedes mira de integrar el resto de puntos para el resize.


Asi yo mañana me pondre con el rotate que no se muy bien como diseñarlo/aplicarlo. Quiero decir, Construct2 lo aplica segun el imagepoint de la imagen. Yo casi prefiero que haya el del medio por defecto siempre y luego de alguna forma puedas tener cualquier otro(Supongo que habra que crear una variable img_point donde guardar las coordenadas para cada sprite) donde lo puedas cambiar libremente con el objeto todavia seleccionado.... no se, hay que verlo bien XD .



Última edición por matriax el 30/8/2016, 12:15, editado 1 vez

https://kronbits.itch.io/

isaske5


Nivel: 29
Nivel: 29
ya llevo algo, esta complicado xD lo seguiré terminando mañana

matriax


Nivel: 14
Nivel: 14
Perfecto! Very Happy . Se me olvido comentar que si mantienes pulsado Mayusculas y arrastas unos de los puntos diagonales el grafico aumenta su escala en 1:1 conforme a su tamaño previo.

Por cierto pon el imagepoint original en el centro en lugar del top-left al sprite_all, como dije por defecto sera el centro para el rotate y luego ya mirar de con una variable poder cambiarlo si es possible.


Yo me pongo ahora con el rotate a ver si puedo tenerlo terminado hoy, al menos poder rotar desde el centro. Lo del imagepoint customizable lo veo mas jodido XD .

https://kronbits.itch.io/

mataguiris


MODERADOR
MODERADOR
Vaya nivel se está alcanzando por aquí  buen post

Vuelvo de unas semanas desconectado del mundo virtual y no me entero de la mitad de lo que habláis  lol!

Luego cuando llegue a casa lo pruebo.

http://mataguiris-games.weebly.com/

matriax


Nivel: 14
Nivel: 14
Jaja ya te veo en plan QA : "Esto es mejorable,  esto es penoso, esto es un desproposito, esto no deberia ir aqui, esto no se para que sirve...." XDDDD

https://kronbits.itch.io/

mataguiris


MODERADOR
MODERADOR
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Jaja ya te veo en plan QA : "Esto es mejorable,  esto es penoso, esto es un desproposito, esto no deberia ir aqui, esto no se para que sirve...." XDDDD

Jajajaja, que va, es más, yo creo que [Tienes que estar registrado y conectado para ver este vínculo] y tú estáis ya bastante en un nivel superior, lo sé porque no entiendo lo que decís  lol! lol!

http://mataguiris-games.weebly.com/

matriax


Nivel: 14
Nivel: 14
Jajaja XD

Bueno el rotate esta en progreso, como le estoy dando vueltas y no he ido a ninguna parte he añadido el poder aumentar el size/scale del sprite con Control+Mouse wheel Up/Down en 1pixel y si haces lo mismo pero pulsando "alt" lo aumentas de 10 en 10. Vamos el Alt para ir rapido y con control para ajustar el tamaño al pixel Guiño .


Una pequeña tonteria pero ey! todo suma Lengua . Tambien vere si puedo clonar objetos pero en lugar de Control+C y Control+V simplemente teniendo pulsado control mientras se arrastra un objeto como hago con el MsPaint y que viene muy bien para agilizar.

Y volvere a darle otro intento al maldito rotate XD.

https://kronbits.itch.io/

matriax


Nivel: 14
Nivel: 14
Ya tengo el rotate, como mola Very Happy

Estoy mirando lo del resize y tienes razon que trae tela, por todo el tema de sacar para cada punto la expresion correcta de Scaler.X/Y y el Sprite.X/Y para que todo se adecue y funcione como deberia, y luego claro esta que funcione tambien con el grid.

Al igual lo estamos enfocando mal? Voy hacer unas pruebas...


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


Para activar el rotate mantener pulsado R. Y luego coger el cuadro del extremo para rotar el sprite.

He hecho unos cambios en el resize para adaptarlo ahora que el punto por defecto de los sprites es el medio y he quitado/desactivado cosas que no eran necesarias para mis pruebas.

No pensaba que fuera a ser tan jodido asi que si ves que no hay forma o que hay que cambiar o hacer mucha cosa dejalo, voy a ver si encuentro alguna otra forma, aunque sea presionando alguna tecla mas resize para facilitar las cosas.

Edit2: De hecho no harian falta todos esos. Solo con 2, el que ya tenemos y uno mas en la esquina superior izquierda mas una tecla le podriamos decir en que dimension agrandar. Voy a ver si lo consigo!.


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


Aqui esta integrado ya los 2 scalers que decia. Ahora la teoria es que presionando una tecla y de alguna forma que no se es que identifique si con un escales quieres ir solo para arriba o para la izquierda. Y con el otro escaler si quieres ir solo para la derecha o para abajo. Y sin presionar ninguna tecla hace lo de ahora el resize en las 2 dimensiones.

https://kronbits.itch.io/

isaske5


Nivel: 29
Nivel: 29
emoticono42  hombre si te dije que ya lo iba avanzando XD


ya tenia funcionando estos 4 scalers,
pero ahora con eso de cambiar el point al centro me mataste XDDDDD



veo que lo hiciste al revez de lo que se usa en programas de diseño comúnmente,
se escala la imagen completa al dar clic, y quieres que al presionar una techa, el escalado solo sea en una direccion, 
normalmente es alrevez xd 
------
el rotate mola un montón! XD
......
ahora estas seguro que lo quieres solo con 2 botones de escalado?

matriax


Nivel: 14
Nivel: 14
Pero como dijistes que era un jaleo y al estar haciendo unas pruebas era verdad y luego el tema del rotate puesss XDDD lo siento jaja. Lo de cambiar el point al centro lo necesitaba para girar sin moverlo de sitio. Con el Top.Left el objeto gira sobre ese punto y se va de madre. Voy a ver si puedo hacer el rotate desde el centro sin mover el origin creando otro imagepoint.

Aunque lo jodido, no se si tu lo has conseguido es como hacer un resize del objeto manteniendo la posicion del objeto en la parte donde no se esta haciendo el resize, no soy capaz de conseguirlo. Tu lo has hecho?

Estoy jugando con los imagePoint cambiando aqui o alla y los set size y nada cuando agrando al estar el objeto con origina en el centro se desmadra. Estanto en TopLeft la parte de la derecha y abajo va bien, pero esta el mismo problema cuando vas hacia arriba o izquierda.

No se si me explico Lengua .

Personalmente prefiero los 8 puntos, pero viendo que es un jaleo estaba intentando esto, pero sigue siendo un jaleo.

EDIT: Para que quede claro. Lo mejor y lo que quiero son 8 puntos y el rotate por defecto que lo haga sobre el centro del sprite. En caso de no poder ser es lo que estaba mirando.

https://kronbits.itch.io/

isaske5


Nivel: 29
Nivel: 29
puedo hacerlo con los 8 puntos, ya le entendi, pero con el point en top left, no puedo con el point en el centro,
así como el rotar el resize también se apoya en el point original, pero si llegáramos a encontrar algún plugin para apoyarse en un imagenpoint, creo que seria mas fácil usarlo con el rotate que configurar los 9 puntos del los resize 

matriax


Nivel: 14
Nivel: 14
Perfecto lo del resize.

Sobre los ejemplos que me has pasado del rotate hay mucha matematica XDD, estoy mirando de hacerlo de alguna forma mas simple y que ademas permita al usuario cambiar el image point por cualquier otro para poder rotarlo.

La idea es dotar al sprite con el behaviour pin y al pulsar R poner el rotado en el centro, hacerle pin en Position&ANgle para que rote segun el rotador. Al rotador dotarle del drag&drop para poder situarlo en cualquier sitio del sprite incluso fuera y al hacer "drop" pin otra vez.

Esa es la idea, veremos la practica jaja.

https://kronbits.itch.io/

matriax


Nivel: 14
Nivel: 14
Me voy ya a la cama, me quedao un poco a medias probando de todo un poco:



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



Aun con algun que otro bug hace el rotate desde el centro con el origin en top-left, aunque las demas cosas se vayan de fiesta por ahi al tener otro imagepoint XDD. Ademas he estado mirando y el 9patch no he conseguido rotarlo de ninguna forma ¿No se puede? :O . Por lo que si no habria que cambiarlo por otro tipo de objeto que si se pueda.

O cambiar la forma en la que los sprites seleccionados se resaltan para evitarnos esos problemas.

---

He metido las demas soluciones de los links que me has pasado por si tambien los quieres probar.

Como comento en el codigo lo ideal seria el PIN, porque luego podria coger el rotate_reference(unPin) y moverlo a otro sitio y al soltarlo(PIN) y asi cambiar el punto de rotate por el que me de la gana mientras el sprite esta seleccionado. Luego seria que cuando se deselecciona y vuelve a seleccionarse se ponga en el centro.


Pero vamos eso ya seria lo ideal/perfecto. Con que consigas arreglar que vaya bien aunque sea con otros metodos un rotate en el centro ya me doy con un canto en los dientes.

-----

EDIT: Sobre el 9patch tampoco haria falta que rotase ahora que pienso, conque se adecuara al tamaño y posicion del objeto rotado seria suficiente.

https://kronbits.itch.io/

isaske5


Nivel: 29
Nivel: 29
ya tengo listo los 9 scalers, solo me falta terminar la grid

-actualización con los 9 scalers

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

la rotación que hiciste gira bien, pero si se vuelve loco la posición del 9patch

creo que hay un problema grave con la compatibilidad de escalar y rotar...

al rotar no debería de moverse también los puntos de los scalers como en la imagen?? xD
que problemon..

matriax


Nivel: 14
Nivel: 14
Si, en un mundo perfecto deberia de hacer exactamente eso jaja. Como dije el 9patch al menos yo no he conseguido rotarlo.

Voy a intentar crear un sprite en lugar de un 9patch para la seleccion.

Para los scalers que se muevan con el objeto supongo que cuando se rote habria que hacer un pin en la posicion del objeto para que todo salga igual que en la imagen de ejemplo que has puesto.

Voy hacer unas pruebas...

Edit: ya tengo un sprite haciendo de seleccion moviendose y rotando de la misma forma que el objeto. la idea ahora es ese objeto meterle varios imagepoint para cada uno de los scalers y veremos si funciona el experimento XD.

https://kronbits.itch.io/

matriax


Nivel: 14
Nivel: 14
Pues parece que funciona, pero el trabajo es chinesco XD

Los escalers se adaptan a la rotacion del sprite al menos en cuanto a posicionamiento cuando rotas la imagen, modificando su set X/Y con Sprite.ImagepointX(N), donde N es el numero del image point que hace referencia a donde va colocado en uno de los 8 puntos de referencia.

Aunque lo hacen sin respetar el tamaño de la imagen porque ademas de añadir el imagepoint tendre que cambiar la expresion para adecuarla a los imagepoints. Si antes era SpritesX+Sprites.imagwWidth, segun el image point tendre que poner tal vez un "menos" o dividido entre 2 en algun sitio :S .

Luego faltaria editar cada Set X/Y en todos los resizes poniendo el imagepoint correcto..... paciencia ven a mi! XD


EDIT: Poco a poco va saliendo Lengua



Las imagenes las sustituire por cuadrados o redondos mejor, sin imagen ni nada como en Construct2. Los de las esquinas un poco mas grandes que los intermedios.

Al menos se posicionan bien, pero al hacer el resize es donde la cosa se estropea "un poco" XD voy a ver si lo soluciono si no luego lo subo.

https://kronbits.itch.io/

matriax


Nivel: 14
Nivel: 14
Aqui esta el experimento con ImagePoints:
[Tienes que estar registrado y conectado para ver este vínculo]

No va muy bien pero cada scaler se pone donde debe.

A ver si Isaske es capaz de acabar de arreglarlo Lengua


Otro error que ocurre al rotar es que los resizes laterlas si se ponen arriba cambien y deberian de poder moverse tambien hacia arriba no solo Horizontal/vertical only.


Madre del amor hermoso que desastre XDD

Edit: Voy a intentarlo de nuevo y si no pensare en alguna forma que sea compatible y facil con el rotate-resize que tenemos implementado porque se esta complicando demasiado :S .

https://kronbits.itch.io/

isaske5


Nivel: 29
Nivel: 29
Casi!!!!

Va muy bien la cosa!

al menos los lateras da la impresión que funcionan bien, solo que no se posicionan correctamente.

voy a meterle manito haber que puedo hacer, porque si se vuelve loco al intentar hacer los resizes diagonales XD


----------------

estoy viendo que los resizes se acomodan a los imagenPoints de los sprites??
tendrias que crear los imagenpoint en cada sprite que agregues

no seria mejor que se acomoden al los imagenPoint de sprite_sel y ya??

o ya probaste y no funciono? xd

matriax


Nivel: 14
Nivel: 14
Hola,

Si, lo primero que hice fue crear el sprite_sel para solucionar el 9patch.

Luego se me ocurrio lo de los image_points con el sprite_sel y vi que la cosa prometia y aunque no acabara de ir bien funcionaba, asi que dije , se lo voy a meter al sprite directamente a ver si mejora la cosa y creo yo que seria mejor referencia y funcionaria mejor.

Pero veo que si no es igual funcion similar, aunque durante el proceso cambie varias veces la forma en que usaba la idea de los imagepoints, veras que hay varios " imagepoints v2" y demas.

En principio solo habra un tipo de sprite. Ahi poner el circulo, cuadrado o lo que sea en animaciones y luego en la animacion "import" las que se importen de fuera. Ademas de añadir los effectos/shader en el sprite en disable para que tambien se puedan utilizar.

Pero es possible que en un futuro eso pueda cambiar y al añadir mas typos ya sean sprites u otro tipo de cosas sea mejor hacerlo en el Sprite_Sel.

Si lo cambie es porque no sabia si la idea de los image_points no funciona por culpa de hacerlo en el sprite_sel en lugar del propio sprite o simplemente la idea tenia sus fallos.

Asi que si consigues hacerlo funcionar en el sprite_sel mucho mejor claro, porque asi en caso de que en el futuro por la razon que sea se añadaen otros tipos que ahora mismo no imagino o se me pasan tambien estarian solucionados.

La verdad que rabia quedarse tan a las puertas de conseguirlo arggg XD.

Sobre los puntos del resize:

- Los que mejor funcionan y diria que perfectos son: Right(lateral derecho) y Bottom(abajo-centro)
-El que peor funciona es el top right

Pero claro eso cuando haces un poco de rotate. Sin embargo, si lo que haces es un rotate de 90 grados, se van todos  atomar por culo XD. Habria que ver como hacerlo para que funcionase de todas las formas.

Mira a ver si puedes arreglarlo, yo voy a buscar por scirra o a ver si me viene la inspiracion divina y se me ocurre otra forma de manejar el asunto.

https://kronbits.itch.io/

isaske5


Nivel: 29
Nivel: 29
Aaaahh solo falta saber la formula!

por ejemplo para el ajuste del Scaler_Right
ponle esta formula en el "sprite.Width"

distance(Mouse.X,Mouse.Y,Scaler_left.X,Scaler_left.Y)

funciona casi bien, y no se vuelve loco al cambiar los ángulos, pero no es perfecta..

algo le falta  emoticono30

matriax


Nivel: 14
Nivel: 14
Aqui el enlace con el scaler right funcionando:
[Tienes que estar registrado y conectado para ver este vínculo]

¿Que defecto?

Le estoy haciendo todo tipo de cosas y funciona bien. No se que es lo que le ves que no funciona... ¿?

Edit: Vale tenias razon perfec del todo no va pero es usable. MMm...

https://kronbits.itch.io/

matriax


Nivel: 14
Nivel: 14
Una solucion seria bloquear el sprite de Scalre_right hacia un angulo de forma que solo se pueda mover hacia alli y estirar el objeto. De esta forma daria igual donde estuviera el raton siempre que el evento de la posicion del Scaler_Right este arriba del sprite_size.

Ahora si pones arriba el evento del Scaler_right arriba del sprite size se bloquea porque constantemente pone sl scaler en esa posicion y no deja moverlo en ningun sitio.

Haciendo que solo se pudiera mover en el angulo del sprite podrias estirar hacia alli.

Asi que ya que no lo podemos hacer bien con el lock del mouse la unica alternativa es esa porque ni hasta en HTML5 ni codigos javascript he visto que se pueda hacer lo mismo con el mouse.

https://kronbits.itch.io/

matriax


Nivel: 14
Nivel: 14
Aqui otra forma de hacer lock del sprite para el angulo usando matematicas:
[Tienes que estar registrado y conectado para ver este vínculo]

la expresion que ha puesto parece que es o casi la correcta, el scalres se pone en su sitio pero hace algunas cosas raras.

A ver si Isaske puede echarle un ojo.


Edit: Pues ha puesto un ejemplo y funciona :O Me voy ya ala cama, mañana hare unas pruebas a ver si se puede implementar en lo que tenemos.

https://kronbits.itch.io/

isaske5


Nivel: 29
Nivel: 29
funciona igual que como lo teníamos.. pero con mas errores xD

ángulos como el 90 no funcionan,
en el angulo que inicia (45) si muevo el mouse hacia la esquina superior izquierda el sprite se mueve, y no debería movers,
, ocurre lo mismo que el otro xd, aunque si lo pongo en el angulo 0, este funciona bien, creo es el único angulo que funciona correctamente

Contenido patrocinado


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

Ir a la página : Precedente  1, 2, 3, 4, 5, 6  Siguiente

    

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