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

1
En cuanto a costo de procesador , seguramente sea mas costoso el sistema de tiles, pero cargar un fondo de gran tama?o es mas costoso en cuanto a memoria.

En GM, no es posible cargar fondos muy grandes, al tratarse de una limitacion por lo que lo ideal es emplear tiles, aunque es un autentico engorro...
2
Podrias indicar como haces para luego gestionar los tiles como fondo con movimiento para un top down shooter(background)? Yo quiero hacer lo mismo para mi proyecto.
Entiendo hay que ir recortando en tiles todo el fondo e ir dibujandolo y moviendolo?
3
Gracias por el enlace, le echare un vistazo. Al final he conseguido crear un l?ser aunque sin colisi?n. Colocare aqu? las funciones para futuras consultas.
4
Preguntas y respuestas / Crear un laser como disparo
Octubre 02, 2010, 12:18:24 PM
Hola,

Alguien dispone de algun script o gmk de ejemplo para crear un laser (disparo) cuando el jugador pulsa un boton especifico, vamos cuando dispara.
Asi mismo que detecte colision y se le pueda especificar la distancia del laser.

Ya se que es una pregunta muy generica, pero no he encontrado ningun tutorial o codigo que diga como hacerlo, solo respuestas sueltas que no llevan a ningun sitio, y pienso que se trata de una "funcion" basica en muchos juegos, por lo que seria interesante disponer de tal script para todos los usuarios.

Saludos !

PD: Si alguien tiene el gmk y me lo puede pasar, encantado. Que me mande MP >  Si como condicion es que no lo publique , asi lo hare, aunque seria interesante que estuviera a disposicion de la comunidad.
5
Buenas,

Entiendo que puedes hacer eso con los llamados "Triggers", funciones que se activan cuando se cumplen ciertas condiciones. Buscalos  en el manual del GM, te explican que son y como funcionan, yo de momento no los he usado.

(Disponibles solo en versino Pro)
6
Preguntas y respuestas / Ayuda con codigo
Octubre 02, 2010, 04:07:17 AM
Hola,

alguien me puede ayudar con este problema? Trato de mantener un objeto en una posicion, si esta al final del path definido, quiero que dispare mediante un script ya creado. Lo que pasa que quiero que dispare 3 veces a intervalos, es decir, un disparo cada 30 steps por ejemplo.

Al parecer el problema esta en la alarma definida, ya que en cada step debe de reiniciarse y no se termina de inicializar las variables que tengo definidas en el Evento Alarma. He probado a poner alarm[0]=1 , es decir, que la ejecute en 1 step, y  si hace lo que tiene que hacer.

Alguna idea o ayuda??


En Step Event del objeto:
if y>50 && flag==1{

    path_start(e6_path,4,0,false) //asigno el path
    flag=0;
}


if path_position == 1 { //si esta al final del path
   
    if global.e6num_loop > 2{ //mientras no llegue al maximo (3)
        VER_GLOBALE6num = global.e6num_loop;
        fin=true;
    }
   
    if fin == false{ //si no ha finalizado , sigue disparando
   
    vspeed = 0 ; //detengo la nave
    alarm[0]=30; // >>>>> AQUI ES DONDE TENGO EL PROBLEMA !!
    }
     if fin == true{
         e6_move_out();
     }   
} //endif path_position


7
Muchas gracias Hackware, muy ingenioso ;) Creo entiendo todo, Lo que haces es ir restando al puntaje final lo minimo entre la adicion y el resto, y lo vas mostrando, algo asi como "recursivamente".

Ya puestos en el tema y si no es mucho pedir, estoy tratando de que el contador sea un poco mas lento, es decir, que no muestre tan rapido la puntuacion. He tratado de poner un timer por gml(alarma) pero la imagen desaparece cada vez que no se cumple la condicion, mostrandose intermitentemente el puntaje final:

[gml]global.timer_control_bonus -=1;
if global.timer_control_bonus < 0{
    sumado+=min(adicion,puntaje-sumado);
    draw_text(room_width/2,room_height/2,string(sumado));
   global.timer_control_bonus=1;
}[/gml]

Alguna posible solucion ? -_-
8
Hola,

