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 - penumbra

1426
para  moverse a la derecha
x += 30

izquierda
x -= 30

eso se pone en los eventos de teclado adecuados, por ejemplo, tecla derecha e izquierda
1427
Cita de: carry en Julio 08, 2014, 04:38:09 PM
AHORA LO QUE NECESITO ES;
1) COMO CONFIGURO CON CODIGO EL MODO TEST AD PARA QUE NO ME BANEEN O SI HAY ALGUNA FORMA COMO EN LA              VERSION 1.2 QUE SE MARCABA LA CASILLA EN GLOBAL SETTINGS.

2)QUE ES Y DONDE CONSIGO EL ID DIVICE.

¿Por qué no leer la documentación oficial? A mi se me hace el lugar más lógico para empezar, y esas dos dudas precísamente se resuelven consultándola  ;).

CitarFor example, you can use test ads when using the AdMob extension package by adding your device ID to the source files in the correct place (the device ID is shown in the debug output when testing). This would be done by right-clicking on the extension package in GameMaker: Studio and selecting "Open In Explorer", then browsing to the source files. You would then change the admob.mm file on iOS and the GoogleMobileAdsExt.java file for Android. In both cases there are lines commented out that refer to test ads which should be un-commented and the Device ID that you got from the debug output added in.

Por ejemplo, puedes hacer uso del modo de prueba del paquete AdMmob agregando el ID de tu dispositivo a los archivos fuente en el lugar correcto (el ID del dispositivo se muestra en la salida del depurador (debug). Esto se logra haciendo click derecho en el paquete de extensión en GM:S y seleccionando "Abrir en el explorador", después hay que navegar hasta los archivos fuente. Habría que editar el archivo admob.mm en iOS y el archivo GoogleMobileAdsExt.java en Android. En ambos casos hay líneas con comentarios refiriéndose al modo de prueba, las cuales deberían "descomentarse" y agregarles el ID del dispositivo que se obtuvo de la salida del depurador.

1428
Esto pasa porque el objeto jugador es persistente, y al cambiar de habitación mantiene los valores de sus variables internas. Quizás esto funcione (o quizás no  :-[):  utilizar una variable, por ejemplo hab_actual que en CREATE se inicie en cero. Esta variable indica cuál es la habitación más reciente. En STEP hago:

if hab_actual  != room
    hab_actual = room                  //actualizar a la habitación más reciente

evento [ROOM START]
if hab_actual == room_640
    x = room_width

Suponiendo que se pase de la segunda a la primra habitación, el evento room start se ejcuta antes que el primer step en la nueva habitación, la variable hab_actual todavía contiene el valor de la habitación de 640, pero ese valor es distinto al de la habitación de 1024 a la que se acaba de entrar, por lo que movemos al jugador al extremo derecho de la habitación.

Obviamente esto requerirá que vayas agregando más condiciones al evento según el número de habitaciones, pero claro que esto se pude mejorar para hacerlo más automático, aunque requiere pensar un poquito más
1429
No afecta porque no es una pausa ni estoy modificando la velocidad de la habitación. Es sólo un valor de lectura para comenzar una cuenta regresiva a partir del momento en que la tecla se presiona.
1430
Cita de: DHX en Julio 08, 2014, 01:46:34 AM
Que hago mal?  :-[
Gracias y un saludo.

Ehm... lo que haces no es exactamente lo adecuado para lograr la jugabilidad que quieres. Acabo de hacer en una prueba, te dejo el código. En mi ejemplo, sólo utilizo dos posiciones por simplicidad, pero se puede aumentar a más de forma fácil





En el evento de alarma:
image_index = 0

En esencia, cuando se presiona una tecla, se aumenta en +1 el índice de subimagen. Cuando se ha alcanzado la subimagen más alta y se le vuelva a sumar +1 al índice, GM lo regresa automáticamente a 0, por lo que no hay que preocuparse de nada.

La alarma la uso para que la imagen del "martillazo" dure 0.5 segundos y luego cambie a la imagen de "martillo levantado". En realidad el código se puede pulir más, usar un switch para  detectar las teclas quedaría más compacto, pero la idea ahí está.


1431
¿qué código usas? ¿qué has intentado? ¿dónde se produce el error? Hay una simple y sencilla variable que se usa para detener la animación de un sprite.

http://www.dazlog.com/manual_GM/Imagenes_y_sprites.htm
1432
Si vas a usar físicas tienes que tener cierto nivel de experiencia con el GML. Hay que ser sincero con uno mismo y evaluar qué tipo de juego uno es capaz o no de hacer con el nivel actual de conocimientos. Esto no es para desanimarse, aprender es un proceso que se hace progresivamente y que requiere tiempo. Primero lo primero.
1433
Yo me refería a algo así:
if (mouse_x>view_xview[0]+32 and mouse_x<view_xview[0]+32+32 and mouse_y>view_yview[0]+448 and mouse_y<view_yview[0]+448+32) and mouse_check_button(mb_left) {
     show_message('FFJASDfasdjks')
//if global.oro >= 10 {
//cursor_sprite = spr_escaleras
//alarma = 1
//alarm[0] = room_speed * 1
}


sólo para ver si la condición se cumple, por eso puse las demás líneas como comentarios, si se muestra el mensaje, entonces la condición si funciona, pero aun quedaría hacer dentro de ese if la alarma se inicie sólo una vez , de lo contrario jamás llegaría a cero, y el evento de alarma nunca se ejecutaría.
1434
Este código:
image_index=0;
image_speed=0;

es común en los cuatro bloques, por lo que sería mejor que lo sacaras y lo pusieras en create, te quedaría un código más corto y legible.

En los cuatro if, no hay ningún código que haga que el sprite cambie de subimagen, sino que siempre se le asigna el mismo número, por lo que  nunca funcionará como quieres. Si el jugador se queda golpeando muchas veces se debe a que estás usando eventos keyboard_check: mientras se presione la tecla, la condición se cumple, una pulsación normal de tecla no toma 1 solo paso, generalmente ocurre durante muchos pasos. En su lugar deberías usar keyboard_check_pressed que sólo es verdadera cuando la tecla pasa de inactiva a pulsada (un solo paso). También tienes que tener en un código que revise cuál fue la última tecla pulsada y comparar si al momento se presiona la misma tecla o una distina, con la finalidad de saber si se debe mostrar la subimagen  0 o la 1, para esto último se puede usar la variable posicion_soldad
1435
El show_message deberías meterlo dentro del primer if, para ver si la condición se cumple, si la condición nunca se cumple, la alarma nunca va a iniciar

PERO, como  la condición está en STEP, si se cumple recurrentemente, la alarma tampoco va a avanzar, porque en cada paso va a reajustarse al mismo valor de room_speed * 1.

Resumiendo: cuando se usan alarmas en STEP, la condición debe hacerse de tal manera que sólo sea cierta durante un solo paso, y a los siguientes ser falsa, de lo contrario la alarma nunca "correrá"
1436
Yo intentaría desactivar TODOS los eventos DRAW de TODOS los objetos, y de ahí ir activando uno por uno, empezando por los menos "sospechosos" y dejando para el ultimo los más sospechosos, o al revés, los más sospechosos primero .
1437
Propuestas y soporte / Re:juego de CMG
Julio 06, 2014, 08:30:56 PM
Pues nunca se organizaron EN SERIO, cada uno quería hacer un juego a su manera, y se pusieron defender su idea para que prevaleciera sobre la de los otros, no se asignaron roles, y todo quedó en una lluvia de ideas, como otras veces vi. Más que hacer un tema fijo en el foro o que se llene de comentarios, la verdadera organización y puesta en marcha del proyecto se debería dar por fuera del foro.
1438
Pues algo se te está pasando por alto.Sólo es cuestión de arrancar la alarma en CREATE, y luego dentro del evento de alarma se vuelve a arrancar y eso es todo. Este proceso se debe hacer en un objeto controlador, no en los objetos creados. Sube tu ejemplo si no logras resolverlo
1439
qué raro, lo he abierto tanto con la versión 1.3 como con la early access más reciente y abre perfecto. quizás tu gms sea una versión algo vieja
1440
Cita de: mamaffia en Julio 05, 2014, 11:06:33 PM
espero haber sido claro, el efecto exacto es el del conocido juego shoot the birds, algo así sería perfecto, en algo le estoy errando.

NO has calculado ninguna dirección. ¿Cuál es el ángulo del puntero respecto del objeto de disparo? Sin conocer ese ángulo, no se puede "voltear" la flecha. Pista: point_direction  ;)

EDIT: Dejo un ejemplo, ojalá encuentres la solución sin verlo.