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

151
Pues checa si las coordenadas del mouse est?n dentro del rango del n?mero de la view, me refiero:

[gml]
//para checar si est? dentro de la view[8]
if(mouse_x>view_xview[8] & mouse_x<=view_xvew[8]+view_wview[8] & y>view_yview[8] & y<view_yview[8]+view_hview[8])
{
  //cosa a hacer cuando est? dentro de la view[8]
}
[/gml]
Si quieres checar que No est? dentro de la view[8] solo niega el if:

[gml]
if!(mouse_x>view_xview[8] & mouse_x<=view_xvew[8]+view_wview[8] & y>view_yview[8] & y<view_yview[8]+view_hview[8])
{
  //cosa a hacer cuando no est? en la view[8]
}
[/gml]
152
Preguntas y respuestas / Re: Disparo en ocho direcciones
Noviembre 02, 2011, 09:48:41 PM
Quieres que funcione solo en 8 direcciones, ?Verdad?
Para que se vaya a la direcci?n dependiendo del angulo personaje - mouse puedes usar ?ste c?digo en el create de la bala:

[gml]
direccion = round(point_direction(obj_personaje.x,obj_personaje.y,mouse_x,mouse_y)/45);
direccion *=45;
direction = direccion;
[/gml]
Eso le da a la bala una de las 8 direcciones posibles m?s cercanas al mouse.

Para que aparesca en la punta de la pistola hace falta hacer uso de funciones trigonom?tricas:

[gml]//Hacemos el m?smo c?lculo que el anterior para saber la direcci?n:
direccion = round(point_direction(obj_personaje.x,obj_personaje.y,mouse_x,mouse_y)/45);
direccion *=45;

//Vale, ahora necesitamos saber a qu? distancia est? el centro del sprite del personaje y la punta del ca??n, esto lo guardamos en una variable distancia.
//Y hacemos el siguiente c?lculo:
var xx,yy;
xx= distancia*cos(degtorad(direccion));
yy= distancia*sin(degtorad(direccion));

//y a la hora de crear la bala, se crea en las siguientes coordenadas:

instance_create(obj_personaje.x+xx.obj_personaje.y-yy,bala);
[/gml]

