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

1
Hola, tengo el siguiente proyecto y esta en html con javascrip
<script>
var websock;
function start() {
  websock = new WebSocket('ws://' + window.location.hostname + ':81/');
  websock.onopen = function(evt) { console.log('websock open'); };
  websock.onclose = function(evt) { console.log('websock close'); };
  websock.onerror = function(evt) { console.log(evt); };
  websock.onmessage = function(evt) {
    console.log(evt);
    var e = document.getElementById('ledstatus');
    if (evt.data === 'ledon') {
      e.style.color = 'red';
    }
    else if (evt.data === 'ledoff') {
      e.style.color = 'black';
    }
    else {
      console.log('unknown event');
    }
  };
}
function buttonclick(e) {
  websock.send(e.id);
}
</script>



Bueno como se puede apreciar usa el una conneccion en WebSocket y en gamemaker seria lo siguiente?
en cuestion es que no se si esta bien, la ip es inventada y no logro encontrar referencia a window.location.hostname
socket = network_create_socket(network_socket_tcp);
network_connect(socket,"ws//:81/",6510)


Bueno la situacion se me ha empeorado al recibir y enviar informacion, por ejemplo en esto.


websock.send(e.id)
en un boton es la siguiente id  --> "w 1 1"
<buttons id="w 1 1" class= "buttons-axes axes-U" type="button1" onclick="buttonclick(this);">
       <i class="arrow arrow-up"></i></buttons>


