Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - combo_heroe

#1
Hola tengo un calse camara que utilizo en mi juego, la cual esta basada de ejemplos de internet

public class Camera
    {
        public Matrix View;

        public Vector2 Posicion;

        public Vector2 CentroPantalla;

        public float Scala;

        private Rectangle rect;

        private Vector2 vel;

        public Camera() {
            CentroPantalla =
                        new Vector2(400,240);
            Posicion = Vector2.Zero;


            View = Matrix.Identity;

            Scala = 1;

            rect = new Rectangle(-400, -240, 800+400, 480+240);
        }

        public Camera(Viewport viewport, Vector2 posicion) {
            CentroPantalla =
                    new Vector2(viewport.Width / 2f, viewport.Height / 2f);
            Posicion = posicion;


            View = Matrix.Identity;

            Scala = 1;

            rect = new Rectangle(-400, -240, (int)(viewport.Width*1.5f), (int)(viewport.Height*1.5f));

        }

       

        public void Mover(float x, float y)
        {
            System.Diagnostics.Debug.WriteLine("Mover()");

            if (Math.Abs(vel.Length()) != 0)
            {
                System.Diagnostics.Debug.WriteLine("Mover Detenido");

                return;
            }

           
                //Posicion.X -= x;
                //Posicion.Y -= y;

                vel.X = x;
                vel.Y = y;
           
            else
            {
                System.Diagnostics.Debug.WriteLine(string.Format("X:{0} Y:{1}", (Posicion.X - x), (int)(Posicion.Y - y)));
            }


        }

        public Vector2 ScreenToWorld(Vector2 screenpoint) {
            return screenpoint - (CentroPantalla - Posicion);
        }

        public void Update()
        {           

            Posicion -= vel;

            vel /= 2;

            if (vel.Length() < .2f) {
                vel = Vector2.Zero;
            }

            View = Matrix.CreateTranslation(new Vector3(-Posicion.X, -Posicion.Y, 0))
                * Matrix.CreateRotationZ(0)
                * Matrix.CreateScale(new Vector3(Scala, Scala, 1))
                * Matrix.CreateTranslation(new Vector3(800 * 0.5f, 480 * .5f, 0))
                ;

           

           


        }


y en el Update tengo

if (TouchPanel.IsGestureAvailable) {

                var gesto = TouchPanel.ReadGesture();
                if (gesto.GestureType == GestureType.FreeDrag) {

                    //System.Diagnostics.Debug.WriteLine("p" + gesto.Position + "p2"+ gesto.Position2 + "d" + gesto.Delta + "d2" + gesto.Delta2 + "t" + gesto.Timestamp);
                   
                    //camara.Posicion -= gesto.Delta; primero intente este
                    Vector2 tmp = gesto.Delta * 3;
                    camara.Mover(tmp.X, tmp.Y);
                }
            }


La idea es que se mueva la camara acorde al movimiento del toque en la pantalla, pero no tengo buenos resultados de ninguda de las dos formas que he intentado.

en la primera cambiaba simplemente la posicion, es mas o menos decente cuando se da un drag corto (aunque el movimiento es muy de golpe), pero si trato de pulsar y sostener y mover levemente la camara, esta se vuelve loca y termina su movimiento varios segundos despues.

y en la segunda como se invoca muchas veces el metodo mover, la camara cambia de posicion por pasos, es decir, cuando se mueve del punto A al B da 3 o 4 pasos, donde la camara se mueve, se detiene por la condicion de velocidad, se vuelve a invocar Mover, y eso es terrible para la jugabilidad.

¿que puedo hacer?

muchas gracias por sus respuestas
#2
Cita de: Gorkinovich en 22 de Febrero de 2013, 06:27:21 PM
Hoy en día el grueso del dinero en plataformas móviles está en iOS y luego en Android. Windows Phone en su anterior versión, la 7, llegó a sólo el 2% de penetración en el mercado (más bien penetraron a M$). Puede que en un futuro WP8 crezca, pero tal como está haciendo las cosas Microsoft yo no lo barajaría como algo probable. Y Blackberry ni idea, creo que intentan desesperadamente sacar algún nuevo teléfono con el que volver a su era dorada de "popularidad" antes del iPhone.

Lo que quiero decir es que con algo como Unity tendrías cubierto los dos principales mercados, a la espera de que saquen la versión para WinRT, porque creo que más que el WP8, tiene más opciones de prosperar el tema de los tablets con Windows 8 que su móvil (y aun así lo mismo la lían parda y la pifien aún más). Eso si quieres temas 3D de forma "modesta", para temas 2D hay SDKs que te permiten distribuir para más plataformas. Supongo que es una cuestión de prioridades y objetivos.


Principalmente la razon de querer wp8 es que con el grupo de personas con la que trabajo ya estamos en wp7, con proyectos XNA, y no nos va tan tan mal, es que el problema que tenemos es que hay gente de ios, gente de android y gente de xna, entonces aveces si es muy complicado mantener un proyecto para las tres plataformas, sobre todo en actualizaciones.

La idea para llegar a bb10 es que al tener telefono nuevo este año, y el sdk mas o menos nuevo tener menos competencia que en los otros sistemas, solo que el retraso de proyectos que teniamos, nos obligo a no hacerle caso a bb10. De hecho tengo el sdk descargado desde hace un bueeeeeeeen, y ni siquiera lo he instalado  >.<

He explorado las opciones que diste en unos mensajes antes Marmalade SDK me parece justo lo que necesitamos, ya solo seria cosa de que platicaramos los involucrados, ademas no es tan caro como Unity $399 vs $4500

#3
Entonces realmente lo recomendarias para un desarrollo movil multiplataforma.

Yo estoy interesado en algo que soporte wp8, ios, android4+, y bb10

una de mis opcines mas fuertes en Unity, aunque no tiene  soporte para wp y bb, lei noticias el año pasado de que se esta trabajando para soporte wp, asi que quiza en lo que aprendo a utilizarlo ya exista soporte.

en mis busquedas tambien contre a batterytechsdk.com que ofrese para android, ios, bb10, windows y Mac, cuando dicen windows no se si se refiera a escritorio clasico o a un juego para w8 espesificamente


otro punto muy importante que tengo en emnte es soporte tanto para 2d como para 3d, ya que he visto muchas opciones html+js pero solo para soporte 2d
#4
Hola buen dia comunidad.
Lo que pasa es que quiero dibujar o rellenar una area basada en puntos, vectores etc con una textura, como si le diera un rellenar

por ejemplo tengo esta textura


ahora tengo unos puntos en la pantalla que son los limites de la imagen


quiero que quede algo asi



¿como lo puedo lograr?
Muchas gracias de antemano
#5
Cita de: XÑA en 21 de Febrero de 2013, 02:23:44 PM

Aunque estoy usando Xamarin para trabajar en .Net, es una paliza tener que programar para Windows Phone, luego convertir a iPhone, luego a Android....Pufff....ya es que la aplicación que estoy haciendo es muy específica y no hay engine que lo soporte, pero....¡Nunca MAIS!

Nunca he usado Xamari que tan dificil es la conversion que dices? , la herramienta no tiene opciones de deploy en la que puedas escoger la paltaforma o algo asi?

actualemnte estoy buscando algo para migrar
#6
XNA / Re: Obtener Vector2 a partir de Vector3
18 de Septiembre de 2012, 12:55:27 AM
Ok por fin logre, todo gracias a ustedes, mcuhas gracias por sus aportaciones    ^_^
#7
XNA / Re: Obtener Vector2 a partir de Vector3
15 de Septiembre de 2012, 06:33:09 PM
Hola muchas gracias por sus respuestas, probe http://stackoverflow.com/questions/10475735/projecting-3d-vector-to-2d-screen-coordinates pero no me va para lo que quiero.

Lo que quiero hacer es de la posicion en 3D de algun objeto de mi mundo pueda convertirlo a un sistema de coordenadas de 2d que representen el ancho y alto de la pantalla en pixeles, por ejemplo, si trabajo en una pantalla de 800x600  y tengo la camara apuntando al vector Vector3.Zero quiero obtener la posicion 400,300 (o un vector (0,0) que pueda parsear a lo anterior)

y es que en ejemplo anterior la presentacion del vector2 tiene cierta curvatura cuando la coordenada  Y no tiende a Cero.

¿que podria intentar? no estoy muy seguro de como usar el CreateBillboard soy algo nuevo en XNA
#8
XNA / Obtener Vector2 a partir de Vector3
14 de Septiembre de 2012, 12:25:20 AM
Hola el asunto aqui es que estoy desarrollando un juego en 3d y quiero que se dibuje en pantalla un sprite que es en 2D, pero lo que quiero hacer, es ponerlo encima de mis modelos en 3d, lo que tengo es la forma de acceder al Vector3 de mi modelo, pero no se como puedo convertirlo a un vector2 que repessente la posicion actual en la pantalla, para ahi dibujar lo que quiero.

si me pudieran ayudar se los agradeceria bastante.

Saludos.
#9
XNA / Re: Problema con Orden De dibujo
21 de Abril de 2012, 11:51:00 PM
y que valores de le debo de dar aparte del ClearOptions es que la documentacion no me ayuda en mucho  Oo
#10
XNA / Re: Problema con Orden De dibujo
16 de Abril de 2012, 06:42:12 PM
pues tengo el
SharedGraphicsDeviceManager.Current.GraphicsDevice.Clear(Color.CornflowerBlue);
pero vi que hay otras sobrecargas, pero no estoy muy seguro de como usarlas ya que simpre he usado eso, no se si por eso me esta dando este comportamiento
#11
XNA / Re: Problema con Orden De dibujo
14 de Abril de 2012, 07:22:26 PM
Me podrian dar un ejemplo estoy trabajando con XNA 4.0 y en WP7 y de un vistazo en Google sobre ZBuffer en xna, ninguno de los ejemplo me sirve

Encontre uno http://stackoverflow.com/questions/3763475/disabling-depth-buffer-checks-in-xna-4-0-on-windows-phone-7

DepthStencilState depthState = new DepthStencilState();
            depthState.DepthBufferEnable = true; /* Enable the depth buffer */
            depthState.DepthBufferWriteEnable = true; /* When drawing to the screen, write to the depth buffer */

            SharedGraphicsDeviceManager.Current.GraphicsDevice.DepthStencilState = depthState;


ya lo implemente al final del metodo Draw y funciona, pero despues de estar un rato corriendo, y al irele agregando modelos al dibujo llega un punto en que la pantalla se ponde morada y varios modelos desaparecen, despues intente poner este codigo en la inizializacion, pero ya no funciona

Que estoy haciendo  mal??

#12
XNA / Problema con Orden De dibujo
13 de Abril de 2012, 07:05:22 PM
Hola estaba realizando una prueba de un motor de fisica, la pruba consiste en poner un numero n de cubos apilados y dejar caer desde un punto mas alto cada cierto tiempo una Esfera, por lo que mi Orden de dibujo es primero dibujar la lista de cubos y despues la lista de bolas, el problema que vi es que algunas ocasiones al chocar las bolas se van detras de las cajas (desde la vista de la camara), pero por el orden de dibujo se siguen pintando

Como  pueso solucionar esto???. Muchas Gracias por sus respuestas





Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.