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

166
Preguntas y respuestas / Re: Que aparezca donde yo quiera
Diciembre 16, 2009, 02:11:14 AM
Citar?como puedo hacer que el personaje aparezca en tal lugar dependiendo de que room vino?

para que un objeto se mueva a un lugar simplemente le asignas nuevos valores a sus cordenadas x e y

para asignarle un valor a una variable se usa el signo de = seguido de el valor que le queremos dar
por ejemplo

x = 123;
y = 211;


si quieres que sea una posicion diferente dependiendo de la room entonses pon

if(room = "nombre de la primer room")
{
x = 123;
y = 211;
}
if(room = "nombre de la segunda room")
{
x = 423;
y = 11;
}
etc
167
Preguntas y respuestas / Re: Caminar Diagonalmente
Diciembre 14, 2009, 12:00:40 AM
CitarRealmente no entendi nada de lo que escribieron

deverias espesificar como haces para mover el personaje, asi seria mas fasil responder.
osea que funciones usas ya sea GML o D&D.

prueva poner en el evento step  una "pieza de codigo" que diga lo que escribio deathmetal:


x+=5;
y+=5;


hara que se mueva en diagonal asia abajo a la derecha
168
Preguntas y respuestas / Re: sentencia for no le entiendo
Diciembre 13, 2009, 11:48:24 PM
creo que a la variable "i" se le llama indice

como veras el for tiene tres partes

for(primera parte; segunda parte; tercera parte)

la primera se determina el valor inicial del indice, en este caso 0

la segunda se determina la condicion que deve darse para que el codigo dentro del for siga ejecutandose, en este caso el codigo dentro del for se ejecutara solo si la variable i es menor a 8

la tersera determina en cambio del indice antas de cada ciclo (esepto el primer ciclo), en este caso la variable aumenta de a 1

EN ESTE CASO ESPECIFICO EL CODIGO DEL FOR SE EJECUTA 8 VESES
169
Preguntas y respuestas / Re: Caminar Diagonalmente
Diciembre 13, 2009, 08:13:36 PM
no se si estes usando las variables speed y direction, pero estas variables representan la velocidad(speed) y direccion (direction) de una instancia.

speed = 1 significa que la instancia se mueve 1 pixel en la direccion que indique su variable direction
direction = 0 significa direccion a la derecha
direction = 90 significa direccion a arriba
direction = 180 significa direccion a la izquierda
direction = 270 significa direccion a abajo

si quieres que se mueva en direccion diagonal solo pon direction 45 o 135 o 225 o 315
170
tras lo que dijo kakashigna me fije si se ejecutaba la linia del instance_destroy, y si se ejecutaba, lo que susedia es que se creaban nuevas instancias entonces parecian nunca haberse destruido  XD :-[ :-[ :-[
171
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?

172
no se a que te refieres con accion, pero en gml para asignarle un valor a algo simplemete usas el signo de = y listo

ejemplo:

speed = rapidez;
173
Preguntas y respuestas / Re: ?Que es una subimagen!?
Diciembre 04, 2009, 10:21:10 PM
un sprite puede estar formado por varias imagenes (subimagenes), ya sea para hacer una animacion o simplemete para no tener que crear 1912371238 sprites  XD

la primer imagen de un sprite es la 0, le sigue la uno, etc

la subimagen se controla con la variable image_index
174
Preguntas y respuestas / Re: error
Noviembre 28, 2009, 02:00:47 AM
Citarimage_speed=.5

talves quisiste poner 0.5 o 5
175
En que objeto ejecutas este codigo?

suponiendo que este codigo se ejecuta en el objeto goku: ?porque destrulles el objeto y lo vuelves a crear? y porque pones "with(goku)"?

Citarnose porque cuando se crea el objeto goku... siempre se crea mirando a la derecha ...
es porque el sprite inicial del objeto cuando se crea es el sprite mirando a la derecha, si destrulles y buelves a crear la instancia siempre se creara con ese sprite...

nose, no me queda claro que es lo que pasa y que es lo que deveria pasar

por las dudas proba con este codigo:

if global.direccion = 2
    {
        instance_create(x+30,y+5,kame_derecha);
        instance_destroy();
        instance_create(x,y,goku);
        with(goku)
       {
        sprite_index = goku_parado_derecha;
        global.direccion = 2;
       }
    }
    if global.direccion = 1
    {
        instance_create(x,y-80,kame_arriba);
        instance_destroy();
        instance_create(x,y,goku);
        with(goku)
       {
        sprite_index = goku_parado_arriba;
        global.direccion = 1;
       }
    }
    if global.direccion = 3
    {
        instance_create(x+20,y+120,kame_abajo);
        instance_destroy();
        instance_create(x,y,goku);
        with(goku)       
       {
         sprite_index = goku_parado_abajo;
        global.direccion = 3;
       }
    }
    if global.direccion = 4
    {
        instance_create(x-70,y,kame_izquierda);
        instance_destroy();
        instance_create(x,y,goku);
        with(goku)
       {
        sprite_index = goku_parado_izquierda;
        global.direccion = 4;
       }
    }
    global.gokuu = 0;


detodos modos no me parece lo mas adecuado destruir y crear al personaje principal pero eso ya depende de cada uno
176
if(distance_to_object(objeto)<50)//Si se encuentra a menos de 50 pixeles
{
direction= point_direction(objeto.x,objeto.y,x,y);//Determinas la direccion en la que se deve mover
speed = 5;//Le tienes que dar velocidad para que se aleje
}
177
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;
}
}
178
Preguntas y respuestas / Re: objetos que se multiplican
Noviembre 23, 2009, 11:53:19 PM
Citarwith (instace_create(x,y,object_index)) Vida = other.Vida/2;

que vendria a ser other?

en este caso seria el id del "padre" obiamente pero que hace espesificamete esa palabra?
porque devuelve el id del "padre"?

acaso es como salir de with por un instante?
179
Preguntas y respuestas / Re: objetos que se multiplican
Noviembre 23, 2009, 11:27:06 PM
parese funcionar bien  :)

te falto una letra en instace_create
180
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.