Sobre xcode y glbasic

Previous topic - Next topic

tatakamucher

Que tal amigos, tengo un problema (para variar), hice un juego en glbasic, lo pruebo en windows xp y 7 y funciona perfectamente, lo compile para iphone y lo pasé a la mac, entonces lo abro con xcode y todo bien, pero al momento de instalarlo en el iphone me dice que no pudo iniciar el juego, después hice una prueba con un programa simple donde cargo un sprite, lo pongo en un while y lo muestro con showscreen, incluí unas frases con el comando print, igual lo pasé al xcode y todo bien pero no me carga los sprites, el print si lo respeta y las variables que puse, qué podrá ser?, a alguien le ha pasado? (las imagenes de los sprites los tengo en la carpeta de media

Code (glbasic) Select

global texto$
global variable1#
variable1# = 1

loadsprite "media/prueba.png",1

while true


drawsprite 1,0,0
print variable1#,0,10

showscreen
wend





msx

Si tienes el siguiente comando activo:

SETCURRENTDIR("Media")

debes cargar los Sprites sin especificar ruta, en tu caso:

loadsprite "prueba.png",1

y asegúrate que las imágenes están en la carpeta "XCode\Media".

Saludos.

tatakamucher

Que tal MSX, no tengo ese comando activo, ya cheque si estaba la carpeta de media en la carpeta de xcode y si está  :doubt:

msx

Ponlo al comienzo del programa, y hazlo como te he indicado, de lo contrario tendrás que poner la ruta completa.

ampos

Yo en todos mis programas uso

Code (glbasic) Select
dpat$=PLATFORMINFO$("Documents")   //docs o data path
mpat$="Media/"   //el media path
?IFDEF WIN32
mpat$=GETCURRENTDIR$()+"media/"
dpat$=GETCURRENTDIR$()+""    //pa no tener la carpeta "mis documentos" llena de morralla de pruebas y cosas.
?ENDIF


Y luego para cargar sprites

Code (glbasic) Select
LOADSPRITE mpat$+"001.png",0

y datos

Code (glbasic) Select
INIOPEN dpat$+"prefs.txt"
...


Y me funciona de lujo en todas las plataformas

mentalthink

Bienvenido compañero, una cosa el nombre del archivo, es el mismo que el que tienes en el archivo imagen... me explico...

Glbasic es Case-Sensitive y no es lo mismo..

prueba.png

que

Prueba.png

Lo mejor para olvidarte de problemas, es hacer lo siguiente, sobre el archivo de la imagen, le dices boton derecho y copiar , y sobre el IDE de Glbasic pegar, asi te olvidas de problemas con los nombres, OJO!!! con JPG no funciona...

Yo creo que será ese el error, porque Glbasic no da fallos de ese "calibre" ya está bastante maduro, y los problemillas que encontraras, serán en actualizaciones con algún comando... pero siempre se solventan muy rápidamente...

Ya nos contarás , y sino es eso... uhmm habrá que mirar algo más, pero asi rápidamente es lo que se me ocurre...


tatakamucher

Con las lineas que puso Ampos me marco un error, supongo que por el win32.
Sobre las imágenes pues si tengo cuidado con los nombres, por eso hice esa prueba básica, hoy intentaré más cosas y ya les contaré.


Saludos.

msx

Hazlo como te indico, te tiene que funcionar sin problemas.

Añade al principio del programa la siguiente línea:

SETCURRENTDIR("Media")

y carga los sprites simplemente con el nombre, sin poner la ruta (debes copiarlo dentro de la carpeta Media)

En tu caso:

Loadsprite "prueba.png",1

Ya nos cuentas.

mentalthink

Es raro estó de la ruta, yo suelo hacerlo directamente con "Media/ las carpetas que sean" y siempre me ha funcionado... algo raro, o quizás como comenta el compañero es algo de x32 o x64 del S.O

msx

Yo tuve problemas con el tema de las rutas al principio y era algo de eso si no recuerdo mal.

tatakamucher

Intenté como lo dijo MSX y si funcionó  :enc: saludos, por aquí andaré  :-[

tatakamucher

Pues ya anda el juego, PERO, cuando estoy jugando el iphone se duerme, es decir como si no tuviera nada y se bloquea, estoy usando el acelerometro en mi juego, alguna sugerencia para eso?  :(

ampos

Si usas mi método no puedes usar setcurrntdir, y si usas el de MSX, no podrás escribir en documents sin hacer otro setcurrentdir.

Y sobre lo de que se te duerme el móvil, creo que pusieron la rutina a llamar en iOS para ke no se durmiera, pero vete tu ahora a buscarla...

Busca "iddle" o "sleep" a ver que encuentras...

tatakamucher

Eso ya quedó, me encontre en el foro con un método para que no se durmiera y funciona perfectamente.


Pero tengo otra duda, para borrar todo el contenido de un array con types, alguna idea?


he usado dimdel objetos[],x en un for pero solo me borra algunos y otros no  O_O

mentalthink

Tatakamucher algo harás mal el tema de borras arrays lo puedes hacer con Dimdel,

yo lo que hago es el contador que uso para el Dimpush, por ejemplo
inc new_Shot

antes de hacer el Dimdel, le digo algo como
dec new_Shot,
Dimdel -new_Shot
y me elimina el ultimo objeto...

En el caso que quieras liberar la memoria, creo que era  haciendo:

Dim nombreArray[0], para liberar la memoria completamente de ese array.