mmm... creo que esos ser?an los c?lculos que debes hacer  :-[
153
has checado el origen de ambos sprites (el de caminar y el de quieto)? y las m?scaras? llega a ocurrir cuando el origen de los sprites no se posicionan en el mismo lugar (con referencia a la mask o a la imagen) y al cambiar de sprite autom?ticamente el objeto (en este caso el personaje) queda atrapado en el objeto s?lido.

154
El break tu lo pusiste, yo solo respect? tu c?digo  :P

Y eso va en el evento de presionar boton derecho, solo le agregu? esas 2 l?nas... mira, el editable te lo adjunto
155
Pues en el evento de presionar boton, si lo enciende haces que se agregue el registro, si lo apaga haces que se elimine. Como estos son comandos de Batch no habr? problema si no existe el registro o si ya existe...

[gml]

ini_open("Configuracion.ini")
if show_question("?Deseas encenderlo?") = 1
{
ini_write_real("Configuracion","Tiene",1);
execute_shell("reg"," add HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v nombre_de_la_entrada /d 'c:\hubicaci?n\del\programa.exe'");
break;
}
else
{
ini_write_real("Configuracion","Tiene",0);
execute_shell("reg"," delete HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run /v nombre_de_la_entrada /f");
break;
}
ini_close()

[/gml]

Creo que as? iria todo perfecto :P
156
Elvis, he hecho esto muuuuuchas veces, no te imaginas para qu?  XD; pero bueno, mientras no se metan con otras cosas ?ste m?todo no causar? problemas.

Ahora, para eliminar el registro:

[gml]

execute_shell("reg"," delete HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run /v nombre_de_la_entrada /f");[/gml]

Y listo.

Por cierto, en teor?a el tunes up no deber?a eliminarlo ya que es de uso cotidiano (cada que se inicia la PC) y si el programa al que est? ligado existe. Una forma de evitar la ejecuci?n del programa es entrar en modo seguro  ;D
157
Tienes que agregar una entrada al registro de windows en donde se inician los programas al arrancar el equipo (realmente es al iniciar la sesi?n). Para ello solo se me ocurre usando el execute_shell();

El c?digo ser?a as?:

[gml]

execute_shell("reg"," add HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v nombre_de_la_entrada /d 'c:\hubicaci?n\del\programa.exe'");

[/gml]

Aparecer? por medio segundo una pantalla negra que es la CMD de windows, pero es la ?nica forma que se me ocurre... y claro, lo prob? y funciona :P
158
Tengo 2 teor?as:

En primera, para manejar mejor la gravedad; as? al aumentar el valor y, aumenta la gravedad... una hip?tesis tonta  :-[

La segunda, para manejar mejor la posici?n de los objetos con respecto a la ventana, ya que (tengo entendido) las ventanas de windows (no se si solo en ?ste o en otros SO) empiezan su posici?n en la esquina superior izquierda y termina en la esquina inferior derecha; esto hace que (en un plano cartesiano) el punto final de la ventana termine en una posici?n (+,-) y posicionar los objetos en esta ventana manejemos valores negativos (y posiblemente nos d? problemas la altura de la ventana, ya que tendr? un valor negativo). SI, en cambio, manejamos el eje Y invertido, la conversi?n ser? m?s sencilla y el programa puede posicionar los objetos a X distancia de su origen hacia la derecha, y Y distancias de su origen hacia abajo (que es como originalmente maneja el posicionamiento de los objetos)... Espero haberme explicado.  :P

De hecho, lo segundo me parece un tanto m?s l?gico, pero no puedo asegurarlo.
159
La verdad me llama la atenci?n el PvsZ de 2 jugadores, por que me gust? mucho el tener que usar a los Zombies y sortearme las plantas; y pienso que a otros les gust? lo contrario, ser?a bueno unas retitas en la escuela :P
160
Es una tendencia m?a el se cada vez m?s sistem?tico, o sea me complico las cosas haci?ndolas m?s complejas (pensando en si a futuro mejorar? tal cosa, o si se har? grande etc)  :P

CitarMe alegro que el script te haya funcionado a la perfeccion y que hayas elegido al mio jajaj. Con todo respeto para knd144, ya que es un gran usuario.
Gran usuario?  :-[ me qued? grande el alago XD, pero gracias
161
Tal vez este script te pueda ayudar... siento no poder probarlo ahora

[gml]if(distance_to_object(obj_personaje)>=16)
{
  if(point_direction(x,y,obj_personaje.x,obj_personaje.y)=0 or point_direction(x,y,obj_personaje.x,obj_personaje.y)=90 or point_direction(x,y,obj_personaje.x,obj_personaje.y)=180 or point_direction(x,y,obj_personaje.x,obj_personaje.y)=270)
  {
    direction=point_direction(x,y,obj_personaje.x,obj_personaje.y);
    speed=5;
  }
  else
  {
    direction=obj_personaje.direction;
    speed=5;
  }
}
else if(distance_to_object(obj_personaje)==0)
{
  speed=0
}[/gml]
162
Bueno a m? se me ocurre algo m?s complejo, pero aqu? va:

Primero, en un objeto de control, en create creas los siguientes arrays
[gml]
posiciones[0,0]=10;
posiciones[0,1]=10;
posiciones[1,0]=80;
posiciones[1,1]=10;
posiciones[2,0]=150;
posiciones[2,1]=10;
[/gml]

Y luego en control le ponemos la orden de que, si no existen, qe los cree, y los coloque en una posici?n aleatoria
[gml]
if(!instance_exists(objeto_1)) //en teoria, si no existe el 1 no existen los 3
{
  instance_exists(10,10,objeto_1)
  instance_exists(10,10,objeto_2)
  instance_exists(10,10,objeto_3) // de momento no nos interesa que se empalmen, ahora se reordenaran
}
objetos[0]=objeto_1;
objetos[1]=objeto_2;
objetos[2]=objeto_3;

posiciones_ocupadas[0]=false;
posiciones_ocupadas[1]=false;
posiciones_ocupadas[2]=false;
for(i=0;i<3;i+=1)
{
  posicion=floor(random(3));
  while(posiciones_ocupadas[posicion])
  {
    posicion=floor(random(3));
  }
  objetos.x=posiciones[posicion,0];
  objetos.y=posiciones[posicion,1];
}
[/gml]

Y bueno, en teor?a deber?a funcionar, lo no pruebo probar por que no puedo correr el GM por problemas del driver grafico  :'(... Pero espero y te sirva
163
Preguntas y respuestas / Re: Editor de Texto
Julio 15, 2011, 12:41:39 AM
mmm... mira, el salto de l?nea en Game Maker se representa con el sigo de gato #; haz que cada vez que se apriete la tecla Enter se escriba un #.  :-[
164
Para hacerlo con una sola imagen ni idea si se pueda, no me imagino c?mo.
Lo que puedes hacer es hacer por separado el terreno, el pasto y el ?rbol y darle diferentes profundidades a cada objeto. Ya despu?s unirlos en el room.  :-[
165
En s? quiero poner una tabla que mostrar? las estad?sticas y el inventario del jugador, pero obviamente no quiero que me estorbe para ver lo que pasa en el juego.

Mira, te adjunto una imagen bizarra ( XD) para explicarlo, la zona verde es lo que muestra la view en el juego (alli se ve el personaje :P), Y el cuadro caf? de abajo es el inventario que quiero mostrar, como se "puede apreciar" este objeto no estorba la vista del juego, C?mo puedo hacer algo as??  ???