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

1906
en principio no deberías tener ningún problema si al tratar de MOVER la view, usas view_xview/yview... si te falla, yo revisaría bien el código, a veces las cosas más absurdas son las que nos rompen la cabeza, también estaría bien que pusieras aquí lo que hayas hecho... por otra parte, normal que no sepas con D&D, ya que con D&D fijo es un infierno, te digo lo que la mayoría dice... olvida el D&D si quieres un juego decente, no es más diicil aunque lo parezca, te resolverá la vida, te lo aseguro...

otra cosa, por lo que he leido en tu post, creo que quieres manipular esas funciones porque quieres que de un efecto como de que va más lento al seguir al player? de ser así, mírate en las views, las casillas hsp y vsp
1907
para rotar, en step del objeto: image_angle += numero; //+= en sentido del reloj, -= a contrarreloj.

y sobre lo que dices de iniciarlo a partir de otro objeto, si no me equivoco en lo que creo que preguntas...

en el bjeto que rota, añádele una variable, por ejemplo "rotar = 0;" y en el código que te dije antes, enciérralo en un "if rotar = 1..."

entonces cuando creas el objeto que rota con el instance_create ponlo así:

variable = instance_create(x,y,obj_querota);
variable.rotar = 1;

y listo, tal como se crea, pone su variable rotar en 1, la cual permite empezar tal rotación.
y depaso, puedes hacer que se inicie más tarde si quieres... pero bueno, si la rotación se inicia al crearse el objeto, eso de usar otro para activar la rotación, lo veo una tontería... y si tu pregunta no era esa, sino que quieres tener el objeto en la room que ya ha iniciado, pero que el objeto esté desactivado... tienes la funcion "instance_deactivate"
1908
claro que hay malos, pero insisto, un solo videotutorial, el hecho de ser un video, no tienes más que mirar, sea como sea como expliquen xd.

y bueno, ahora que has sido más específico sí puedo responderte.
sobre las 8 direcciones, recuerda que tienes la variable direction xd e image_angle = direction; para que vaya la bala recta siempre.
Para que detecte las teclas, seguro que conocerás "keyboard_check", pues con lo que probablemente ya hayas aprendido, solo tienes que pensar la lógica. por ejemplo, teclas arriba e izquierda, lanza una bala que va en diagonal a esa dirección...

en el step del player o el arma, según lo tengas:
if keyboard_check_pressed(vk_up) and keyboard_check_pressed(vk_let)
{
   bala = instance_create(x,y,obj_bala); //al poner la creación de una instancia en una variable, posteriormente puedes manipular sus variables locales, de la siguiente manera:
   bala.direction = 225; //225 es el ángulo exacto de "arriba-izquierda", arriba-derecha sería 315, abajo-derecha sería 45 y abajo-izquierda sería 135
}

de esta manera se creará tal bala que tú quieres, y autmáticamente le asignas la dirección que deseas, claro que en la bala debería tener un speed, sinó no se mueve xddd, puedes usar variables propias en vez de las que vienen en gm, como siempre ;)
Espero que con este ejemplo, puedas intuir tú mismo las demás direcciones :/

Sobre el personaje, claro, puedes tenerlo en dos partes, o tres o tresmil xd, piensa que, puedes poner en un objeto las piernas, que serán las que tenga el engine plataformero con su respectiva animación y el objeto cuerpo, que tenga un x=obj_piernas.x; y lo mismo con la y, acomodándolo para que esté vien puesto y claro, recomiendo dibujar el sprite en el evento draw, para que no haya retraso al seguir las piernas, con lo siguiente exactamente:
draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_angle,image_blend,image_alpha);
esa función, sin que edites nada, en el evento draw, es similar al nuevo "draw_self" en GMS, y así podrás cambiar sus atributos como si no estuvieras usando el draw y depaso, puedes aprovechar el evento para dibujar más cosas, recuerda que si usas el draw, el sprite ya no se dibuja, por eso te di ese código, y lo dicho, para evitar el retraso al seguir las piernas, dibujar es más veloz xd.

