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.

Temas - wilmerroa

1
Saludos a todos
Tengo esta duda, en una sala tengo varias instancias de objetos que funcionan como niveles que al hacer click, se accede a un nivel diferente y debajo de esos objetos tengo un path abierto con 46 puntos como si fuera un camino, así como "Candy Crush", esto es solo para algo estético, con esto quiero saber si puedo lograr dibujar el path desde el 1er punto hasta el ultimo, cuando yo quiera, no se si me explico.  (y solo debe estar el primer punto dibujado al principio) Así:


Tengo aquí un código , lo mas cercano a lo que necesito ,que encontre  , ya lo puse desde el Evento Create , pero no lo eh podido hacer funcionar, me sale este error:
[gml]trying to index a variable which is not an array
at gml_Object_obj_mypath_CreateEvent_1 (line 3) - time_array [i - 1, 0] = time_array [i, 0];[/gml]

El código dice que es para un Path con 30 puntos y que la mejor manera sería mantener una matriz 2D con 30 ranuras con dos subtramas cada una donde la posición se almacena cada pocos pasos. Y despues, cuando desee retroceder en el tiempo, agregue puntos al camino sobre la marcha.

[gml]for (var i = 1; i <= 30; i ++)
{
     time_array [i - 1, 0] = time_array [i, 0];
     time_array [i - 1, 1] = time_array [i, 1];
}
time_array [30, 0] = x;
time_array [30, 1] = y;[/gml]

[gml]// path_clear_points (path0);
for (var c = 30; c> = 0; c--)
{
     path_add_point (path0, time_array [c, 0], time_array [c, 1], 100); // puedes usar path_change_point ()
}[/gml]
2
Saludos a Todos:

Alguien me podria decir si se puede reducir el tamaño del Yoyo Games Runner, que sale cuando se corre el juego, es que en el GMS2 sale en el tamaño original que lo pongo al room 1280 x 720, en cambio en GMS 1.4  se escala y eso incomoda un poco que ocupe casi toda mi pantalla, eh estado buscando en los archivos .Ini pero no encuentro nada,dejo una captura.
captura" border="0
<a target='_blank' href='https://es.imgbb.com/'>imagen de internet</a>
3
Saludos a Todos en la Comunidad:

La consulta es esta, ya tengo cierto conocimiento en GMS1 , y han cambiado varias funciones en GMS2 , eso lo sabemos, en el caso simple de background_index [indice] = background, eh tenido que investigar en la Comunidad en ingles, pero no me funciona esto para poner mi background, es el ejemplo que viene en el manual, ya lo coloque en el evento de creacion del mismo room, en un objeto con el evento create, ya tambien cree un sprite con el fondo y tambien esta en la seccion tilesets pero no me resulta ¿ Que esta mal ? o ¿ Que falta ?

var capa_id = layer_get_id ("Background_6");
var back_id = layer_background_get_id (capa_id);
layer_background_sprite (back_id, back_stage1);
4
Saludos a Todos en la Comunidad:

Una consultita, estoy usando una variable creada, para escoger aleatoriamente unos backgrounds para una misma room. Así : 
Evento Create:
escenarios = choose(randomize(), escenario1, escenario2 , escenario3, etc.)

al utilizar choose y randomize, esta el problema de que en ocasiones sale un valor desconocido ejemplo : "12665545633" ,que esta vacío ,osea, no sale ninguno de los backgrounds.
¿ Que puedo hacer para que no me siga pasando eso ?

5
Saludos a Todos en la Comunidad :

versus" border="0
Necesito ayuda en esto, miren normalmente en el modo Arcade de los juegos de pelea como street fighter, cada vez que iniciabas desde el primer combate hasta el penultimo( ya que el último siempre es lugar para el jefe o más poderoso del juego ), habia una pantalla de versus para mostrar contra quien ibas y la cara del personaje que salia era aleatoria, cada vez que iniciaba el modo Arcade. Yo quiero hacer algo igual pero, cada vez que termina un combate se debe volver a ese room, pienso yo, nose que me diran, que para hacerlo necesitaria crear un archivo INI y utilizar Ds_List, como para almacenar en dos listas distintas las caras que ya han salido vs las caras que no han salido y que pueden ser seleccionadas por el codigo, yo estoy utilizando una sola "room" para esa pantalla. Coloco un objeto con el sprite de las caras de los personajes en un solo sprite y hago esto:   

