Tontadas y pamplinas + Otras dudas

Started by Futu-block, August 19, 2016, 01:28:24 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Futu-block

Hay cosas elementales de las que nunca caigo o cuando lo busco no lo encuentro porque suelo llamarlo de otra forma...

Por ejemplo: ·Quiero designarle una variable a un grafico, ¿como se haría?

int = var_grafic;
begin

graph = var_grafic;
var_grafic = 125;
...

o sería al reves

var_grafic = graph;
graph = 9;

...

l1nk3rn3l

 :)


asignar todas a la vez

var_grafic = graph = 9;

o inclusive en una condicion..

if ((var_grafic = graph = 9) == 9) // es igual a 9 ?


todas son validas , porque bennu soporta la sintaxis similar a lenguaje C


Futu-block

bien gracias, ahora toca de ''copiar codigos''

en el codigo que he copiado de alugna que otra persona pone:

var_grafic = load_png("carpeta/archivo.png);

quiero que en vez de cargar un png sea un numero del fpg, ¿seria asi:?

var_grafic = graph = 9;

Futu-block

Otra (a ver si ahora hay respuesta ::) )

¿como colisiono un proceso que no tiene escrol (CTYPE = C_SCROLL) con uno que si tiene??

panreyes

Sobre la pregunta anterior, sí.

Sobre colisiones con diferentes ctype, creo que tendrás que usar un proceso análogo fuera o dentro del scroll para que colisione bien, haciendo el cambio de coordenadas de scroll a screen. No tengo tiempo para explicarlo más a fondo, sorry xD

Futu-block

#5
no problem, usaré usa función

------------0--------------------
Ahora es otra duda la que me surge, ¿como se llama eso de medir la distancia de un esprite a otro?
quiza es ''map get point'' o esto lo que hace es buscar el angulo??

radiosity

#6
En DIV creo recordar que la funcion era distance(). Creo que en Fenix era igual, supongo que seguira siendo la misma. Map_get_point() me suena mas a coger puntos concretos dentro de los mapas de durezas.

Respecto a las variables para los graficos...
Asignando un valor a graph, directamente coge el numero de grafico dentro del FPG (FPG asignado al proceso con la variable local 'file') . Si vas a usar ese tipo de grafico no te hace falta usar otra variable y puedes trabajar con graph, a no ser que necesites guardar que 'grafico' tenia antes de alguna accion concreta.

Saludos

SplinterGU

Quote from: Futublock on August 19, 2016, 09:32:38 PM
bien gracias, ahora toca de ''copiar codigos''

en el codigo que he copiado de alugna que otra persona pone:

var_grafic = load_png("carpeta/archivo.png);

quiero que en vez de cargar un png sea un numero del fpg, ¿seria asi:?

var_grafic = graph = 9;


puedes hacer

var_grafic = graph = load_png("carpeta/archivo.png);

lo que hace eso es equivalente a hacer:

graph = load_png(...)
var_grafic = graph;

o sea,

graph es igual al retorno de load_png, y luego de que graph tiene valor, var_grafic es igual al valor de graph.

piensa en que siempre las asignaciones, operaciones y comparaciones, retornan un valor; en el caso de las asignaciones es el mismo valor que se le asigno
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

radiosity

Respondo de nuevo para corregir la funcion para determinar la distancia entre procesos.
La funcion es : get_dist(id_proceso)

Futu-block

pero lo que mide es la distancia en pixeles? en ''diagonal''?

al final lo hice restando x de procesos, que me sirve, pero probaré el get_dist

Drumpi

Sí, te devuelve la distancia de la hipotenusa, en pixels y en valores positivos (ignora, o debería, los valores de resolution).

El tema de las colisiones deberías experimentarlo tu, pero creo que dos procesos colisionan si se superponen en pantalla, independientemente del c_type. Pero donde tendrás problemas es en las mediciones de distancia y en la posición, por tener valores de X e Y muy diferentes.
De todas formas, no arriesgues, y manten los procesos que interactúen dentro del mismo c_type. Es más, pregúntate si es necesario que alguno de los procesos esté dentro del scroll.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Futu-block

Si, es necesario que esté dentro del scroll...
Antes no era pero ya si...
Total, que arreglao

Futu-block

Otra: (que es nueva pa mi pero por no abrir hilos nuevos...)

·¿Como le recorto a un grafico una seccion de determinada forma para despues ponerle otro grafico detras?
vamos que te lo explico con un video:
http://www.youtube.com/watch?v=yQAx5_CiBqI
lo que quiero es mover los ojos dentro del recorte del grafico, que evidentemente no puedo hacer el grafico de la cara con los ojos recortados porque los ojos son un grafico que se añadiran despues a la hora de hacer el comic se le añadirá los ojos al gusto, uno o dos, el segundo espejado. ¿vale con region?

·¿como traspaso los valores de color rgb a #000000 hexageximal? hace poco tenia un ejemplo pero no lo encuentro...
me interesa una nomenclatura mas corta, aunque use una función para ello

Drumpi

No puedes crear regiones redondas. Puedes usar MAP_PUT_PIXEL de color cero para hacer determinadas zonas transparentes, pero si luego se va a modificar, necesitarías restaurar el gráfico al estado anterior y volver a pintar.
Para saber qué pixels pintar y no necesitarías tener aparte un gráfico llamado "máscara", del mismo tamaño que el gráfico qe quieres modificar. Si el pixel que coincide en coordenadas en la máscara no es transparente, deberías pintar un pixel transparente en la imágen original (o puedes hacerlo al revés, es como el canal ALPHA de los PNGs, pero en lugar de estar en el mismo gráfico, está aparte, y tienes que hacer tú el trabajo de pintar).

La otra forma sería que los ojos estuvieran en la parte de detrás, y les pintases unas "ventanas" transparentes a la cabeza usando el mismo método de antes.

Ten en cuenta que Bennu, aunque es un lenguaje de alto nivel, las cosas que no sabe hacer tienes que programarlas tu a bajo nivel. Con otros lenguajes o motores gráficos te lo hace sólo, pero entonces pierde la gracia :D :D ^^U
Tengo que dejar de escribir de noche, nunca tengo tiempo para dar una respuesta más completa con dibujitos y todo eso :P
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

Futu-block

cuentarme la necesidad de cambiar el punto de control de los graficos...

¿mas que ná para usar menos calculos? no es lo mismo que en la coordenada dada sea el centro del grafico que empezar el grafico en la coordenada dada, creo

¿como pongo un punto de control a una imagen cargada??