Podrian por favor ayudarme? :-[
2
Acabo de subir el proyecto, puedes por favor ver como es el problema?
3
Gracias, en mi situación los objetos mensajes los uso como cuadros de ayuda y por ende no puedo eliminarlos, trataré de hacer una inspección a fondo.
4
Hola comunidad, primero antes de todo, dejo una imagen para su comprension


como se puede apreciar, tengo un obj_mensaje y de el mismo hay 2 copias en la room, ahora cuando el player colisiona con el obj_mensaje , el obj_mensaje crea una instancia llamada object2. Mi dificultad se genera aqui.

Cuando hago una primera colision con un obj_mensaje, perfectamente muestra la instancia del object2, pero si colisiono con otro
obj_mensaje distinto, ahi es mi error, no es que me genera error, sino que no ejecuta la instancia object2.

¿Como puedo solucionar este problema?
5
aun estoy en fines de educación así que voy a comenzar con lo que hay y a probar se ha dicho, ..me refiero al codigo  :D
6
Tengo una idea, sobre que cuando tu personaje va hacia la derecha, x se suma --> "es la variable general". Pero cuando va a la izquierda, x se resta. Ahora como usaría estos valores para cambiar de sprite, puedo usar la instruccion de sign.
[gml]
estado = sign(x)
if (estado ==1)
//derecha
else
//izquierda
[/gml]
7
es muy perfecto esta información, aunque tiene demasiados códigos que he terminado exhausto y en sobre todo me agrada la parte donde hace ramp o sube las colinas o muros
8
Hola que tal, ;D
Me ha interesado siempre crear una maquina de estados, para no escribir demasiado y que se entienda. Resulta que en la mayoría de vídeos o información que he encontrado siempre han estado relacionados a juegos RPG, este usa todas las direcciones y en mi situación solo necesito un juego con 3 direcciones-->"derecha,izquierda,arriba", bueno usaría abajo solamente para cambiar de sprite  y la mascara de colision. Por ejemplo:


   creo un objeto con el nombre de  "obj_jugador"
dentro de el, creo un evento create con los siguientes datos
[gml]
///evento create añado
hsp = 0;   //velocidad horizontal
vsp = 0;   //velocidad vertical
grav = 1;       //gravedad
movespeed = 5;   //movimiento
jumpspeed = 15;   //velocidad de salto
//como haria aqui para crear la maquina de estados
[/gml]
Ahora creamos un evento step e insertamos esto
[gml]
/// 1 Gravedad
if (vsp < 20) && !place_meeting(x, y+1, obj_Pared) vsp += grav;

// 5 Saltos (antes de las colisiones)
key_jump = keyboard_check_pressed(vk_up);
if (place_meeting(x,y+1,obj_Pared)){
   if (key_jump)
    {
        vsp = -jumpspeed;
    }
}

// 1 Colisión vertical ( contra el suelo)
if (place_meeting(x,y+vsp,obj_Pared))
{
//    // 1 Mientras no encontremos colisión a 1px ajustamos de 1 en 1
    while(!place_meeting(x,y+sign(vsp),obj_Pared))
    {
        y += sign(vsp);
    }
    vsp = 0;
}

// 1 Finalmente sumamos la velocidad vertical a la Y
y += vsp;

// 2 Detectar movimientos y reacción horizontal (antes de las colisiones)
key_right = keyboard_check(vk_right);
key_left = -keyboard_check(vk_left);
move = key_left + key_right;
hsp = move * movespeed;

// 4 Colisión horizontal ( contra las paredes)
if (place_meeting(x+hsp,y,obj_Pared))
{
    while(!place_meeting(x+sign(hsp),y,obj_Pared))
    {
        x += sign(hsp);
    }
    hsp = 0;
}

// 6 Colisión contra Obstáculo
if (place_meeting(x+1,y,obj_Rueda))
{
    room_restart();
}

// 7 Colisión contra Enemigo
if (place_meeting(x+1,y,obj_Enemigo))
{
    room_restart();
}

// 2 Finalmente sumamos la velocidad horizontal a la X
x += hsp;
[/gml]
En el ejemplo del RPG es de la siguiente manera
evento create
[gml]
///evento steep
enum state {
   idle; //descansando
   up;
   down;
   left;
   right;
}
dir = state.right;     //direccion
is_moving = false;
image_speed =0.5;
[/gml]
ahora  dentro del evento Step
[gml]
//si se presiona una tecla
if (keyboard_check(vk_left))
{
   dir = state.left;
   is_moving = true;
}
else if (keyboard_check(vk_right))
{
   dir = state.right;
   is_moving = true;
}
else if (keyboard_check(vk_up))
{
   dir = state.up;
   is_moving = true;
}else if (keyboard_check(vk_down))
{
   dir = state.down;
   is_moving = true;
}
else
{
   dir = dir;
   is_moving = false;
}
[/gml]
[gml]
///movimiento
if is_moving
{
   switch (dir)
   {
   case state.up:
      y -=4;
     break;
    case state.down:
      y +=4;
     break;
    case state.left:
      x -=4;
     break;
    case state.right:
      x +=4;
     break;
   }

}
[/gml]
[gml]
///añadir sprites
if is_moving
{
   switch (dir)
   {
   case state.up:
      sprite_index=spr_walk-.up;
      break;
      //asi sucesivamente para las demas
   }
}
[/gml]
Podrian ser tan amables de ayudarme a como adaptar este codigo?, la dificultad se me genera cuando se crea el codigo de gravedad y colisiones
   
9
oye men, si quieren un ojo de la cara, no se va poder programar,  XD, jajajajaja
10
te recomendaria la pagina
www.humblebundle.com

lamentablemente aun no se encuentra a la venta, pero si deseas licencias, aun no se cuantas pcs puede usar una licencia, actualmente he comprado una y esta con todos los complementos que deseas. Lo he usado en una pc
11
[spoiler] -----  (el texto del objeto menu(el principal) deberia cambiar de texto al presionar sobre el?) ----[/spoiler]
Si es necesario, seria agradable hacer eso tambien,y gracias nuevamente
12
Hola 3dgeminis, muchas gracias, eres un genio, me ha tomado bastante tiempo este error mio. Podrías darme un tip en esto?-
mira si por ejemplo selecciono en el menú, la opción salir  -¿como haria para crear accion al presionar?
13
gracias por responder, acabo de editarlo, ahora dejo mi proyecto con link en mediafire, espero su respuesta
14
Hola como estan
, espero que se encuentren bien, estaba codeando con el gml, y todo iba a la perfección hasta que me tope con el evento mouse, aqui dejo un pop-ups menu:
---> http://www.mediafire.com/file/ff94jjx85mzs63z/Dropdown_Component.rar

ese no es mio, sino que cuando trato de añadir a mi proyecto el codigo, funciona bien hasta cierto punto,  cuando trato de hacer click en el cuadro de este pop-up --"MAIN"-- , ya sea en el centro del cuadro o las esquinas, no funciona bien, pero cuando hago click en la esquina superior :
     
funciona, alguien de ustedes podria ayudarme, y otra info el tamaño de la room es 9024 x 768
aqui esta mi proyecto, e inténtelo probarlo
https://www.mediafire.com/file/iatw6s3ihdsm388/ProjectML.gmz
15
Preguntas y respuestas / Re:¿Como se interpreta esto?
Octubre 31, 2017, 04:57:03 PM
si tu tiempo empieza desde -99 hasta 0 entonces es la siguiente,

esto es para que no, exista un loop entre global.tiempo menor que cero, con el entonces:
---------tu codigo anterior------
  si tu tiempo es menor que "0", entonces
tu tiempo es cero
----------------------------------------
presta atencion, tu tiempo es menor que cero, nunca toma el  cero, lo que despues;
tu lo sentencias a cero   como    global.salud = 0


[gml]
if(global.tiempo < 1) //Si la variable tiempo es menor que 1 , quiere decir que el tiempo termina en 0
{  //entonces
    global.tiempo = 0 // ahora tu tiempo se vuelve 0
    global. vida = 0 //la vida del jugador se iguala a cero
    if(file_exists("partida.sav"))
        file_delete("partida.sav") //Eliminamos el archivo
    game_restart() //Creo que es mejor que no uses argumentos en esta función.
}



[/gml]
si empieza de 99 hasta 0, positivo
[gml]
if(global.tiempo < -1) // puedes cambiarlo a "1" por si te arroja algun error,

{  //entonces
    global.tiempo = 0 // Si tienes algun envento, cuando global.tiempo es cero, te recomendaria que no lo elimines
    global. vida = 0 //la vida del jugador se iguala a cero
    if(file_exists("partida.sav"))
        file_delete("partida.sav") //Eliminamos el archivo
    game_restart() //Creo que es mejor que no uses argumentos en esta función.
}
[/gml]