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

1
Cita de: getnoff en Julio 17, 2019, 08:43:11 PM
¿Revisaste que los puntos de origen de todos los sprites estén alineados? a veces por esta causa los objetos no se posicionan correctamente unos con otros.

ya lo pude solicionar, el problema era a la hora de las coordenadas  :-[
2
Cita de: Silver_light en Julio 18, 2019, 01:02:31 AM
Me gusta tu algoritmo, fácil de entender e intuitivo de primeras. Aún asi te dejo mi propuesta, un script que hace lo mismo pero personalizado.
[gml]
var xs = argument0;
var ys = argument1;
var obj = argument2;
var radio_min = argument3;
var radio_max = argument4;

randomize();

var d = irandom(360);
var r = irandom_range(radio_min, radio_max);
var xx = cos(degtorad(d)) * r;
var yy = -sin(degtorad(d)) * r;

instance_create(xs + xx, ys + yy, obj);
[/gml]

Bastaría llamarlo como:
scr_create_radio(x, y, objeto, 50, 100);

Para que crease el item dentro del radio de 50 y 100 pixeles.
Habría que colocar la condición para cuando no hay espacio libre solamente.

no se me habia ocurrido hacerlo asi! genial para que tambien sirva como sistema de loot para los enemigos.
3
Hola, les comento que estoy aprendiendo a usar game maker asi que soy bastante noob :-[.

actualmente estoy haciendo el sistema de items de mi juego y para equiparse un objeto es al estilo "the binding of isaac" (esta el objeto en el suelo y si colisionas con el, te lo equipas y "sueltas" el que tengas equipado si es que tienes uno).

el sistema de equiparte y soltar el objeto ya  lo tengo hecho, el problema es a la hora de posicionar el objeto soltado. no se muy bien como hacer que el objeto se suelte a un rango mínimo y máximo del jugador.

he estado probando con un bucle "do" pero no se muy bien como hacerlo, el código con el que estaba probando es el siguiente (lo tengo puesto en el evento de colision con el jugador):


var obj, itemX, itemY;

obj = other.arrEquipSkill[other.equipSkill,5]; //este es el arreglo donde tengo puesto las habilidades, y esta es la posicion del item asociado

do{
   randomize();
   itemX = random_range(obj_player.x+100,obj_player.x-100);
   itemY = random_range(obj_player.y+100,obj_player.y-100);
   /// condicionar distancia del jugador
   disMax = point_distance(obj_player.x,obj_player.y,x,y) > 50;
   disMin = point_distance(obj_player.x,obj_player.y,x,y) < 100;
   noColision = place_free(x,y)

}until(disMax and disMin and noColision)

instance_create(itemX,itemY,obj) //crea la instancia del objeto asociada al arreglo de mas arriba

other.equipSkill = icon //ignoren esto, solo cambia el icono que se muestra en hud del jugador

instance_destroy())


PD: olvide comentarlo, el problema que tengo con este codigo es que no se porque, pero siempre me crea los objetos hacia abajo y la derecha del jugador :-[

espero haberme explicado bien, agradeceria mucho una mano con esto  :)

4
Cita de: 3dgeminis en Mayo 01, 2019, 10:06:40 PM
[gml]
///CREATE
velocidad=4
mover_vertical=true
mover_horizontal=true
[/gml]
[gml]
///STEP
///esta primera parte previene que se mueva en diagonal y no mezclar ambos ejes
if keyboard_check_pressed(vk_right) or keyboard_check_pressed(vk_left)
   {
    mover_horizontal=true
    mover_vertical=false
   }
if keyboard_check_pressed(vk_down) or keyboard_check_pressed(vk_up)
   {
    mover_horizontal=false
    mover_vertical=true
   }
 
///esta parte para evitar que el jugador se detenga cuando se presiona, por ejm., derecha e izquierda al mismo tiempo
if keyboard_check_pressed(vk_right) {keyboard_clear(vk_left)}
if keyboard_check_pressed(vk_left) {keyboard_clear(vk_right)}
if keyboard_check_pressed(vk_down) {keyboard_clear(vk_up)}
if keyboard_check_pressed(vk_up) {keyboard_clear(vk_down)}

///aqui solo se mueve; por ejm si se presiona derecha solo se movera si no se esta presionando arriba o abajo
if keyboard_check(vk_right) {x+=mover_horizontal*velocidad}
if keyboard_check(vk_left)  {x-=mover_horizontal*velocidad}
if keyboard_check(vk_down)  {y+=mover_vertical*velocidad}
if keyboard_check(vk_up)    {y-=mover_vertical*velocidad}
[/gml]

mil gracias!! estoy aprendiendo gml de a poco  :)
5
Hola saludos a todos, les cuento que estaba desarrollando un videojuego en RPG maker pero me limitaba en algunas ideas que tengo para mi proyecto así que decidí pasarme al game maker (aun sabiendo muy poco sobre como usarlo, porque soy masoquista supongo) y me he encontrado la primer piedra, nada mas al inicio...

he estado viendo varios sistemas de movimiento pero ninguno me convence del todo porque da errores (tipo que el personaje haga el "moonwalker" o se vuelva medio loco si aprietas izquierda y derecha a la vez, por ejemplo) y los que si se veían mas pulidos, me da error a la hora de escribir algunos códigos (no se si sera por la versión, uso la 1.4).

así que les agradecería si me pudieran dar ideas de como hacer o me pasaran sistemas de movimiento en 4 direcciones, si es en código, también agradecería que me explicaran el funcionamiento ya que como digo soy muy novato aun con este motor. gracias desde ya!