Objeto de las caras
Evento Create:
image_speed = 0;
image_index = choose(1,2,3,4,5,6,7,8,9,10) // subimagenes de la 1 hacia delante , la # 0 es una subimagen en blanco
image_xscale = -1 // pero asi obviamente se van a repetir al volver al room Versus
   

No se si me estoy complicando
Y estos dos conjuntos de codigos que colo aqui debajo es algo que pienso podria utilizar como referencia es para guardar en un array , funciona para cada vez que el enemigo pierde se desbloque la siguiente pelea, talvez cambiando algunas cosas podria funcionar para este tema que eh posteado, pero este solo funciona para guardar un solo valor

Evento Create
Objeto en Blanco:
//Este array almacenará el objeto correspondiente a cada evento
capitulo[0]  = obj_event1;
capitulo[1]  = obj_event2;
capitulo[2]  = obj_event3;
capitulo[3]  = obj_event4;
capitulo[4]  = obj_event5;
capitulo[5]  = obj_event6;
capitulo[6]  = obj_event7;
capitulo[7]  = obj_event8;
capitulo[8]  = obj_event9;
capitulo[9]  = obj_event10;
capitulo[10] = obj_event11;

//Así hasta el evento 11

ini_open("capitulos.ini");
ultimo = ini_read_real("capitulos", "ultimo", 1); //Suponiendo que al inicio debe estar al menos el primer capítulo desbloqueado.
ini_close();

for(var i = ultimo; i < 11; i++)
{
    with(capitulo[i])
    {
        instance_destroy();
    }
}


y para el enemigo cuando pierde coloco esto
if (PSEV < 1)   /// variable de vida
{  ini_open("capitulos.ini");
   ini_write_real("capitulos", "ultimo", 2);
   ini_close();
   exit;
}
6
Saludos a Todos en la Comunidad:

Miren necesito ayuda con esto, trabajo en un juego tipo runner, y en los juegos runner hay objetos que se van generando dentro de la room, dando la impresión de que en mi caso mi jugador se está moviendo pero solo se mueven las demas instancias, el problema es que el jugador se mueve en 3 carriles sin moverse de su posición en x;  se generan instancias en cada carril; el alto de mi jugador ocupa los 3 carriles y pues colisiona con todo lo que viene de frente y no puedo hacer que solo colisione con las instancias que estan en su misma posición Y , ya que se generan las mismas instancias para los 3 carriles, utilizando objetos. Graficamente es asi:
Juego-runner-01" border="0
Así lo programo:
Script Generador:
{
    alarm[0] = 93;
    i = choose (c_1,c_2,c_3,c_4) // Obstáculos
    j = choose (cb_1,cb_2,cb_3,cb_4) // Monedas y obstáculos
    a = choose (t_1,t_2,t_3,t_4,t_5)  /// Diamantes
    h = choose(692,618,525); /// posicion y de los objetos que se generan
       
        script_execute(choose(i,i,i,a,a),irandom(1));
}


Ejemplo de 1 script que genera la posición de los obstáculos
nombre : c_1
instance_create(room_width+(8*32) , 692 , obj_box); // obstáculo
instance_create(room_width+(8*32) , 618 , obj_box);
instance_create(room_width+(12*32) , 525 , obj_coin); // moneda
instance_create(room_width+(20*32) , 525 , obj_box);
instance_create(room_width+(20*32) , 618 , obj_coin);


No utilizo el evento de colisión, solo hago esto que vi en un video para cuando colisiona el Objeto obstáculo con el Jugador,
y es casi igual con las monedas , diamantes etc.
Evento Step:
if place_meeting(x,y,obj_player)

{
    psvida -=10; // se resta la vida del jugador
}


