Anuncios Google

transpariencias y variables

pues eso, que hize mis scrip con scrip maker XP o algo asi y tienen el fondo verde, y cuando lo utilizo en mi juego se le ve el color verde, jo... ¿hay alguna manera que se transparentase en los scrip el color de fondo? y otra es, ¿como se le asigna a una variables unas coordenadas expecifficas de pixeles? osea quiero hacer una colision y que por estos pixeles cuadrados no puede andar el tio, pues esos pixeles cuadrados como se los asigno a una variable ¿? espero que me puedan ayudar...


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de markef

Si..

contactas conmigo con el photoshop te lo puedo hacer :P
Si ya lo tienes puedes hacerlo facilmente con la ''varita mágica'' (herramienta de la barra izquierda)

Saludos


Dicen que soy programador... Eso dicen.

Imagen de rubenelportero

gracias pero....

las colisiones se acerlas lo que quiero es asignar a una variable unas coordenadas especificas osea hacer como "una imagen invisible que sea 32 de alto y 32 de gordo, pues eso, una imagen invisible que se transparente y k no se pueda pasar por encima de ella ¿me explico? y lo de las imagenes, en ese tuto no sale, esos tutos ya me los lei... aunque leiu por ai que hera [alpha = verdadero] ¿es asi?

Imagen de recoco

sprite

Dos soluciones:

  1. bloque = Image.createEmpty(32,32) y a partir de allí creas las colisiones como te dice el tutorial. Te crea un cuadrado invisible (si no lo rellenas de color) de 32 píxeles de altura por 32 píxeles de anchura.
  2. Como no cojas la imagen que quieras y la cargues en pantalla con esto  "screen:blit(x, y, Origen_imagen, [origen_x, origen_y, ancho, alto], [alpha = verdadero])"

Image Hosted by ImageShack.us 

Imagen de ZYX3D

La plana de Vic

Si lees más abajo verás que:

  1. Lo de los sprites y la transparencia ya está arreglado, arkanist se lo ha contado por MSN...
  2. En realidad, la colisión que quiere controlar no es sobre un espacio 2D, sino de una proyección (¿seudo?)isométrica, o eso parece por las imágenes. Así, el tutorial de colisiones es absolutamente inútil para este caso.

Strength is irrelevant. Resistance is future. We wish to improve ourselves.

La fuerza es irrelevante. La resistencia es futuro. Queremos mejorarnos.

Imagen de ZYX3D

Más o menos

Primero, tienes que editar las imágenes (en el GIMP o algo así) y quitar el fondo verde, para convertirlo en "transparente" (borrar el verde) y grabar la imagen en un formato que tenga canal alfa, o sea de transparencia: PNG de 24 bits+alpha, o sea de 32 bits.

Luego, sí, es el parámetro alfa que dices, pero ese está en verdadero por defecto, así que no tienes que preocuparte.

Lo otro puede ser bastante más complicado, no sé si te he entendido bien. Si lo que quieres hacer es comprobar la transparencia de una imagen irregular (no hecha en bloques), lo que tienes que hacer es crear una tabla, y leer, uno por uno, el color de todos los píxeles de la imagen con el método pixel(), grabarlos en esa tabla, y usarlos para comparar las colisiones. La transparencia se devuelve como la propiedad .a del método colors() del color que obtendrás con el método pixel().

Eso es muy farragoso e implica un montón de proceso; mejor hacer la tabla de colisiones antes. Además, también implica un montón de comprobaciones. Mejor aplicar un movimiento por bloques y partirlo en cuadrados, en serio. 

Ahora bien, si estamos hablando de la típica "colisión cuadrada", en la que x e y deben estar dentro de unos márgenes, y lo que quieres es que no pueda pasarse por esos márgenes, la cosa es muchísimo más simple. Lo único que tienes que hacer es otra variable con el "valor futuro posible", y que si entra en los márgenes prohibidos, lo que intenta moverse no se mueve (se queda donde está), y si no entra en esos márgenes prohibidos, se le asignan las "coordenadas futuribles" como coordenadas actuales, y listo. Lo mismo que se hace para evitar que se salga de los márgenes de la pantalla.


Strength is irrelevant. Resistance is future. We wish to improve ourselves.

La fuerza es irrelevante. La resistencia es futuro. Queremos mejorarnos.

Imagen de Arkanist

Justo

Ahora le acabo de aclarar la transparencia por msn.

Pero lo del cuadrado, lo de comprobaciones por pixeles casi no se puede hacer, porqué relentizan el juego mucho.

Amí de momento no se me ocurre otra opción.

Imagen de ZYX3D

Hombre, si es por cuadrado...

...si es por cuadrado, no tienes ninguna necesidad de comprobar por píxeles, basta con comprobar los intervalos. Lo que se explica en el tuto de colisiones, sólo que hay que hacer la comprobación previa a ponerla en pantalla, y si cae dentro del margen prohibido, no se pone...


Strength is irrelevant. Resistance is future. We wish to improve ourselves.

La fuerza es irrelevante. La resistencia es futuro. Queremos mejorarnos.

Imagen de rubenelportero

haber...

lo de las transpariencias esta arreglado, ahora son las colisiones, haber si me explico haber entrar en este link y veres mi imagen

http://img186.imageshack.us/my.php?image=mapa1tl3.png

en la imagen vereis un edificio y una carabana, lo que quiero esque mi scrip no pueda pasar sobre ellos ¿me entiendes? 

 

salu2

Imagen de ZYX3D

Esto es complejo...

...porque para esto no puedes trabajar sobre la imagen de ningún modo.

Date cuenta que, por efecto de perspectiva, tu personaje debe poder pasar por detrás de la casa o por delante de la caravana, por ejemplo. Y aquí habría colisión de imágenes, pero no de "objetos", por llamarlo así.

Además, tendrás que tener en cuenta, justamente, las "capas" de la perspectiva...

Para esto, tendrás que hacer una matriz/tabla del suelo, y comprobar qué área ocupa cada cuál, y dónde.

Pero una vez hecho esto, ya verás que no es más difícil que comprobar si un número determinado está dentro de un intervalo... 


Strength is irrelevant. Resistance is future. We wish to improve ourselves.

La fuerza es irrelevante. La resistencia es futuro. Queremos mejorarnos.

Imagen de Arkanist

Solo se me ocurre

Poner las esquinas

Imagen = { x=0, y=0, x2=x+imagenanchura, y2=y+imagenaltura }

 

La transparencia de imagenes, yo ya tube mis problemas, se activa por defecto. Lo mas recomendable es que si quieres transparencias, las hagas tu y guardes la imagen como png, y si no las quieres, guardes la imagen como jpg.

Saludos

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.