Como puedo hacer para mostrar mi puntuacion al final de una pantalla, progresivamente? Es decir, si mi puntuacion final es global.puntuacion=1500,
me gustaria que se mostrara asi: 0100, luego 0200, luego 0300....hasta 1500

El (pseudo)codigo es:

Desde un script creo este objeto: instance_create(x,y,obj_control_bonus)

OBJETO: obj_control_bonus

EVENT CREATE: global.timer_cm=90; //Es una variable para usar alarma (sin importancia para este caso)

EVENT DRAW:
if global.timer_cm <0
for ( i=0, i!= puntuacion, i+=100)
//aqui hago la conversion de int a string
draw _text(100,100,i);

El caso es que me muestra la puntuacion como solapada, como si no se actualizase el refresco de pantalla.
Alguna sugerencia o code snippet?

Gracias de antemano.
9
Gracias Hackware ,

Tu solucion funciona perfectamente !   :P
10
Preguntas y respuestas / Re: Bounce (rebote) contra la room
Septiembre 21, 2010, 12:00:30 PM
if (x<=0) hspeed*=-1; //lo mismo que escribir hspeed=-hspeed
if (x+sprite_width>=room_width) hspeed*=-1;
if (y<=0) vspeed*=-1;
if (y+sprite_height>=room_height) vspeed*=-1;

Probare esta solucion que indicas. De todas formas lo que he hecho ha sido crear 2 objetos , uno con tama?o de sprite 8pixeles*(room_heigth) y otro 8pixeles*room_width. Los he colocado en cada lateral de la room, y los he declarado INVISIBLES de esta manera el bojeto rebota contra ellos y no se ve.
La idea estener un objeto "powerup" que este continuamente en pantalla moviendose hasta que el player lo recoja (shootemup).

11
Preguntas y respuestas / Re: Bounce (rebote) contra la room
Septiembre 21, 2010, 04:06:37 AM
El asunto estaria en rebotar el objeto cuando x>room_width-sprite_width o algo similar.
12
Preguntas y respuestas / Re: Bounce (rebote) contra la room
Septiembre 21, 2010, 03:08:47 AM
Cita de: Hackware en Septiembre 21, 2010, 01:54:18 AM
Intenta colocando objetos s?lidos fuera de room y usando la funci?n move_bounce_solid() en el evento de colisi?n con los objetos s?lidos.

?Saludos!

Y no se podria sin emplear objetos fuera de la room?
Es decir, si el objeto esta fuera de los limites de la room , cambie la direccion. Necesitaria el codigo GML, porque con D&D he conseguido hacerlo:
Outside room > Execute code > direction=direction-45

De esta manera ahorraria el crear objetos y por lo tanto memoria.
13
Hola,

Como puedo hacer para que un objeto al chocar contra la pared de la pantalla (room) rebote ?

quiero que haga un movimiento simetrico, por ejemplo asi:
  .
   .
    .|
   . |
. .  |
__.___|

Se entiende? Gracias.

PD: vaya no se muestra bien la imagen, seria algo como mover un objeto en diagonal y cuando llega a un borde rebote con 90? siguiendo la trayectoria.
14
No, al contrario, quiero que cuando el enemigo dispare , la bala se dirija al jugador.

En el dibujo de arriba, el enemigo es el cuadrado y el jugador es la elipse.
la vista se desplaza hacia arriba y tanto el enemigo como el jugador se desplazan en la misma velocidad que la vista, para que queden dentro de la pantalla.
15
Hola, estoy haciendo un shooter de naves con views. La vspeed de la view es -2, se desplaza hacia arriba en una pantalla "background de 4800pixeles".

Cuando un enemogo esta dentro de la vista, dispara una bala a la nave dle jugador pero la bala no continua la trayectoria , creo que por la velcocidad de la view. por lo que dependiendo del angulo, el jugador si no se mueve la bala no le impacta. Si el jugador se pone justo encima o debajo del enemigo, la bala si impacta porque va recta. Es como si tuviera que corregir el angulo y velocidad de la trayectoria.

POr poner un ejemplo es como cuando vas en coche y tiras un papelito por la ventana (no se debe hacer chicos!). el papelito se desplaza hacia atras como una especie de parabola por la inercia del coche.

Imagen explicativa:



He probado esto pero tampoco funciona:

direction=point_direction(x,y,obj_plane.x,obj_plane.
y);
speed=15;

Alguna idea????