Y creo un objeto en blanco para llamar al scrip Generador Principal
No se si con esto es suficiente para explicar mi problema !! agradecere la ayuda.
7
Saludos a Todos en la Comunidad

Miren necesito ayuda en esto, tengo un menu principal con varios botones , lo típico , como ( Jugar, Opciones, Salir, Créditos etc ), lo que necesito es tener una variable para declarar que al hacer dos clicks encima de cada uno, vaya al room destinado ( Eso es fácil ) lo dificil para mi es esto, que si ya eh hecho click en cualquiera de los otros botones el valor de aquel botón en su variable de clicks se reinicie a 0, para que solo ejecute la función del botón que se está presionando y vaya al room. Esta función esta en el juego de Metal Slug 3 , aquí un gif:
https://media.giphy.com/media/2sixLb9xZrxU6CUasj/giphy.gif
Estaba intentando con este código, que obviamente no funciona, para asignarle a cada boton una variable con un numero distinto, yo lo hago con objetos separados, pero me gustaria simplificarlo para que de un solo objeto se generaran todos estos botones.
Evento Create


global.seleccion = 1;

globalvar click1 ;
click1 = 0


Evento Left Button:

if global.seleccion != 2 {
       click2 = 0
     
    }
else {
click1++
if (click1 >= 2) {
      room_goto(menu_principal)     
      }  }
     

8
Saludos Cordiales:

Necesito ayuda con esto, miren, tengo 3 objetos (botones ) iguales en la misma posición en X, sin embargo su posiciones en Y son distintas, lo que quiero es que cada uno establezca una posición diferente uno del otro, con tal de que al hacer click encima de uno , mi personaje vaya a su coordenada en Y, y que la posicion en X de mi personaje se mantenga. aqui dejo un boceto de como se ve el juego mas o menos.

Como ven son 3 coordenadas para 3 carriles


Codigo del Personaje
Create

enum mouse {
    none
}
xx =mouse.none;
yy =mouse.none;
spd = 5;


STEP
if (xx != mouse.none && yy != mouse.none){
move_towards_point(xx,yy,spd);
}
else{
speed = 0
}

if (distance_to_point(xx,yy) < spd ) {
xx = mouse.none;
yy = mouse.none;

}

if yy = 315{     /// Como ven solo eh podido establecer una sola
speed = 5;      /// posicion en Y de uno de los botones , no se como
}                    /// agregar las 3 coordenadas para que el personaje
else {             /// solo se mueva si es cualquiera de esas 3, sino no.
speed = 0;
}



Codigo de los 3 objetos ( Botones ) hacia el Player: solo cambia la coordenada en Y de cada uno
EVENTO MOUSE LEFT BUTTON
xx = obj_player.x;
yy = 315 ;
9
Saludos a Todos en la Comunidad:

Disculpen la consulta que tengo que hacer es , si alguien con todos los cambios que ha hecho este año, la Google Play Console, ha podido integrar sin dificultad el permiso de Las Compras en App en GMS 1.4 ?, ya que yo con esta configuracion en mi GMS llevo dias queriendo integrar este permiso y no eh podido, en la seccion de "Productos Integrados en la Aplicacion" subo mi app y me sale solo este mensaje " Tu app aún no posee productos integrados en la aplicación. Para agregar productos integrados en la aplicación, tienes que agregar el permiso de FACTURACIÓN a tu APK" 

Tengo lo siguiente:

-Instalada las extensiones de : GooglePlayServices, Google Play Services IAP , Google Play Licensing
-APK subida a Google Play y exportada con clave de Licencia Pública ( en la pestaña In app Purchases del Global Game Settings )
-Build Tools : 26
-Support Library: 26.0.0-alpha1
-Target SDK: 26
-Min SDK : 14
-Compile SDK: 26
-Android Studio: 3.2
-Descargado el Android Support Repository y Google Repository
-Game Maker Studio 1.4.1760
-NDK : r16     JDK: jdk1.8.0_181   

