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

21
 :GM7: :GM8:

hice un "juego" que consistia en un sonido, un objeto, y un room

el objeto tiene en el evento evento step:

if(keyboard_check_pressed(vk_space)) sound_play(sound0);

pero el GM tarda unas desimas de segundo en ejecutar el sonido y quisiera seber si es posible evitar ese retraso.

estoy seguro de que es un retazo y no es el sonido, porque si lo reprodusco con reproductor de windows media, despues de hacer click en el boton play, cuando suelto el click, el sonido suena inmediatamente.

Les adjunto el sonido si quieren probar
22
que funciones tiene el GM para trabajar con tiles (o tilesets)?
23
el GM viene con unas cuantas constantes que equibalen a colores

por ejemplo:
c_blue = 16711680
c_white = 16777215
c_green = 32768
c_red = 255
c_black = 0

lo que yo quiero es usar colores propios pero no se cuales serian sus baleres
mas espesificamente quiero una escala de grises.

alguien sabe como encontrar los valores???
24
no se que derle por argumento a la funcion draw_set_color(), quiero que la fuente sea roja

busque en el manual y creo que no esta http://www.comunidadgm.org/manual_GM/Fuentes_y_texto.htm
25
Tengo una sprite Arquero1

Tengo un objeto llamado Arquero
quiero hacer que la variable Dir1 sea = a Arquero1

pero quiero hacerlo de la siguiente manero

Dir1 = object_get_name(object_index)+"1";

El probleme es que aca no le asigno un balor a la variable Dir1, sino que le asigno un string

?Como hago para combertir ese string en el nombre de una variable?

?hay alguna funcion para ello?

por ejemplo

Dir1 = combertir(object_get_name(object_index)+"1");
26
Veran tengo un objeto que a cada step ejecuta un string llamado str_Condicion,

el problema es que presiso que el codigo que contiene el str_Condicion modifique otro string

vasicamente asi:


str_Condicion = "Texto1 = "bla bla bla";";


como veran en esta linie le intento asignar al string str_Condicion esto: Texto1 = "bla bla bla";, pero al momento de la ejecucion me da error porque el GM interpreta al codigo como dos strings separados y no como uno dentro del otro:

el priero) "Texto1 = "
el segundo) ";"

?Se les ocurre una solucion a mi problema?
27
(sino me equivoco) una esprecion es algo que puede ser evaluado
por ejemplo 4>5 o Vidas = MaximoVidas

me ahorraria mucho trabajo poder guardar espreciones en variables

por ejemple Espresion1 = Vidas>0

----------------------------------------------------------------------------------

O sino tambien me serbiria poder transformar un string en una esprecion
Por ejemplo Espresion1 = "Vidas>0"

pero no sabria como hacer del string una esprecion que pueda usar dentro de un if...
28
Preguntas y respuestas / sentencia case
Enero 05, 2010, 12:26:13 AM
tengo la siguiente funcion:
string_pos("A",Texto1)

puede dar valores entre 1 y 5

si da 1 quiero que ejecute solo la siguiente linia:
LaTecla = 77

si da 2 quiero que ejecute solo la siguiente linia:
LaTecla = 188

si da 3 quiero que ejecute solo la siguiente linia:
LaTecla = 190

si da 4 quiero que ejecute solo la siguiente linia:
LaTecla = 189

si da 5 quiero que ejecute solo la siguiente linia:
LaTecla = 16

CREO QUE ESTO SE PUEDE MAS FACIL SI USO LA EL case PERO NO SE COMO, ?ALGUIEN ME LO ESPLICA?
30
quiero hacer un script que cuente la cantidad de renglones que ocuparia un stirng, ya que el string hace un salto de linea por cada #
31
tengo un objeto llamado "obj_Opcion"

hay 4 o 5 instancias de este objeto

quiero que cuando se clicki?e en uno se destrullan todos

probe poner en el evento click izquierdo del objeto obj_Opcion:


with(obj_Opcion) instance_destroy();


pero no funciono, de hecho no pasa nada

