PDA

Ver la versión completa : Algunas preguntas sobre fenix.



Jonazan2
22/03/2009, 23:27
Tengo varias preguntas sobre fenix ahora que estoy intentnado aprender a usarlo:

- ¿ Cual es para vosotros la forma mas facil de cambiar los fondos ? Estoy intentandolo aplicandole una variable con 0 de valor que para cuando valga 1 cambie el grafico pero no lo veo muy eficiente.

id=0
if(key(_enter))id=1;end
if(id==1)
put_screen(fondo,2)
end

Pero siempre me sale el segundo fondo al principio.

- ¿ Cual es la forma mas eficiente de escribir un menu ? utilizando funciones write sobre un fondo o pintando sobre el fondo las frases,

Gracias por adelantado y perdonar por ser tan pesado.

masteries
23/03/2009, 02:09
Yo creo que así iría mejor:

id=0
put_screen(fondo,1);//no recuerdo la sintaxis correcta,considera el 1 como primer //fondo
while(id==0)
if(key(_enter))
id=1;
end
frame;
end
if(id==1)
put_screen(fondo,2)
end
loop
frame;
...
//lo que sea
...
end

*también puedes evitarte el uso de la varialbe id; y en caso de la vayas a utilizar si
no va a superar el valor de 255 y tampoco va a ser un valor negativo, declárala así: BYTE id; ocupa 4 veces menos que sin poner lo de BYTE

//el código sin utlizar la variable id, mucho más eficiente, pero puede ser menos útil;
//esto ya depende de lo que quieras hacer

put_screen(fondo,1);//no recuerdo la sintaxis correcta,considera el 1 como primer //fondo
loop
if(key(_enter))
break;
end
frame;
end
put_screen(fondo,2)
loop
frame;
...
//lo que sea
...
end

--------------------------------------------------------------
Para los menús lo más eficiente sería escribir cada cosa utilizando write una sola vez, si te ves obligado a reescribir el menú constantemente, antes has de borrarlo con delete_text(all_text o la id del texto que convenga)sin que se note que lo borras.

Yo en mi juego he tenid que tratar los puntos de daño que surgen de los personajes y de los enemigos como si de un gráfico se tratase, ya que pertenecen al scroll y se mueven hacia arriba, por lo que en este caso ha sido más útil pintarlo como un gráfico; pero para un menú con las letras quietas es mejor write.

P.S. Me acabo de dar cuenta. No utilices id como una variable creada por tí, ya que utilizarla se refiere al valor del identificador del proceso, en lugar de id, llámala temp o de otra forma; al poner id=algo o estas cambiando el identificador del proceso o lo estás recuperando.

chipan
23/03/2009, 06:15
Y digo yo... sin animo de ofender... ¿Por que no dejais de hacer el burramio y utilizais una variable que no esté reservada por el sistema?



put_screen(fondo,1);
var1=0
if(key(_enter))var1=1;end
if(var1==1)
put_screen(fondo,2)
end


Pero si lo que quieres es cambiar el fondo al pulsar enter es mas facil



Put_screen(fondo,1);
...
LOOP
...
if(key(_ENTER)) put_screen(fondo,2); END
frame;
END

masteries
23/03/2009, 11:40
Siempre he tenido la sensación de que no se leen los mensajes completos, gracias por confirmarlo.


Masteries dijo:
P.S. Me acabo de dar cuenta. No utilices id como una variable creada por tí, ya que utilizarla se refiere al valor del identificador del proceso, en lugar de id, llámala temp o de otra forma; al poner id=algo o estas cambiando el identificador del proceso o lo estás recuperando.