¿ Me puede alguien con mas conocimiento decir que me falta o que tengo mal ? me pareciera que la extensión de Google Play Services IAP no está habilita a pesar de que la tengo instalada, eh buscado informacion pero nada. ¡ no se que hacer !
10
Saludos a Todos en la Comunidad :
11
Saludos a Todos en la Comunidad:

Porfavor necesito su ayuda, mi problema es que tengo un juego para android y le puse unos botones tactiles y un stick analogico para mover al personaje de izquierda a derecha, lo que pasa es que si presiono fuera del objeto stick mi personaje se va a mover porque no le eh colocado un limite para decir que solo funcione si presiono dentro del mismo stick y si presiono afuera pues que no se mueva ni el stick y por ende tampoco mi personaje. Aqui tengo el codigo que uso.

*El objeto del Stick Grande se llama: obj_analog_stick  ( El cual quiero que sea el limite )
*El sprite del Stick pequeño se llama: spr_analog_stick
*Añado una imagen y adjunto un editable para mostrarles


Script1:  scr_get_analog_stick_axis


var stick = argument0; // should be ID of obj_analog_stick instance
var axis = argument1; // should be 1 of 2 constants: AXIS_X or AXIS_Y

var value = 0;
// yields 0 - 360
var dir = point_direction(stick.guiX,stick.guiY,stick.stickX,stick.stickY);
// yields decimal from 0 - 1
var mag = point_distance(stick.guiX,stick.guiY,stick.stickX,stick.stickY)/(stick.radius*stick.image_xscale);

if (axis == axis.X) {
    value = lengthdir_x(mag,dir);
}
else {
    value = lengthdir_y(mag,dir);
}

return value;



Script2: scr_get_tilt_speed

var speed_factor = argument1;
var dead_zone = argument2;
var xspeed = device_get_tilt_y() * argument0 * speed_factor;
// speed factor is used so that full speed can be achieved without titling phone at 90 degree angle

if (abs(xspeed) > dead_zone*argument0*speed_factor) {
    if (display_get_orientation() == display_landscape) {
        xspeed *= -1; //flip it 
    }
    else if (display_get_orientation() == display_landscape_flipped) {
        xspeed *= 1; //for consistency's sake; remove later?
    }
}

return xspeed;


Para el objeto del Stick

Create
enum axis {
    X,
    Y
};
-------------------------------------------------------------
/// initialize stick

boundSprite = sprite_index; // debería ser spr_analog_boundary
stickSprite = spr_analog_stick;

radius = sprite_get_width(boundSprite)/2;
alpha = 1;
snapRate = 24; // speed at which stick snapes back to origin

// como una nota, image_xscale y image_yscale deberían usarse para hacer referencia a la escala.

// el objeto stick no se moverá con la vista, solo sprite lo hará.
guiX = x * display_get_gui_width()/view_wview; // multiplicar por las cuentas de proporción de interfaz de usuario para cualquier problema de escala de vista
guiY = y * display_get_gui_height()/view_hview;

// usar las coordenadas del mouse GUI es más fácil que compensar la habitación
guiMouseX = device_mouse_x_to_gui(0);
guiMouseY = device_mouse_y_to_gui(0);

stickX = guiX;
stickY = guiY;

// boolean
isPressed = false;




Evento Step:
/// actualizar stick analógico

if (device_mouse_check_button(0,mb_left)) {
    isPressed = true;
   
    // actualizar coords de mouse GUI solo si se presiona el mouse
    guiMouseX = device_mouse_x_to_gui(0);
    guiMouseY = device_mouse_y_to_gui(0);
}
else {
    isPressed = false;
}

// update stick coords
if (isPressed) {
    if (point_distance(guiX,guiY,guiMouseX,guiMouseY) <= radius*image_xscale) {
        stickX = guiMouseX;
        stickY = guiMouseY;
    }
    else { // constricción se adhieren a los límites
        var dir = point_direction(guiX,guiY,guiMouseX,guiMouseY);
        stickX = guiX + lengthdir_x(radius*image_xscale,dir);
        stickY = guiY + lengthdir_y(radius*image_xscale,dir);
    }
}
else {
    // snap back to origin
    if (point_distance(stickX,stickY,guiX,guiY) >= snapRate*image_xscale) {
        var dir = point_direction(stickX,stickY,guiX,guiY);
        stickX += lengthdir_x(snapRate*image_xscale,dir);
        stickY += lengthdir_y(snapRate*image_xscale,dir);
    }
    else { // prevents overshooting
        stickX = guiX;
        stickY = guiY;
    }       
}
   