?como destrullo todos las instancias del objeto obj_Opcion?

32
se les ocurre una manera de checar si una parte de un array existe???

si uso la funcion variable_local_exists no toma en cuenta el indice del array  :'(

por ejemplo: si pongo este codigo en el evento create de algun objeto el RESULTADO ba a terminar siendo 0, pormas de que si exista la variable CON[ i ] en cierto ciclo del for

RESULTADO = 0;
CON[3] = 0;
for(i=0;i<=5;i+=1)
{
if(variable_local_exists("CON[i]"))
{
 RESULTADO = 1;
}
}
33
Nombre del creador: Alfonsos1

Breve descripci?n de su funci?n: Determina los puntos de intercepcion de una recta y una circunferencia, en otras palabras determina x1, y1, x2, y2.

Versi?n GM utilizada:  :GM7: Lite

Argumentos:
argument0: cordenada x del centro de la circunferencia
argument1: cordenada y del centro de la circunferencia
argument2: radio de la circunferencia
argument3: coeficiente angular de la recta
argument4: termino independiente de la recta


Codigo del script:

xCENTRO = argument0;//Cordenadas del centro de la circunferencia
yCENTRO = argument1;
RADIO = argument2;//Radio de la circunferencia

m = argument3;//Coeficiente angular de la recta
n = argument4;//Termino independiente de la recta

//La ecuacion de una circunferencia es: (x-xCENTRO)*(x-xCENTRO)+(y-yCENTRO)*(y-yCENTRO)=RADIO*RADIO
//Acuntinuacion simplemente les mostrare los calculos que hice, no son nesesario
//(x-xCENTRO)*(x-xCENTRO) + (y-yCENTRO)*(y-yCENTRO) = RADIO*RADIO
//x*x-2*xCENTRO*x+xCENTRO*xCENTRO + y*y-2*yCENTRO*y+yCENTRO*yCENTRO = RADIO*RADIO
//x*x-2*xCENTRO*x+xCENTRO*xCENTRO + (m*x+n)*(m*x+n)-2*yCENTRO*(m*x+n)+yCENTRO*yCENTRO = RADIO*RADIO
//x*x-2*xCENTRO*x+xCENTRO*xCENTRO + m*m*x*x+2*m*x*n+n*n-2*yCENTRO*m*x-2*yCENTRO*n+yCENTRO*yCENTRO = RADIO*RADIO
//x*x+m*m*x*x -2*xCENTRO*x+2*m*x*n-2*yCENTRO*m*x +xCENTRO*xCENTRO+n*n-2*yCENTRO*n+yCENTRO*yCENTRO-RADIO*RADIO = 0
//(1+m*m)x*x + (-2*xCENTRO+2*m*n-2*yCENTRO*m)*x + (xCENTRO*xCENTRO+n*n-2*yCENTRO*n+yCENTRO*yCENTRO-RADIO*RADIO) = 0

//Allamos A, B y C por separado para que no quede muy larga la cuanta final

A=1+m*m;
B=-2*xCENTRO+2*m*n-2*yCENTRO*m;
C=xCENTRO*xCENTRO+n*n-2*yCENTRO*n+yCENTRO*yCENTRO-RADIO*RADIO;

//Resolvemos la ecuacion de segundo grado
//Tiene dos solucciones porque en este caso la recta tiene dos intercepciones con la circunferencia
x1 = (-B+sqrt(B*B-4*A*C))/(2*A);
x2 = (-B+-sqrt(B*B-4*A*C))/(2*A);
//Allamos las y en funcion de las x con la ecuacion de la recta
y1 = m*x1+n;
y2 = m*x2+n;


Les dejo un ejemplo de como funciona. En el ejemplo tu mueves un "Bicho" cuando este colisiona con el vorde da la pantalla circular es llevado al punto opuesto de la pantalla.
Tambien tiene incluido un peque?o scrips que determina el coeficiente angular y el termino independiente de una recta a partir de dos puntos.
34
Preguntas y respuestas / objetos que se multiplican
Noviembre 23, 2009, 09:15:44 PM
quiero saber como podria hacer que un objeto se divida en dos, repartiendo la vida que tiene con su nuevo "hijo".