Así usas la parte del cuerpo sin piernas, para ir cambiando el sprite según la dirección que dispare y/o ande, como tú veas.


Alguna pregunta más? xd
1909
bueno, piensa que cuenta el punto donde túpusiste que lo detecta, por ejemplo en la derecha "place_loquesea(x+2,y); 2 por ejemplo, y también cuenta la velocidad en la que vaya el objeto... por ejemplo si un objeto está en la coordenada x = 0; y va a una velocidad de 4, al colisionar con otro que su xoffset esté en 65 por ejemplo, pues de 0, de 4 en 4 siendo esa su velocidad, pues colisionaría estando en 32, contando que fuera un sprite de ancho 32px, pues la colisión la cuenta a partir del último pixel de su mask, según la dirección en la que colisiona, pues estando en la coordenada 32, ya que va de 4 en 4, 32+32 que es su ancho = 64 y en el place_tal pusiste x+2, por lo tanto detecta a la 66 por lo tanto hay 2 píxels que están colisionando, el 66 y el 65... espero haberme explicado, claro que es solo para que entiendas cómo funciona, pues espero que el siguiente te diga una fórmula mágica para saber siempre cual es el punto exacto, yo no sé ni si existe xD
1910
Preguntas y respuestas / Re:Apila Bloques
Octubre 22, 2014, 01:26:30 PM
crea el objeto bloque con su respectiva gravedad (espero no tener que explicarte algo tan simple xd), y en el evento tecla del objeto que quieras, pero que esté siempre presente en la room, instance_create(x,y,obj_bloke); nada del otro mundo... al bloque puedes ponerle un if !place_free(x,y+speed) {gravity = 0; vspeed = 0;} //speed o la variale que uses para su velocidad, lo más simple sea la vspeed que la usa el mismo gravity. Esto para que quede quieto un loque encima del otro, claro no te olvides de marcarles la casilla SOLID.

otra cosa, para centrar en cuadrícula, tienes move_snap(hsnap,vsnap); //siendo h la horizontal (x) y v la vertical (y) xd.
y por último, te recomiendo en el objeto que crea el bloke, añadirle una variable por ejemplo, "limite = 0" y donde pones el instance_create del bloque, encerrarlo en un "if limite == 0" y dentro también añadirle un "limite = 1; alarm[0]=10" luego en la alarm 0 o la que hayas puesto, poner un "limite = 0;". es para que no puedas poner tan seguido dos bloques, ya que una vez hice un juego así, tipo sandbox y si pones tan seguido, se colisionan entre ellos y se quedan pegados quietos en el aire xdd. recuerda, el alarm[0]=10.. ese 10 ponlo según tu preferencia.

Eso es todo, a ver que tal :)
1911
Con los tutoriales asicos de plataforma, ya valen para el sistema de contra, ya que contra tampoco es nada del otro mundo, más que un personaje en plataformero 2D que dispara... y los tutoriales de esto (que es de lo que MÁS HAY en toda la red, en todos los idiomas), no creo que sean mal explicados como tú dices, tanto que hay tantísimos videotutoriales, que aun que estuvieran en checo se entiende solo mirando y haciendo lo mismo :/ al igual que cientos de engines, desde el más simple al más avanzado... eso en el movimiento del personaje, incluidos de dole salto si lo quieres, ahora no recuerdo si el contra tenia doble... sore el disparo, tamién hay muchisimos buenos videotutoriales.

