Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mensajes - PedroRenaut

1
Hola a to2...
Quisiera preguntar, por si alguien sabe algo al respecto, si existe la posibilidad de enviar invitaciones a todos los amigos de Facebook sin que se le pregunte al usuario a cuales enviarsela ... sin que se muestre la lista de amigos???

Gracias.
2
En primer lugar doy por echo que tienes un obj_controlador y ese será el que cree nuevas instancias de, supongamos obj_enemigo ... pues bien ... en el evento que desees del obj_controlador pones un script de este tipo:
instance_create(100,100,obj_enemigo);
Esto te creará una instancia nueva del obj_enemigo cuando no estaba inicialmente en la room ... salvo cuando se crea en tiempo de ejecucion ;)
Espero haberte ayudado.
Salu2
3
Preguntas y respuestas / Re:Como Tapar?????
Octubre 18, 2014, 11:15:54 AM
Gracias a TheSandBoxMKG y a Killer por vuestras soluciones, creo que esa es la solución más optima ... voy a ver el ejemplo que has enviado y a hacer unas cuantas pruebas.

De nuevo... muchas gracias a to2.

Salu2
4
Preguntas y respuestas / Re:Como Tapar?????
Octubre 17, 2014, 11:00:03 PM
A ver ... no digo como se debe comportar GML sino mas bien intento entender como se "deben" hacer las cosas en él.

La duda es ... Como hacer un objeto que tape por ejemplo un boton y que ese boton no reaccione al click dado que está debajo del elemento que lo tapa... de manera analoga a la realidad.

Supongamos que quiero hacer un script que al llamarlo me sobre impresione un objeto que me atenue la pantalla y todos los elementos que se encuentran en ella. Que al hacerle click desaparezca. Y todo ello sin tener que decirle a los demás que quedan por debajo nada de nada.

Según lo que explicó Penumbra, esto no funciona asi en GML ... de forma que solo se me ocurre la manera "rebuscada" que comenté con anterioridad (en un post anterior) de hacer un snapshot del room y ponerlo de fondo en un nuevo room para simular lo que intento realizar.

Que en su dia realicé en C++ con Allegro y en VBasic ... pero esto no es importante.

Lo que realmente me ha dejado un poco descolocado es el echo de que la profundidad de un objeto o incluso su alfa no provoque una "opacidad" real en lo que respecta a discriminar quien recibe la accion.

Dicho de otro modo ... y si lo he entendido bien ... cuando por ejemplo se hace click con el izquierdo del raton en las coordenadas 100,100 ... todos los objetos que estén en esas coordenadas con evento click izquierdo detectaran dicha pulsacion aunque otros objetos estén "tapándolos" ... es decir ... ¿No ha forma de poner "barreras" entre objetos?

Perdona Wadk ... intentaré explicarlo mejor, aunque es complicado, por lo que acabo de mencionar ... de modo que parece que siempre habrá que discriminar en estos casos con las colisiones.

No deja de chocarme amigos.

Gracias a to2
5
Preguntas y respuestas / Re:Como Tapar?????
Octubre 17, 2014, 11:49:41 AM
Es más sencillo si abres el ejemplo y lo vés en acción. Si no estamos en dos contextos distintos de conversacion. ;D
6
Preguntas y respuestas / Re:Como Tapar?????
Octubre 17, 2014, 09:58:55 AM
En primer lugar daros las gracias a todos por las aportaciones que estais enviando.

Quiero primeramente discrepar de lo que ha dicho Penumbra...
CitarEsto, si se piensa bien, es la manera correcta en que deben funcionar los eventos, y si uno de ellos no se ejecutara (a pesar de que el objeto tuviera un evento totalmente válido) sería un fallo bastante incongruente por parte de GM
... No estoy deacuerdo ... en ningun lenguaje visual (VBasic, Gambas o C++) al pulsar sobre un objeto detonas los que haya debajo ... de modo que el que esté en primer plano es el único que recibiría dicha pulsación. Imagina el boton de disparo de misiles... está debajo de una tapa de plastico transparente ... si esta cerrada ¿que pulsas fisicamente? ... ¿El boton percibe que pulsas la tapa? ... No.
Lo incongruente es lo contrario (pienso yo) pero si es asi en GameMaker ... pues así habrá que aprenderlo.  ;)