Draw GUI
draw_sprite_ext(boundSprite,0,guiX,guiY,image_xscale,image_yscale,0,c_white,alpha);

// stick
draw_sprite_ext(stickSprite,0,stickX,stickY,image_xscale,image_yscale,0,c_white,alpha);


// debug

var axisx = scr_get_analog_stick_axis(self,axis.X);
var axisy = scr_get_analog_stick_axis(self,axis.Y);

draw_text(32,32,"x: "+string(axisx)+"#y: "+string(axisy));
12
Hola Saludos a Todos en la Comunidad :

Mi duda es si practicamente ¿El Java Max Heap es la cantidad de memoria ram establecida al compilar un juego de android o si influye en algo?,segun la documentacion que encuentro en internet de Gradle me da a entender eso, quisiera saber si alguien me lo puede confirmar, yo uso GMS 1.4 y el valor del JMH es = 892 mb por defecto, por ello encontre el siguiente codigo para configurar manualmente el tamaño que yo quiero ponerle, porque tengo un juego que pesa unos 65mb y peinso que no deberia de necesitar mas de 600 mb en memoria ram.


org.gradle.parallel = true
org.gradle.daemon = true
org.gradle.jvmargs = -Xmx600M /// 600mb
org.gradle.configureondemand = true
13
Saludos a Todos en la Comunidad:

Necesito ayuda para resolver este error que sale en mi juego de pelea de "Android",( cuando lo pruebo en la Pc no hay ningun problema) . Miren cuando mi enemigo colisiona con una "Máscara"( objeto ) que utiliza mi personaje para dar golpes sale este error:



Estos son los códigos que uso:


Evento Create

global.n_nivel1=1; /// esta variable global se la asigno al enemigo para decir que el valor 1 corresponde a la primera pelea
image_xscale = -1; /// ya saben que con esto volteo horizontalmente al enemigo



Evento de Colisión

hspeed = +9; /// esto para que el enemigo retroceda cuando lo golpeo
if sprite_index = spr_vareknockout  /// este es el sprite de cuando el enemigo pierde
{
hspeed = 0;
}
if image_speed = 0 {
hspeed = 0;
}
--------------------------------------------------------------

/// Yo diria que el problema se encuentra en estas líneas de código, pero por mas vueltas que le eh dado al asunto aun sigue saliendo el error:
PSEV -= 0.89; /// PSEV es la variable de la vida que resta con cada colision que recibe el enemigo
if (evil_barra_v.PSEV <= 0) /// evil_barra.PSEV ( es el objeto de la vida del enemigo)
{
     if global.ultimo <= global.n_nivel1   /// la variable [b]global.ultimo[/b] ( guarda la siguiente pelea, en total son 11, es decir que
                                                         /// si estoy en la pelea 1 y la gano, se desbloqueara la numero 2, y esta variable guardara el numero 2
                                                         /// y la variable global.n_nivel1 fue la que asignamos en el evento create.
        {
         ini_open("capitulos.ini");            //// y entonces si global.ultimo es menor que global.n_nivel1 se guaredara ese ultimo numero en el
         ini_write_real("capitulos", "ultimo", 2);  /// archivo .INI
         ini_close();
         exit;
        }
   
}     




14
Juegos completos / Boxing Panama "Android"
Mayo 02, 2017, 07:28:31 AM


Boxing Panama


Deportes


GM: Studio2

Boxing Panama, es un videojuego que eh renovado en GMS2, ya lo eh reposteado 3 veces en la Comunidad para darle seguimiento. Es un videojuego de boxeo con reglas atípicas , donde deberás enfrentarte a 11 boxeadores , siendo \"King\" el Boss de la trama, un ser de otro planeta que vuelve a la Tierra con malvadas intenciones de dominar un grupo selecto de peleadores fuertes y practicamente de apoderarse de un pequeño país llamado \"Panamá\". ¿ Quién será el héroe de esta historia ?

