This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
es:orx:tutorials:scrolling [2017/05/30 00:50 (8 years ago)] – external edit 127.0.0.1 | es:orx:tutorials:scrolling [2020/08/19 21:14 (5 years ago)] (current) – Old content sausage | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Tutorial de Desplazamiento ====== | ||
- | |||
- | |||
- | |||
- | ===== Sumario ===== | ||
- | |||
- | Ver los anteriores [[main# | ||
- | |||
- | Este tutorial muestra como dibujar un [[http:// | ||
- | |||
- | Como puedes ver, no hay un código especial para el paralaje por movimiento en sí.\\ | ||
- | Actualmente, | ||
- | |||
- | Por defecto en este tutorial, el atributo '' | ||
- | Esto significa que un paralaje por movimiento sucederá en ambos ejes X y Y cuando se muevan las cámaras.\\ | ||
- | Tú puedes probar a poner este valor a la X, Y o cuando lo remuevas. | ||
- | |||
- | Más allá del atributo '' | ||
- | Este atributo es usado para automáticamente ajustar la escala de los objetos dependiendo en cuan lejos están de la cámara.\\ | ||
- | La cámara truncada más pequeña es, a la que más rápido se le aplicará esta autoescala.\\ | ||
- | Puedes probar y jugar con el posicionamiento de un objeto y los planos lejos & cerca de una cámara para lograr el desplazamiento deseado y frecuencias de escalado profundo que quieras. | ||
- | |||
- | Puedes cambiar la velocidad de desplazamiento (ej. la cámara se mueve rápido) en el fichero de configuración. Como es usual, puedes modificar su valor en tiempo real y hacer una recarga de la configuración histórica. | ||
- | |||
- | Como has podido ver, nuestra simple actualización de código mueve la cámara en el espacio 3D.\\ | ||
- | Presionando las flechas se moverá a traves de los ejes X y Y, y presionando las teclas control & alt a través de la Z.\\ | ||
- | Como dije anteriormente, | ||
- | Tu código meramente necesita mover tu cámara en tu escenario, sin tener ninguna molestia con los efectos de desplazamiento.\\ | ||
- | Esto te da un control total sobre tantos planos en desplazamiento quieras, y que objetos serán afectados por el.\\ | ||
- | |||
- | El último punto concierne al cielo.\\ | ||
- | Como vimos en el [[frame|tutorial de fotogramas]], | ||
- | Esto significa que la posición puesta por el objeto cielo en el fichero de configuración siempre será relativo a la cámara.\\ | ||
- | En otras palabras, el cielo siempre seguirá la cámara.\\ | ||
- | Como pusimos ahí, por defecto, a la profundidad de 1000 (ej. el mismo valor de un plano truncado de cámara alejada), el se mantendrá en el fondo(background). | ||
- | ===== Detalles ===== | ||
- | |||
- | Como es usual, comenzaremos por cargar nuestro fichero de configuración, | ||
- | Por último, creamos nuestro fondo '' | ||
- | Por favor referirse a los [[main# | ||
- | |||
- | Veamos ahora nuestra función '' | ||
- | |||
- | <code c> | ||
- | |||
- | orxConfig_PushSection(" | ||
- | |||
- | orxConfig_GetVector(" | ||
- | orxVector_Mulf(& | ||
- | |||
- | orxConfig_PopSection(); | ||
- | </ | ||
- | |||
- | Nada realmente nuevo hasta el momento.\\ | ||
- | Necesitamos ahora actualizar el vector de movimiento de nuestra cámara dependiendo de las entradas activas. | ||
- | |||
- | <code c> | ||
- | { | ||
- | vMove.fX += vScrollSpeed.fX; | ||
- | } | ||
- | if(orxInput_IsActive(" | ||
- | { | ||
- | vMove.fX -= vScrollSpeed.fX; | ||
- | } | ||
- | if(orxInput_IsActive(" | ||
- | { | ||
- | vMove.fY += vScrollSpeed.fY; | ||
- | } | ||
- | if(orxInput_IsActive(" | ||
- | { | ||
- | vMove.fY -= vScrollSpeed.fY; | ||
- | } | ||
- | if(orxInput_IsActive(" | ||
- | { | ||
- | vMove.fZ += vScrollSpeed.fZ; | ||
- | } | ||
- | if(orxInput_IsActive(" | ||
- | { | ||
- | vMove.fZ -= vScrollSpeed.fZ; | ||
- | }</ | ||
- | |||
- | Por último apliquemos este movimiento a nuestra cámara. | ||
- | |||
- | <code c> | ||
- | |||
- | Como se dijo antes, no hay ni una sola línea de código para controlar nuestro Paralaje por movimiento.\\ | ||
- | Todo está hecho en la parte de configuración. Simplemente movemos nuestra cámara en nuestro espacio '' | ||
- | |||
- | Echemos un vistazo a los datos de configuración. Primero nuestra sección '' | ||
- | |||
- | <code ini> | ||
- | CloudNumber = 1000 | ||
- | ScrollSpeed = (300.0, 300.0, 400.0)</ | ||
- | |||
- | Como puedes ver, tenemos nuestra '' | ||
- | |||
- | Veamos ahora nuestro objeto nube. | ||
- | |||
- | <code ini> | ||
- | Texture = ../ | ||
- | Pivot = center | ||
- | |||
- | [Cloud] | ||
- | Graphic | ||
- | Position | ||
- | AutoScroll | ||
- | DepthScale | ||
- | Color = (180, 180, 180) ~ (220, 220, 220) | ||
- | Alpha = 0.0 | ||
- | Scale = 1.0 ~ 1.5 | ||
- | FXList | ||
- | |||
- | Los dos atributos importantes aquí son '' | ||
- | |||
- | Primero, el atributo '' | ||
- | Esto dice en que eje el desplazamiento por paralaje esta ocurriendo para este objeto.\\ | ||
- | El desplazamiento por paralaje será rendereado acorde a la coordenada ' | ||
- | El objeto más cercano a la cámara en el eje ' | ||
- | |||
- | El atributo '' | ||
- | El objeto más cercano a la cámara en el eje ' | ||
- | |||
- | Veamos nuestro objeto cielo. | ||
- | |||
- | <code ini> | ||
- | Texture = ../ | ||
- | Pivot = center | ||
- | |||
- | [Sky] | ||
- | Graphic | ||
- | Scale = (0.5, 0.004167, 1.0) | ||
- | Position | ||
- | ParentCamera | ||
- | |||
- | Como puedes ver, ponemos una '' | ||
- | Ponemos su posición en '' | ||
- | Disponemos de una '' | ||
- | a menos que explícitamente se negaron poniendo '' | ||
- | De ahí nuestro '' | ||
- | Como nuestro '' | ||
- | De la misma manera, como el mismo es de 240 pixels de largo en el eje Y, necesitamos una escala en Y de 1/240 = 0.004167. =) | ||
- | ===== Recursos ===== | ||
- | |||
- | Código fuente: [[https:// | ||
- | |||
- | Fichero de configuración: | ||