User Tag List

Resultados 1 al 7 de 7

Tema: coliciones y objetos

  1. #1

    Fecha de ingreso
    Aug 2008
    Mensajes
    112
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts

    coliciones y objetos

    hola, acabo de empezar con un juego tipo rpg en fenix, pero al poner un obketo el mapa de durezas deja de funcionar, y cuando lo coge el pers y desaparece vuelve a ir de nuevo, las coliciones las he echo basándome en el ejemplo del manual de fenix. Como puedo solucionar este problema, o porq es devido?.
    gracias por uestra ayuda de antemano.


  2. #2

    Fecha de ingreso
    Sep 2005
    Mensajes
    16,922
    Mencionado
    283 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    1,217
    Agradecer Thanks Received 
    2,708
    Thanked in
    Agradecido 1,868 veces en [ARG:2 UNDEFINED] posts
    Y yo sin leerme aun el manual
    Es que no se cómo pones el objeto o cómo usas el mapa de durezas, hay mil formas de hacerlo, pero por la información que das... ni idea ¿es que pones el objeto directamente sobre el mapa de durezas? ¿cómo haces la colision?
    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

  3. #3

    Fecha de ingreso
    Jan 2005
    Ubicación
    Esquina inferior derecha(almeria)
    Mensajes
    798
    Mencionado
    1 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    colisiones la eterna tortura ...

    Sin codigo no hay solucion xDDD pega aqui lo que tengas para saber que haces bien y que haces mal...

    PD: leete tus posts antes de enviarlos ... xDD

  4. #4

    Fecha de ingreso
    Aug 2008
    Mensajes
    112
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    bueno voy a dejar el código, esta muy sucio de todas las pruebas que me he liado a hacer
    process juego()
    begin
    colorObstaculo=map_get_pixel(file1,47,591,413);


    scroll[0].camera=player(100,50);
    start_scroll(0,0,fondo,0,0,0);

    item(420,296);

    // Ponemos los items en las posiciones que queremos.

    play_song(iddisparo,256);


    // Bucle principal
    loop
    IF(map_get_pixel(file1,47,Son.x+despega_x,Son.y+de spega_y)==colorObstaculo)
    obstacle=true;
    ELSE
    obstacle=false;

    END
    aquí la parte del código donde coge el color con el que ha de chocar y aquí dejo un poco del pers que hace referencia a esto
    despega_x=0;
    despega_y=0;
    if(key(_right)) despega_x=2; direction=2;end
    if(key(_left)) despega_x=-2; direction=4;end
    if(key(_up)) despega_y=-2; direction=1;end
    if(key(_down)) despega_y=2; direction=3;end




    if (key(_right) and not key(_up) and not key(_down)and obstacle==false)
    x=x+2;
    if (graph<=10 or graph>=13) graph=10; end;
    graph=graph+1;
    flags=0;
    end
    gacias por vuestras respuesta.


  5. #5

    Fecha de ingreso
    Oct 2007
    Ubicación
    Madrid
    Mensajes
    3,584
    Mencionado
    114 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    390
    Agradecer Thanks Received 
    1,393
    Thanked in
    Agradecido 699 veces en [ARG:2 UNDEFINED] posts
    Una buena opción para que la lectura de un mapa de durezas sea precisa es hacer varias lecturas por cuadro o frame.

    Pero mucho cuidado, porque si haces esto en cada personaje, enemigo... puedes llegar a acumular cientos de lecturas del mapa de durezas por cuadro, en un juego tipo rpg lo mejor es marcar tiles no atravesables o leer tiles de durezas a partir de la posición en pantalla del personaje, pero para esto se han de utilizar tiles.

    int precision;//esto lo declaras donde corresponda

    from precision=-3 to 2:
    IF(map_get_pixel(file1,47,Son.x+despega_x+precisio n,Son.y+de spega_y+precision)==colorObstaculo)
    obstacle=true;
    break;//sale de la lectura del mapa de durezas porque ya ha detectado un //obstaculo, sale del bucle from
    ELSE
    obstacle=false;
    END
    end//fin de from precision


    No sé si es este tu problema, pero espero haber ayudado.
    La maestría interior...

    Metal Slug para Atari STE: Video-1 Video-2

    Z.E.N.E.K.O. for Mega Drive and Neo Geo: Video-1

    En venta disco duro tarjeta micro SD para Atari ST/E, compatible SDHC


  6. #6

    Fecha de ingreso
    Aug 2008
    Mensajes
    112
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    5
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    gracias, aunq no survio para nada, esq este juego es un proyecto q me han mandao en el instituto y como no lo saq bien (esto me pasa por ir enseñando lo que ago pa la wiz en el instituto) ..... bueno.
    mi problema es que al colocar un objeto me quedo sin colisiones, y si lo quito vuelven a ir perfecto.


  7. #7

    Fecha de ingreso
    Sep 2005
    Mensajes
    16,922
    Mencionado
    283 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    1,217
    Agradecer Thanks Received 
    2,708
    Thanked in
    Agradecido 1,868 veces en [ARG:2 UNDEFINED] posts
    Pues entonces creo que está clarísimo tu fallo:

    El problema es de llamar a HIJO, concretamente de la linea
    IF(map_get_pixel(file1,47,Son.x+despega_x,Son.y+de spega_y)==colorObstaculo)

    ¿No lo pillas? SON es una variable local predefinida, que contiene el ID de un proceso hijo, es decir, que ha creado el propio proceso, y es correcto que quieras usarlo para saber la ID del proceso PLAYER, pero es que tienes:

    scroll[0].camera=player(100,50);
    (...)
    item(420,296);

    ITEM tambien es hijo del proceso, por lo que también saldrá en la variable SON, y es el valor que te devuelve para leer MAP_GET_PIXEL. Hasta que este no muere, no vuelves a tener un único hijo para no confundir.


    CONSEJOS:
    Puedes usar GET_ID(TYPE player) para obtener su id, si es el único proceso de este nombre.
    Puedes leer el valor que has guardado en scroll[0].camera, ya que esa es la ID del proceso prota que has creado.
    O la mejor de todas: guardar la ID en una variable (privada o global, tu eliges, pero creo que global será mejor a la larga para consultar sus datos desde otros procesos) y después úsala para asignarla a scroll[0].camera y leer MAP_GET_PIXEL (y para otros menesteres futuros).

    PROYECTOS REALIZADOS: FrikiMusic, Motor Scroll Tileado v3.2, Venturer2X (GP2X/WIZ), Echo, Screen Break Time
    PROYECTOS EN MARCHA (algunos): Bennu GP2X: 95% (necesito ayuda) ¡Antes de Halloween!: 92% SpaceH2H: 8%

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •