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

196
Preguntas y respuestas / Re: Ayuda Con Mask de Ataque
Noviembre 12, 2009, 05:17:57 PM
el personaje cuando ataca tiene un sprite, no se que nombre le habras puesto pero llamemosle "Atacando".
Pero el personaje puede atacar hacia la izquierda o hacia la derecha por lo que tenemos dos sprites "Atacando" osea: "AtacandoIzquierda" y "AtacandoDerecha"

En el evento setp del enemigo pones lo siguiente:

if(Personaje_principal.sprite_index = "AtacandoDerecha")//se verifica que ataque a la derecha
{
if(Personaje_principal.x < x)// Se verifica que el personaje este a la izquierda del "malo"
{
 if(Personaje_principal.x+30 > x)// Se verifica que el personage este a menos de 50 pixeles de distancia del enemigo, yo puse 30 pero en realidad tienes que poner una cantidad igual al largo del latigo
 {
  instance_destroy();
 }
}
}

//Lo mismo pero para el otro lado
if(Personaje_principal.sprite_index = "AtacandoIzquierda")
{
if(Personaje_principal.x > x)
{
 if(Personaje_principal.x-30 < x)
 {
  instance_destroy();
 }
}
}


recuerda poner el nombre de los sprite y de los objetos correctos...
197
Preguntas y respuestas / Re: Hacer globales
Noviembre 12, 2009, 04:13:10 PM
no esta muy clara la pregunta (almenos para mi  :-[)

si te refieres a crear variables globales es asi:

escribes el nombre de la variable presedido de un global.
luego le asignas un valor a esa variable global

Ejemplo

global.Variable = 0

(la puedes crear en cualquier lado, recomiendo que sea en el eento create del personage principal o de algun objeto que no desaparesca)
198
pones en el evento destroy del objeto 1

el siguiente codigo:
with(objeto_2) instance_destroy();
199
en el ejecutable del GIA 2 se aplica esa formula o ley o como se llame

Habia una variable (enrealidad constante) que era speed_accel, si la nave aselerava su velocidad a cada step aumentava una cantidad igual a la acleracion. (tambien existia una varialbe friction pero no la voy a tomar en cuenta)

por concecuancia si la nave estava en la posicion X = 100, si su velocidad inicial era de 0 y su speed_accel era de 0,25 efectibamente se puede calcular la posicion final en funcion del tiempo. Por ejemple si acceleramos durante 10 spetp la posicion final seria:

Vi+Tiemp*Acel=Vf
(Vi+Vf)/2*Tiempo= Desplazamiento
Xi+Desplazamiento=Xf

(el Desplazamiento es el calculo del area de la funcion F(Tiemp)=V, la aceleracion seria la pendiente)

en el ejemplo la posicion al cabo de 10 steps seria 112 (si no e salieron mallas cuantas  :-[)

en fin descarga el editable del GIA2 que en el se aplica una fisica vastante creible
200
Preguntas y respuestas / Extra?o error
Noviembre 10, 2009, 09:57:48 PM
CitarERROR in
action number 1
of  Step Event
for object GuerreroGrifo:

In script AtacarDistancia:
Error in code at line 89:
      if((i-COR1)>=-(j-COR2)/2 && (i-COR1) <= -2*(j-COR2) && ((i-COR1)>=MinAlc || (j-COR2)<=-MinAlc) && global.Esp[i,j].COR1 = Selector.COR1 && global.Esp[i,j].COR2 = Selector.COR2)

at position 120: Unknown variable COR1

No entiendo el porque de este error, sobretodo porque aparece en la linea 89 mientras que en las lineas 85 y 87 ya se hacia referencia a la variable COR1

cada objeto tiene su variable local COR1, mientras transcurre el juego esta variable cambia de valor pero nunca es eliminada...

el script se da en un objeto que si tiene la variable COR1 (verificado por el debug mode), no entiendo porque la desconoce a esa variable

lo que mas me molesta es que no siempre se da el error, lo que me dificulta encontrar la causa

LES DEJO EL PEDASO UN PEDAZO DEL CODIGO...

if(global.Accion = 1 && keyboard_check_pressed(ord("S")))
{
Objetivo = -1;
if(Direccion = 1)
{
 for(i=COR1;i<=MaxAlc+COR1;i+=1)
 {
  for(j=COR2;j>=COR2-MaxAlc;j-=1)
  {
   if((i-COR1)>=-(j-COR2)/2 && (i-COR1) <= -2*(j-COR2) && ((i-COR1)>=MinAlc || (j-COR2)<=-MinAlc) && global.Esp[i,j].COR1 = Selector.COR1 && global.Esp[i,j].COR2 = Selector.COR2)
   Objetivo = global.Esp[i,j];
  }
 }
}


alguna sugenrencia o algo...?
201
Preguntas y respuestas / Re: Ayuda Con Mask de Ataque
Noviembre 10, 2009, 08:24:52 PM
la funcion es:
instance_create(x,y,obj)

en este caso seria:
instance_create(personaje.x + A ,personaje.y - B ,obj)

en el A y en el B va el valor de diferencia que deveria haber entre la ubicacion del personage y la del latigo

si no entendiste eso ultimo, proba el juego y ajusta el valor de A y B asta que quede bien  :-[
202
eso me resulta bastante raro, los teclados no soportan mas de cierto limite de teclas pero por lo generas si soportan 3, sobretodo si son teclas de distintos tipos.

no se, pero lo de la tecla espacio lo unico que afecta es el sprite, no deveria cambiar para nada el movimiento  ???

prueba transferir el evento de la tecla espacio al clic izquierdo o derecho, si de esa manera si funciona supongo que el problema es de el teclado...
203
deveras?  ??? ??? ??? ??? ???

probaste asi, ?verdad?

if(!keyboard_check(vk_space))//el ! significa que NO
{
if(keyboard_check(vk_left) ) sprite_index = sprite_que_mira_a_la_izquierda
if(keyboard_check(vk_right)) sprite_index = sprite_que_mira_a_la_Derecha
if(keyboard_check(vk_up) ) sprite_index = sprite_que_mira_a_la_arriba
if(keyboard_check(vk_down)) sprite_index = sprite_que_mira_a_la_abajo
}

//en movimiento
if keyboard_check(vk_left)     {if place_free(x-2,y) x-=2};
if keyboard_check(vk_right)   {if place_free(x+2,y) x+=2};
if keyboard_check(vk_up)      {if place_free(x,y-2) y-=2};
if keyboard_check(vk_down) {if place_free(x,y+2) y+=2};
//detenido
if keyboard_check_released(vk_left)    {x-=0};
if keyboard_check_released(vk_right)  {x+=0};
if keyboard_check_released(vk_up)     {y-=0};
if keyboard_check_released(vk_down) {y+=0};


en el evento step
204
cambia los sprites de la siguiente manera:

pon en evento step:

if(!keyboard_check(vk_space))//el ! significa que NO
{
if(eyboard_check(vk_left) ) sprite_index = sprite_que_mira_a_la_izquierda
if(keyboard_check(vk_right)) sprite_index = sprite_que_mira_a_la_Derecha
if(keyboard_check(vk_up) ) sprite_index = sprite_que_mira_a_la_arriba
if(keyboard_check(vk_down)) sprite_index = sprite_que_mira_a_la_abajo
}

//cambiara el sprite solo si no esta apretado space
205
me intereso el tema, ?me pueden decir cuanto RAM ocuparia un juego masomenos sencillo?
206
para cambiar la direccion pones en codigo:

direction = "la direccion en grados que quieras"

para cambiar el sprite pones en codigo:

sprite_index = "nombre del sprite"

(la direccion es en grados, sentido antiorario, y comiensa desde la derecha)

o => derecha
90 => arriba
180 => izquierda
270 => abajo
puedes poner valores intermedios si quieres
207
Preguntas y respuestas / Re: Step VS Draw
Noviembre 02, 2009, 08:17:59 PM
yo creo que no es el evento sino que las acciones lo que enlentese los juegos, las acciones de "dibujar" en pantalla algo son lentas pero los calculos no creo que te enlentescan el juego y es lo mismo hacerlos en draw que en step
208
Preguntas y respuestas / Re: Saltos tipo pez.
Noviembre 02, 2009, 06:04:32 PM
en el D&D hay una accion que es set gravity (son dos flechas asules que apuntan acia avajo) no estoy seguro de como era exactamente que se usa pero es lo que nesesitas, prueva hacer que cuando salte aumena la gravedad con esa accion

no te puedo ayadar mucho mas porque nonca uso ese tipo de movimiento Xp
209
talves si supiera que es mp_potential_step podria alludarte  :-\
210
alguien me recuerda como entrego la IA o el editable?

otras preguntas de ultimo momento  :-[

puedo hacer referencia (solo checarla) a la variable tiempo del objeto obj_ctrl?

Para que en la competancia emves de que aparesca "Jugador2" aparesca "Alfonsos1" que tengo que hacer?, o de eso se encarga kraken?

Con vercion lite te puedo dejar un sprite de mi nave dentro del editable para que lo pongas luego?