El juego en sí lo mantengo porque eh querido verificar el rendimiento y potencia que puede tener el engine. Yo utilizo vectores, las animaciones ahora las hago con Spine 2D, me gusta la animación esqueletica. Así que ojala puedan ayudar haciendo un Test de rendimiento con sus celulares o tablets sea cual sea la capacidad que tenga, para saber a cuantos Fps les corre, dejo una captura del boton que puse en el menu principal del juego para ver los Fps. El juego tiene algunos problemas debido a que lo tenia en GMS1.4 y me corria a mas fps que ahora en GMS2 que me cambia varias cosas, ello porque lo necesito exportar para x86_64 bits.
7" border="0
1" border="0
2" border="0
3" border="0
4" border="0
5" border="0

https://play.google.com/store/apps/details?id=com.morenoslandwr.Boxing_Panama

15
Preguntas y respuestas / Musica de Fondo
Mayo 17, 2016, 05:33:17 AM
Saludos a Todos:

Miren necesito su ayuda, quiero poner musica de fondo en un room considerando dos cosas que no se quite cuando se reproducen otros sonidos dentro de ese mismo room y que si digamos quiero hacer pausa en mi juego ( el cual es otro room que hice para la pausa) , que cuando regrese al room donde estaba sonando la musica continue donde se habia quedado esa musica. No se si me exprese claramente ?.
16
Preguntas y respuestas / Iconos en Menu Tactil
Febrero 27, 2016, 03:39:17 AM
Hola Buen Día Muchachos:

Tengo un Menu para mi juego Tactil, y he creado 10 iconos y 10 imagenes principales que son los de mis personajes, como hago para que cuando toque cualquiera de esos iconos el marco rojo vaya hacia esa posicion y que la imagen principal cambie segun sea el personaje . Adjunto una imagen, les agradezco su colaboracion.
17
Hola Saludos a Todos

Tengo un room al que le quiero ponerle un fondo movible(gif) como en GMS al colocar un gif como background al reproducirlo no se mueve, lo que hago es agregarlo como objeto, el problema es que si coloco otro objeto encima , suele pasar que desaparece, como hago para que este gif quede completamente de fondo y que su animación se reproduzca sin alterar a otros objetos.
18
Preguntas y respuestas / Salir del Juego
Enero 05, 2016, 04:19:28 PM
Hola Muy Buenas a Todos

Necesito porfavor de su ayuda, en el juego que estoy haciendo para android diseñe un boton para salir del juego, el cual me da la opcion de preguntarme si deseo decir SI o No quiero salir, como el que esta en el adjunto, pero lo hice con la opcion Check Question, y me va a salir en Ingles, ¿como hago para que me muestre la pregunta con un recuadro casi igual a ese pero que me lo pregunte en Español ?
19
Preguntas y respuestas / Juego de Boxeo
Octubre 17, 2015, 03:20:16 AM
Saludos a Todos:

Necesito su ayuda porfavor, estoy haciendo un juego de boxeo para android ( tactil), y quiero saber en mi menu de seleccion de personajes ,como hacer que al hacer click encima de uno de los iconos de mis boxeadores, el pase a otro room que va a ser el de seleccion de escenarios ( seran 5 escenarios o stages ) y que al hacer click encima de uno de los iconos del escenario , pase al room donde van a pelear mis boxeadores , con los boxeadores reales , asi como les muestro en las imagenes.
20
Preguntas y respuestas / Cambio de Room
Octubre 12, 2015, 06:42:44 AM
Saludos a Todos:

Tengo una pantalla de Carga para un juego de peleas , es la que va a aparecer despues de seleccionar al personaje, ya saben la tipica pantalla de carga, y quiero saber como hago para que se vea durante unos 10 segundos y luego se cambie sola para pasar a la room donde van a pelear mis jugadores . Porfavor si me podrian ayudar