Y bueno... si te diste cuenta, este mensaje lo ignoraron, y la razón es la típica, pues lo normal es preguntar dudas concretas, no decir cómo se ace un juego... ya que simplemente, es imposible re responder, a no ser que sea, haciéndote el juego para ti... pero a lo que voy... dime, qué tal se te dan los sprites? contra es el tipo de juegos que me encantan pero todos mis proyectos fracasan porque me canso con los penosos sprites que yo hago... quieres colaboración al programar de mi parte? uso gm80
1912
Intercambio / Re:Busco un buen programador
Octubre 15, 2014, 09:04:47 PM
pues creo ke el autor del mensaje no volverá a apareces nunca más xd
1913
Preguntas y respuestas / Re:Crear cuenta
Octubre 15, 2014, 08:54:39 PM
pues entonces, le recuerdo que puede usar el código game_save(fname); con el nombre Y LA EXTENSION que quiera, no solo .sav, puede serpersonalizado y cargarlo con game_load(fname); es lo que uso yo siempre para hacer cuentas, lo más simple y a la vez (en mi opinion) lo más chupi piruli xd
1914
yo tengo todas, pero instalado y el que uso, el 8.0, el mejor en mi opinión
1915
Preguntas y respuestas / Re:Sistema de experiencia
Octubre 07, 2014, 06:39:57 PM
puedesponer una healthbar como dice marth y encima poner un draw text con las dos variables, la ex y la maxex separadas con una barra, pero te aconsejo que edites el código y los calculos los encierres con un "round()" para que no te pete de decimales todo :) aunque si lo haces solamente en la muestra del draw text, mejor, así no desvaría la media de subida de exp y todo es más preciso :P


PD: creo que lo hice bastante entendible, poniendo anotaciones en absolutamente todo xd
1916
Preguntas y respuestas / Re:Sistema de experiencia
Octubre 07, 2014, 01:14:12 PM
yo me inventé un sistema, y bueno, aquí te lo expongo xd

en create del jugador, tendríamos las variables:
ex = 0; //experiencia, pongo ex, en vez de exp, porque exp ya existe en gml xd
maxex = 10; //experiencia a llegar para subir nivel
level = 1; //o cero, como prefieras xd
   sub = 2.5; //esto es para controlar la media de subida de maxex por subida de level, a más número, más dificultad de subir nivel. el 2.5 para mí es una buena media conforme a una división que haré en step


y en step:

if ex >= maxex
{
   suma = ex-maxex; //Para sumarle luego un poco la exp por si consigues más del máximo, se leañadirá luego un poquito al empezar un nuevo nivel
   level+=1; //subimos nivel
   maxex += maxex*(sub/5); //y aquí la subida de maxex para que el siguiente nivel cueste más de llegar, el 5 es el número que a mis propias pruebas, va mejor según mi criterio. Eso tú verás xd
   ex = suma; //el poquito que se le añade por si te pasas de exp al subir nivel y así no se desperdicia xd
}


Y bueno, en los enemigos, yo le pondría una variable por ejemplo "ex" también, y en el evento destroy o como tengas puesto cuando muere, poner un "obj_player.ex += ex;" para que se le sume, aunque eso ya lo sabrás xd, solo remarcaba que te recomiendo usar una variable, para cuando copies otros enemigos o quieras modificar, se te sea más fácil xd
1917
yo empecé a hacer un juego de este tipo pero de cachondeo, los materiales eran cosas como "bloque mortadela "bloque mortadela con olivas", bloque tomate, que cuando lo pisabas explotaba, bloque tele, bloque persona, bloque caritahappy, etc.. tonterías varias, pero con sus funciones, y el bloque que tenias seleccionado era la cabeza el player...

Bueno espera, voy a buscarlo y lo posteo xd no lo tengo en este pc, ya lo postearé aquí mismo

(si no quieren, diganmelo xd)
1918
Por cierto, el "action_potential_step" no es más que el D&D de "step avoiding", el último de la pestaña move ;)
1919
yo siempre puse eso y me ha funcionado bien :/
1920
Intercambio / Re:Busco un buen programador
Octubre 05, 2014, 07:06:39 PM
tengo los dos, uso el 8