Barras de energía, no recuerdo exactamente cómo se hacían

Started by Shin_Asamiya, February 27, 2015, 11:55:59 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Shin_Asamiya

Estoy poniéndole a mi juego una barra vertical que indique la cantidad de disparos que puede hacer el personaje. La idea es que tenga 16 píxeles de alto y el personaje también pueda disparar 16 veces, con lo que cada vez que dispare la barra bajará 1 píxel. Sé que esto se hacía con la función define_region, y de hecho, antes sabía usarla, pero ha pasado mucho tiempo y no lo recuerdo con exactitud.

De momento tengo el proceso de la barra así:

Process barra();

begin

graph=301;
x=60;
y=46;
z=-10;
define_region(1,55,31,11,16);
region=1;

loop
frame;
end

end


Sé que había dos formas de hacerlo. O moviendo el gráfico por coordenadas o reduciendo la región de tamaño para que se lo vaya comiendo. También recuerdo que se ponía la variable en cuestión en uno de los parámetros de la región, pero no recuerdo cómo se hacía para que al disminuir la variable, disminuyera también la región.

Por otro lado, he hecho pruebas para ver si la región está colocada correctamente variando el alto de esta y he comprobado que se la come desde abajo, y a mi me interesa que se la coma por arriba, porque el gráfico es una botella y la idea es hacer que se vaya vaciando.

¿Cómo se hace esto?

emov2k4

emmm.. yo hice algo parecido pero no ocupe define_region.
solamente hice un  grafico y lo modifique con size_x.

ejemplo tengo un grafico para la barra de dispado de 100x65, quieres 10 disparos...
entonces cada ves que disparo al proceso de la barra le digo size_x=size_x-10;

espero te sirva!


Shin_Asamiya

No, pero para una barra de energía o lo que sea no sirve el size, porque altera el gráfico y además lo reduce tanto de ancho como de alto. Yo quiero recordar como se hacía con define_region, que era la forma correcta de hacerlo, y de paso que alguien me explique, por favor, cómo hago para que en vertical baje la barra desde arriba y no desde abajo.

FreeYourMind

No. emov2k4 te ha comentado size_x no size, el size si modifica X y Y, pero bennu tiene nuevas variables, size_x sólo lo modifica en el eje de X, y si tu barra de energia es de un solo color no vas a notar alteracion de pixeles en el grafico, con lo cual tambien se puede usar. lo de define region es lo mas comun, para todas tus dudas que he visto lo mejor es que mires el codigo fuente de varios juegos y ports de div a bennu que hay en el foro, como catle of dr. malvado

Shin_Asamiya

Ya, pero aún así no me convence usar el size porque mi barra tiene una gradación y resultaría alterada. Mi pregunta es muy sencilla:

¿Cómo hago para poder disminuir el ancho de la región en Y desde arriba hacia abajo con la función define_region? Un pequeño ejemplo de código me serviría.

No olvidéis que ya comenté que yo sabía en un pasado cómo hacer barras. Me conformo con que alguien me ayude a refrescar la memoria. De hecho, si mal no recuerdo, hice un minijuego en el que había una barra de ese estilo, era vertical y disminuía desde arriba hacia abajo. Pero de eso hace ya más de 10 años y ya no tengo el programa.

Si pido ayuda aquí es precisamente porque no quiero andar buceando entre tutoriales y programas de otras personas (generalmente difíciles de comprender por su larga extensión) para encontrar una sola función.

FreeYourMind

El problema es ese mismo, no quieres buscar en tutoriales pero quieres que la gente te lo diga directamente. Tienes que darte cuenta que aqui nos gusta ayudar, pero cuando uno quiere ser ayudado, porque para ayudarte tambien tenemos muchas veces que buscar cosas que ya no recordamos al 100%, y es un poco frustante que uno te busque las cosas directamente para poder ayudarte cuando en tu caso quieres aplicar la ley del minimo esfuerzo....

Enfin si realmente quieres ayuda, te aconsejo a que te bajes un buen manual, por ejemplo el manual de OSK o que mires en la wikipedia de bennu, en ambos sitios tienes al detalle como aplicar la funcion define_region

Shin_Asamiya

El tema es que mandar a la gente al google o a leerse tutoriales no es ayudar, es cachondearse. Es muy sencillo, si te parecen chorradas lo que pregunto no contestes en mis hilos. Ya te he explicado en el otro hilo que yo no estoy pidiendo que me den nada hecho, sólo una pequeña orientación. En fin, no voy a repetirme más.

La cantidad de mensajes que tienes no te da el derecho a hablarme con tono paternalista y aleccionador. No me conoces de nada. No te tomes unas confianzas que no te he dado.

En fin, que yo me despido del foro, como ya dije en otro hilo. Seguid los 4 gatos de siempre pero luego no os quejéis de que la comunidad e Bennu esté como está, muerta. Si le dais esa bienvenida a los nuevos es normal que la peña se pire.

FreeYourMind

No.

Y te pregunto, has parado a pensar que antes de hacer preguntas tontas no será mejor filtrar preguntas mas logicas de hacer ?

No es lo mismo preguntar por cosas donde tienes dudas que preguntar cosas que puedes muy bien ver en internet lo que es, es como entrar aqui a preguntar que es windows 8.

Las ayudas se piden para cosas mas elaboradas, no para preguntas superficiales, teniendo herramientas como google, hay preguntas que no se necesitan hacer, sencillamente se buscan antes de formular la siguiente pregunta.

Eso demuestra que estas aqui en plan vago esperando a que la peña te busque las cosas por ti, encima te enseñan a solucionar tus dudas y lo que se te ocurre es decir a la gente que estan equivocados antes de darte al pequeño lujo de leerte un puñetero txt, o manual para ver que funciones nuevas o distintas tiene bennu en relacion a DIV.

Te han comentado el uso de size_x y sencillamente sueltas que eso no funciona, que modifica X y Y, referiendote al size, que como ves es una variable distinta.

O sea, aqui el chulo no soy yo por tener muchos posteos, si los tengo no será precisamente por responder a preguntas tontas como las tuyas, encima tu agradecimiento es insultar a los que te quieren ayudar.

Si te parece que la comunidad Bennu esta muerta, vuelve a la comunidad de donde viniste, que seguramente tiene mas vida que esta. Antes muerta que sencilla.

Futu-block

Jo, como está la peña ultimamente...
Estan a la que salta

DjSonyk

Estan fácil, como bajar la coordenada Y del comienzo de la región y disminuir la altura. Si lo quieres hacer que sea hacia arriba,solo disminuir la altura de la región.Si es de izquierda a derecha aumentar la coordenada X de comienzo y disminuir la anchura, y de izquierda a derecha solo disminuir la anchura de la región....

Fuynfactory

yo las barras que he usado, las he usado en la parte de los controles y solo lo he desplazado y usando los controles para tapar la parte de atrás y dejando le hueco para la barra, es chapuza, pero creo que se hace con regiones mira en el manual y en el foro tengo puesta la revista divmania casi al completo mira alli haber que tal lo hacen 

Futu-block

tambien se puede hacer con un grafico y cambiarle el ''x_size'' o ''Y_size'' ¿no?

DjSonyk

@Fuynfactory a eso me referia a redimensionar una región , es lo mas usado...
@Futublock se puede pero redimensionar el grafico, suele alterarlo y suele que dar mal....

Futu-block

siempre que no sea un cuadrado monocromo

yo suelo usar un determinado numero de imagenes simulando una barra de energia de determinados fracciones  donde el total es el valor de la energia
aparte se puede usar un rectangulo rojo detras de un marco tipo estrig faigter: