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

1
Saludos Makeros!

Hoy me topé con este problema, quiero saber si es posible (y como hacerlo :-[) contar la cantidad de instancias de un mismo objeto que estén a su derecha (o a cualquiera de sus lados, pero iniciemos por algo XD).

Para explicarme mas, que el primer objeto a la izquierda, guarde en una variable la cantidad de veces que se repite su instancia a la derecha, como si de contar tiles se tratase.

Si necesitan que profundice más me avisan C: y gracias desde ya!
2
Preguntas y respuestas / Blur en 3D (con surfaces)
Mayo 18, 2013, 10:34:10 PM
El problema es el siguiente:

Quiero hacer que la vista se haga borrosa, había leído que esto se logra, dibujando a una surface pequeña todo, y luego estrechándola al tamaño de la ventana, lo que pasa es que no se si es por el 3D, o por que estoy haciendo algo mal, pero no se hace borrosa, se mantiene tal y como es.

Especificaiones:
[spoiler]Utilizo 2 surfaces, una surface "srfcnormal", que es donde va todo tal y como es, y la surface "srfcblur" que es en la cual quiero hacer el blur, pondré los codigos de mi obCamctrl para hacer las surfaces:
Create:
[gml]srfcblur=surface_create(256,150) //un cuarto de la ventana
srfcnormal=surface_create(1024,600) //ventana completa
[/gml]

Step:
[gml]surface_set_target(srfcnormal)
d3d_set_projection(x,y+400,300,x,y,0,0,-1,0);
d3d_draw_floor(0,0,0,1024,768,0,background_get_texture(tx_002),16,12)
with obBlock
  {
    d3d_draw_block(x,y,0,x+32,y+32,32,background_get_texture(tx_001),1,1)
  }
surface_reset_target()

surface_set_target(srfcblur)
d3d_set_projection(x,y+400,300,x,y,0,0,-1,0);
d3d_draw_floor(0,0,0,1024,768,0,background_get_texture(tx_002),16,12)
with obBlock
  {
    d3d_draw_block(x,y,0,x+32,y+32,32,background_get_texture(tx_001),1,1)
  }
surface_reset_target()[/gml]

Draw:
[gml]draw_surface(srfcnormal,0,0)
draw_set_blend_mode(bm_add);
draw_surface_ext(srfcblur,0,0,2,2,0,c_white,1)[/gml][/spoiler]

De antemano muchas gracias a cualquier respuesta, si algo no se entiende me avisan, lo mismo si necesitan mas información.

PD: Uso bm_add para que se vea con cierto brillo el blur, no creo que sea lo que esté afectando.
3
alguna idea de como lograr que una variable aumente hasta llegar a un valor máximo positivo y en ese momento disminuya hasta llegar a un valor mínimo negativo, y de nuevo vuelva a empezar a aumentar en un bucle.

Por ejemplo, que varpoder +=1 cada step, y al llegar a 50, sea varpoder-=1 cada step y al llegar a -50 vuelva a ser varpoder+=1

PD: intentando evitar el "if" de ser posible, si no, ni modo, algo me dice que se puede con "FOR" o con "SIN" pero no eh tenido suerte al intentarlo u.u

Gracias!
4
Saludos makeros!

hoy traigo esta duda (mas que duda, un reto creo yo), uso el script adjunto para mover a mi personaje en 8 direcciones rotando el sprite según la direccion en que se dirige, todo bien, pero quisiera saber si hay alguna forma de hacer una rotación menos agresiva, osea que cambie la orientación poco a poco (como añadir una fricción a la rotación). Gracias desde ya a las respuestas :D

Script:[gml]
xm=keyboard_check(vk_right)-keyboard_check(vk_left);
ym=keyboard_check(vk_down)-keyboard_check(vk_up);

if point_distance(0,0,xm,ym)>0
{
     speed=mvspd;
    direction=point_direction(0,0,xm,ym);
}
image_angle=direction[/gml]

EDIT: Lo eh solucionado con un script que me encontré en la red :-[ os dejo el link por si les interesa
http://www.gmlscripts.com/script/turn_toward_direction
5
Yo de nuevo(:

esta vez me ah surgido la necesidad de crear un rango donde se revise si se encuentra el Objeto2, si es así, cumplir un bucle, si no es así, cortar el bucle.
En sentencia lo que quiero es que, si el Objeto2 se encuentra en una distancia menor a 128 pixeles hacia arriba (no encima) del Objeto1 (solo hacia arriba, ni a la derecha ni a la izquierda ni abajoC:), se ejecute la acción.

El rango debería ser mas o menos como en la imagen adjunta
[spoiler][/spoiler]
Agradezco cualquier respuesta desde ya y espero haber sido claro :-[

PD: yo había intentado con point_distance() pero este devuelve una distancia de punto a punto, y yo solo necesito la distancia superior.

En el grupo de Facebook de la comunidad [Link al post], Jesús Jiménez (perdón no conozco tu alias in forum) me propuso solucionarlo con
[gml]arriba=abs(obj_1.y - obj_2l.y)
ah if place_meeting(x+tamaño del objeto1,y-arriba,obj_2l)// la x del objeto 1 debe de estar a su izquierda [/gml]
pero esto solo hace que el rango sea en un espacio limitado dependiendo del tamaño de la mascara de colision del Objeto1 (que para mi objeto son 32pixeles) y yo necesito 128 pixeles. además que al ubicar la el Objeto2 en distinta posición Y en el Room, el rango se desfasa completamente, haciéndolo distinto para cada Objeto2.
6
El problema es este:

Tengo un sprite de la barra de vida que mide 213px, tengo una variable "vid" que es la vida, que su máximo valor es 100, quiero que a la hora de usar la función "draw_sprite_part()" el ancho del sprite dependa del a variable vid, pero no encuentro la fórmula que me funcione, lo intenté con la regla de 3 (si, muy noob) pero no me ah funcionado (usé: "(213*100)/ob_player.vid")

de antemano agradezco cualquier ayuda :D
7
:-[ sigo con mis problemas ???

Alguien sabe como puedo hacer una colisión perfecta en un cenital pero con movimiento con el mouse?
El código que utilizo para el movimiento es este:
if distance_to_point(mouse_x,mouse_y)>=35
{if (mouse_check_button(mb_left))
    {acc=1;
if (x != mouse_x) && (y != mouse_y)
        {    move_towards_point(mouse_x,mouse_y,5);
        };
    };
};

if (mouse_check_button_released(mb_left)) || (distance_to_point(mouse_x,mouse_y)<=0.1)
{acc=0;
speed=0;
};


PD: probé el código de Twister que aparece en los resultados de búsqueda pero no eh sabido implementarlo para este tipo de movimiento :'(

EDIT: Agregué el código que uso para el movimiento
8
Yo de nuevo xD, en fin, al grano  :-[

Tengo el obj_jugador configurado para que se mueva a la posición donde hago click (creo un objeto (obj_follow) con el click derecho del mouse), todo funciona bien, pero quisiera cambiar 2 cosas de esto:

1- Que a la hora de que el personaje camine, no se mueve en ningúna dirección "diagonal" osea que solo se mueva en 4 direcciones (arriba, abajo, izquierda, derecha) hasta el obj_follow
2- Si es posible eliminar la necesidad de crear el obj_follow seria genial, si no pues ni modo(:

PD para los Polis: no son 2 dudas, bien se ve que es 1 sola que en si se puede variar a tal modo de lograr 2 objetivos/:
9
Saludos.

Eh estado tocando el 3D, para un proyecto que quiero realizar, pero me eh topado con este extraño bug en los graficos, en intentando solucionarlo con cambios de resolución, pasando de dibujar un bloque a dibujar 4 paredes y no eh logrado nada.

Si alguien me puede ayudar a averiguar a que se debe y como puedo solucionarlo le agradecería mucho(:

Imágenes del bug:
[spoiler]

[/spoiler]


EDIT: Dejo un video con el bug, perdonen la calidad pero el fraps no graba a mas, y se puede ver bien el error(:


http://youtu.be/uhRXqG4MkSQ