Con respecto a la solucion de Ocarina, está francamente muy bien, porque hace un control de pulsación que, mediante condicionamiento comparativo de profundidad permite que solo se ejecute el mensaje del objeto apropiado.

Lamentablemente no cubre totalmente el problema.
Supongamos que estoy desarrollando un script/funcion/clase que al insertarlo en un proyecto, al llamarlo me muestre un anuncio solapando la propia aplicacion que lo llamó ... De modo que el concepto es tapar lo que se vé y poner lo que desees.

Si "Tapar" en los terminos que estoy necesitando no es posible del mismo modo que en otros lenguajes OOP ... entonces significaria que hay que modificar y/o condicionar todos los objetos que vayan a quedar debajo (según la solucion de Ocarina)... y eso no sería nada práctico desde un punto de vista programatico y mucho menos en el concepto de Programación Orientada a Servicios.

Creo que si no se puede hacer tal y como expongo, la única solucion práctica sería descartar o sustituir el concepto "Tapar" por ir a una room propia, quizas con un screenshot de la pantalla anterior para usarla de background de dicha room ... de este modo creo que se podría simular lo que digo sin afectar a la app en la que uses el script/funcion/clase. (Aunque surjen otros inconvenientes)

Si, es una solucion pero no es nada óptima o depurada ... de modo que seguire dandole vueltas.

Gracias de nuevo a to2
7
Por favor, puedes explicar como lo hiciste, para que otros con el mismo problema puedan solucionarlo? ;)
8
Preguntas y respuestas / Como Tapar?????
Octubre 16, 2014, 04:59:54 PM
Hola amigos...
Hasta ahora siempre creí que las instancias de objetos solapaban a otros con un DEPTH superior ... pero en lo que respecta a la deteccion de eventos (en este caso el click del mouse), acabo de descubrir que no funciona como yo pensaba... me explico.

En el archivo adjunto teneis el ejemplo que me ha generado dos grandes dudas, que espero, alguien me pueda resolver.

Introduccion:
El ejemplo (Dudas.gmx) consta de 8 objetos.
Cada boton A,B,1,2,3 y wall mostrará al pulsarlo un mensaje de texto diciendo quien es.
Open quita la instancia de obj_wall y Close pone la instancia de obj_wall tapando los botones 1,2 y 3.
Sabiendo que el DEPTH de los objetos es el siguiente:

0       obj_wall y obj_A
100   todos los demás.

1 - ¿Porque si pulsamos en la interseccion de A con B nos muestra los dos mensajes?... ¿Como consigo que solo se muestre el mensaje del objeto de menor depth sin que reaccione el que hay debajo?
*Lógicamente sin tener que modificar lo que hubiese en un depth superior (por debajo).
2 - Del mismo modo, cuando pulsas close y obj_wall tapa los tres botones ocurre lo mismo ... si pulsas una zona que coincida con un boton, tu pulsacion es recibida tanto por el obj_wall como por el propio boton que está debajo... ¿Porque? ... ¿Como tapar de forma efectiva?

En espera de vuestra aportaciones ... recibid un cordial saludo.
9
Preguntas y respuestas / Como hacer pausa en un script
Agosto 06, 2014, 11:07:53 AM
Hola amigos...
Mi problema es el siguiente... echad un ojo a este trozo de mi código:
sound_play(snd_perder);
//AQUI NECESITO HACER UNA PAUSA DE 2 SEGUNDOS
show_message('HAS PERDIDO');


De modo que no encuentro la forma de utilizar alarms (dado que sleep no existe) directamente en un script.
El objetivo desde el punto de vista de programación es básico ... hacer una simple pausa en la ejecución de mi script en el punto en el que puse el comentario.

¿Alguien puede ayudarme?

Muchas gracias.