es decir que pierda la mitad la la vida cree un nuevo objeto de si mismo con la mitad de la vida inicial.

para crear el objeto uso la funcion instance_create(x,y,obj) pero no se como hacer que se cree con la mitad de la vida.

Se me ocurrio crear una variable global que sea igual a la vida antes de multiplicarse,

entonses en codigoseria asi:

if(Multiplicarse)
{
global.VidaAntesDeMultiplicarse = vida
Vida = Vida/2
instance_create(x,y,object_index)
Multiplicarse = 0;
}


y luego un el evento createdel objeto poner

Vida = global.VidaAntesDeMultiplicarse/2


pero cuando se crea la primer instancia me sale error ya que desconoce la variable global.VidaAntesDeMultiplicarse

intente darle un valor a global.VidaAntesDeMultiplicarse en el evento room star y game star pero me sale el mismo error
35
Preguntas y respuestas / DUDAS CON EL TECLADO
Noviembre 20, 2009, 01:08:33 PM
Citario_clear() ?Limpia? todos los estados del teclado y del rat?n.
Citario_handle() Maneja la entrada y salida por parte del usuario, actualizando los estados del teclado y del rat?n.

Alguien me aclara mejor que hacen estas funciones  ???

otra duda:

Citarkeyboard_clear(key) ?Limpia? el estado de la tecla mencionada en ?key?. Esto significa que no generar? eventos de teclado hasta que se vuelva a presionar.

esta funcion es igual a io_clear() pero solo para una tecla?
36
Preguntas y respuestas / Deshabilitar teclado
Noviembre 17, 2009, 05:21:42 PM
tengo GM7 lite

tengo que hacer la IA para mi juego, y la manera mas fasil es simulando que la computadora presiona una tecla en vez de que tenga que poner todas las acciones que hara esa tecla en el codigo.
Pero no quiero permitir que el jugador interfiera cuando le toca al enemigo, por lo que quiero desabilitar el teclado, en otras palabras que si se presiona UP no se ejecute el evento press_UP.
37
Preguntas y respuestas / Extra?o error
Noviembre 10, 2009, 09:57:48 PM
CitarERROR in
action number 1
of  Step Event
for object GuerreroGrifo:

In script AtacarDistancia:
Error in code at line 89:
      if((i-COR1)>=-(j-COR2)/2 && (i-COR1) <= -2*(j-COR2) && ((i-COR1)>=MinAlc || (j-COR2)<=-MinAlc) && global.Esp[i,j].COR1 = Selector.COR1 && global.Esp[i,j].COR2 = Selector.COR2)

at position 120: Unknown variable COR1

No entiendo el porque de este error, sobretodo porque aparece en la linea 89 mientras que en las lineas 85 y 87 ya se hacia referencia a la variable COR1

cada objeto tiene su variable local COR1, mientras transcurre el juego esta variable cambia de valor pero nunca es eliminada...

el script se da en un objeto que si tiene la variable COR1 (verificado por el debug mode), no entiendo porque la desconoce a esa variable

lo que mas me molesta es que no siempre se da el error, lo que me dificulta encontrar la causa

LES DEJO EL PEDASO UN PEDAZO DEL CODIGO...

if(global.Accion = 1 && keyboard_check_pressed(ord("S")))
{
Objetivo = -1;
if(Direccion = 1)
{
 for(i=COR1;i<=MaxAlc+COR1;i+=1)
 {
  for(j=COR2;j>=COR2-MaxAlc;j-=1)
  {
   if((i-COR1)>=-(j-COR2)/2 && (i-COR1) <= -2*(j-COR2) && ((i-COR1)>=MinAlc || (j-COR2)<=-MinAlc) && global.Esp[i,j].COR1 = Selector.COR1 && global.Esp[i,j].COR2 = Selector.COR2)
   Objetivo = global.Esp[i,j];
  }
 }
}


alguna sugenrencia o algo...?