PDA

Ver la versión completa : Ayuda con mapa de tiles en fenix, problema al funcionar en gp



Licantropo
10/01/2005, 12:09
Hola. He estao haciendo avances en mi juego, en el ordenador va bien, pero en la gp hay una parte del codigo que no me funciona como debiera. La parte es esta:



Process ponmapa(libreria)
Private
planox,planoy,finx,finy,i,j;
Begin
Loop
Frame;
//Hallo la fila y columna que contendra el grafico del tile que ira en la esquina superior izquierda
planox=(xp/32)-4
If (planox<0) planox=0;
Else
If(planox+10>anchura)
planox=anchura-9;
End
End

planoy=(yp/32)-3;
If (planoy<0) planoy=0;
Else
If(planoy+8>altura)
planoy=altura-7;
End
End

//Recorro la matriz para colocar los graficos de los tiles: 8 tiles de altura y 10 de anchura (Lo de dentro es simplemente poner la imagen que corresponda, hay tantas distinciones porque hago una especie de scroll sobre el mapa)
From i=0 To 8;
From j=0 To 10;


If (planoy==0||planoy==altura-7)

If ((yp/32)-3==0||(yp/32)+7==altura)
If((planox==0||planox==anchura-9))
If ((xp/32)-4==0||(xp/32)+9==anchura)
put(libreria,mapa[i+planoy][j+planox],32*(j)+32-(xp MOD 32)-16,32*(i)+32-(yp MOD 32)-16);
Else
put(libreria,mapa[i+planoy][j+planox],32*(j)+16,32*(i)+32-(yp MOD 32)-16);
End
Else
put(libreria,mapa[i+planoy][j+planox],32*(j)+32-(xp MOD 32)-16,32*(i)+32-(yp MOD 32)-16);
End
Else
If((planox==0||planox==anchura-9))
If ((xp/32)-4==0||(xp/32)+8==anchura)
put(libreria,mapa[i+planoy][j+planox],32*(j)+32-(xp MOD 32)-16,32*(i)+16);
Else
put(libreria,mapa[i+planoy][j+planox],32*(j)+16,32*(i)+16);
End
Else
put(libreria,mapa[i+planoy][j+planox],32*(j)+32-(xp MOD 32)-16,32*(i)+16);
End


End


Else

If((planox==0||planox==anchura-9))
If ((xp/32)-4==0||(xp/32)+9==anchura)
put(libreria,mapa[i+planoy][j+planox],32*(j)+32-(xp MOD 32)-16,32*(i)+32-(yp MOD 32)-16);
Else
put(libreria,mapa[i+planoy][j+planox],32*(j)+16,32*(i)+32-(yp MOD 32)-16);
End
Else
put(libreria,mapa[i+planoy][j+planox],32*(j)+32-(xp MOD 32)-16,32*(i)+32-(yp MOD 32)-16);
End

End
End
End
End
End



Como ya digo el codigo esta bien (funciona en el ordenador), asi que supongo que el problema es que uso alguna funcion o algo que no este bien definido en el fenix de la gp. Yo creo que puede ser el MOD, creo que es de las primeras veces que lo uso y ademas el resto de codigo usas cosas muy secillitas y que ya he usado antes y no me han dao problemas. Si alguien me puede decir si puede ser eso, o si viendo el codigo se le ocurre que podria hacer, que me lo diga. Gracias y hasta luego.

enkonsierto
10/01/2005, 12:12
que ocurre exactamente en la gp al ejecutar esto?

Licantropo
10/01/2005, 12:20
Pues que muestra el mapa como descolocado, el personaje no aparece, muevo el cursor y a lo mejor el personaje aparece, y se hace una especie de scroll sobre el mapa, pero en una region muy pequeña de el. En la gp he probado todo lo que llevo del juego sin mostrar el mapa y funciona bien, el problema esta al usar esta funcion.

Licantropo
10/01/2005, 21:59
Nadie sabe lo que puede ser?? :(

Locke
10/01/2005, 22:24
Seria mucho pedir una captura de la version gp32 y la misma en version PC para verlo mas claro?

Es que tras que es en fenix y que no me entero muy bien en que consiste el problema... :rolleyes:

Licantropo
10/01/2005, 23:02
Creo que ya se lo que es. He metio el juego en el geepe y con el fenix que biene el runtime por un lao y el ejecutable por otro no podia probarlo, asi que he puesto el que viene todo junto en el ejecutable. Lo he probado y me ha salido bien, asi que supongo que sera el runtime. ¿Puede ser eso?, si es eso es que el nuevo runtime no tiene implementada alguana de las cosas que uso, no?. El ejecutable en el que viene todo junto no me sirve, porque ya lo probe y se me quedaba tirado al poco tiempo, asi que necesito otro runtime o algo de eso. ¿Que runtimes hay? Gracias Locke por la idea de sacar foto, joe se me ha solucionao casi la duda. jejej. Si es que ayudas hasta sin querer :) , que maquina.

Locke
11/01/2005, 00:06
Jejeje, si yo ya sabia que era por eso, solo que te di la pista de la screenshot pa no dartelo todo en bandeja y que pensases un poco... :cool:

Si el problema es del runtime habra que esperar que Chui saque alguna version nueva del port, y si no, o lo compilas como ejecutable, o detectas que funcion es la que no rula bien y miras si hay alguna manera de evitarla.

Licantropo
11/01/2005, 00:21
Ok, muchas gracias. Con el ejecutable lo he probado en la gp y no va (se me reinicia sin llegar a entrar). Asi que intentare mirar que funcion es la que no va o me tocara esperar a que salga otro runtime. Pero bueno, por lo menos se que no es que este mal el codigo. Gracias de nuevo. :)

klausus
17/01/2005, 02:32
aver kas exo xk yo tengo una caca de imagen de fondo y un personajes moviendose por el mapa osea na xD y na mas llebo dos dias por eso no e podio kitarle el fondo tazul k tiene mi sprite alrededor de la mimagen si alguien sabe hacerlo transparente ke me lo diga pero wno....

aver tienes k tene un ejecutable (fxe) con el nombre tu juego en gpmm
dentro una carpeta con el mismo nombre k el fxe y dentro el dcb y si ay algunmap o prg (el dcb con el mismo nombre k el fxe y la carperta pro supuesto )
tener el runtime y te tendria k ir si no sabes como sacar el ejcutable ese muy facil bajate algun juego en fenix como gpdragoon o vegeta2 o alguno k te en fenix pillas el fxe y lo renombras y ya ta ejecutable provisional ala aber si esta remediao tu problema... por cierto cuando copie tu codigo y le di a compilar me daba mas errores k ************* .

Licantropo
17/01/2005, 11:02
No preguntaba eso, porque eso ya lo se. Lo de que al compilar el codigo te de mazo de errores es normal, lo que he puesto es solo una funcion de todo el programa, por lo que faltan el proceso principal, la declaracion de variables y todo. Si el codigo que llevo ya son unas 3.000 lineas, eso es solo un trocito. Bueno ta luego, de todos modos gracias.

klausus
17/01/2005, 15:38
ahh ok ya decia yo licantropo k fuera to eso y dando errores aunk no me xtrañaria xk el flamebird o como se llama el ide ese es una caca yo toi aveces lo uso y otras uso como editor el codewright de mi brother y va bien despues compilo forma normal y lo arrastro al fxi pa ejecutar almenos asi no me dan eerores de cierre x alomejor olvidarme cerrar una funcion y tal....