Hola, tengo un problema, estoy haciendo un juego de plataformas y el salto funciona bien, pero quiero que haya un tipo de suelo al que desde abajo puedas saltarlo y desde arriba sea solido...
De momento lo que yo he intentado ha sido esto:
(http://i39.tinypic.com/2nk12d2.jpg)
Muchas gracias de antemano
Mira este ejemplo. (Es de "3dgeminis")
Pff...
Lo siento, soy un negado, y lo cierto es que funciona perfectamente en el otro, pero no entendí muy bien como adaptarlo al mio, mira la información de mi personaje es esta:
Information about object: obj_kirby
Sprite: spr_kirby_der
Solid: false
Visible: true
Depth: 0
Persistent: true
Parent: <no parent>
Mask: <same as sprite>
Create Event:
set variable NextLvl to 0
set variable Cantidad to 0
set variable Dire to 1
set variable Moverse to 1
set variable Absorver to 0
set variable Fuego to 0
set variable Hielo to 0
set the sprite to spr_kirby_der with subimage 3 and speed 0.25
Step Event:
if relative position (0,1) is collision free for Only solid objects
set the gravity to 1 in direction 270
else
set the gravity to 0 in direction 270
if vspeed is larger than 18
set the vertical speed to 18
Collision Event with object obj_e_fuego:
if expression vspeed > 0 && y < other.y+64 is true
if relative position (0,1) gives a collision with Only solid objects
set the vertical speed to -8
for other object: destroy the instance
else
set the number of lives relative to -1
jump to the start position
set variable Fuego to 0
set variable Hielo to 0
Collision Event with object obj_suelo_inicial:
move in direction direction at most 12 till a contact with solid objects
set the vertical speed to 0
Collision Event with object obj_bola_fuego_en:
for other object: destroy the instance
if Fuego is equal to 0
set the number of lives relative to -1
jump to the start position
if Fuego is equal to 1
exit this event
Collision Event with object obj_goto_next_lvl:
if next room exists
go to next room with transition effect <no effect>
Collision Event with object obj_arenas_movedizas:
if vspeed is larger than 0
move in direction direction at most 12 till a contact with all objects
set the vertical speed to 0
if vspeed is equal to 0
move in direction direction at most 12 till a contact with all objects
set the vertical speed to 0
if vspeed is smaller than 0
exit this event
Collision Event with object obj_suelo_salto:
if vspeed is larger than 0
move in direction direction at most 12 till a contact with all objects
set the vertical speed to 0
if vspeed is smaller than 0
Collision Event with object obj_e_hielo:
if expression vspeed > 0 && y < other.y+64 is true
if relative position (0,1) gives a collision with Only solid objects
set the vertical speed to -8
for other object: destroy the instance
else
set the number of lives relative to -1
jump to the start position
set variable Fuego to 0
set variable Hielo to 0
Collision Event with object obj_bola_hielo_en:
for other object: destroy the instance
if Hielo is equal to 0
set the number of lives relative to -1
jump to the start position
if Hielo is equal to 1
exit this event
Keyboard Event for <Left> Key:
if Moverse is equal to 1
COMMENT: Si esta permitido Moverse
if relative position (-6,0) is collision free for Only solid objects
jump relative to position (-6,0)
set variable Direccion to -1
if Moverse is equal to 0
COMMENT: Si no esta permitido Moverse
exit this event
Keyboard Event for <Up> Key:
if Moverse is equal to 1
if relative position (0,1) gives a collision with Only solid objects
set the vertical speed to -16
if Moverse is equal to 0
COMMENT: Si no esta permitido Moverse
scale the sprite with 1 in the xdir, 1 in the ydir, rotate over 0, and no mirroring
Keyboard Event for <Right> Key:
if Moverse is equal to 1
if relative position (6,0) is collision free for Only solid objects
jump relative to position (6,0)
if Moverse is equal to 0
COMMENT: Si no esta permitido Moverse
exit this event
Keyboard Event for X-key Key:
if Fuego is equal to 1
if Cantidad is equal to 0
set time line tim_lanzamiento at position 0, Start Immediately and Don't Loop
if Hielo is equal to 1
if Cantidad is equal to 0
set time line tim_lanzamiento at position 0, Start Immediately and Don't Loop
Key Press Event for <Left> Key:
if Fuego is equal to 0
set the sprite to spr_kirby_andar_izq with subimage 3 and speed 0.25
if Hielo is equal to 0
set the sprite to spr_kirby_andar_izq with subimage 3 and speed 0.25
if Fuego is equal to 1
blend the sprite with color 16744703 and alpha value 1
if Hielo is equal to 1
blend the sprite with color 16711680 and alpha value 1
set variable Dire to -1
Key Press Event for <Right> Key:
if Fuego is equal to 0
set the sprite to spr_kirby_andar_der with subimage 3 and speed 0.25
if Hielo is equal to 0
set the sprite to spr_kirby_andar_der with subimage 3 and speed 0.25
if Fuego is equal to 1
blend the sprite with color 16744703 and alpha value 1
if Hielo is equal to 1
blend the sprite with color 16711680 and alpha value 1
set variable Dire to 1
Key Press Event for Z-key Key:
if Fuego is equal to 0
if Absorver is equal to 0
if relative position (0,1) gives a collision with Only solid objects
set time line tim_absorver at position 0, Start Immediately and Don't Loop
if Fuego is equal to 1
if Absorver is equal to 0
if relative position (0,1) gives a collision with Only solid objects
set time line tim_absorver at position 0, Start Immediately and Don't Loop
else
exit this event
if Fuego is equal to 1
set variable Fuego to 0
if Hielo is equal to 1
set variable Hielo to 0
Key Release Event for <Left> Key:
if Fuego is equal to 0
set the sprite to spr_kirby_izq with subimage 3 and speed 0.25
if Hielo is equal to 0
set the sprite to spr_kirby_izq with subimage 3 and speed 0.25
if Fuego is equal to 1
blend the sprite with color 16744703 and alpha value 1
if Hielo is equal to 1
blend the sprite with color 16711680 and alpha value 1
Key Release Event for <Right> Key:
if Fuego is equal to 0
set the sprite to spr_kirby_der with subimage 3 and speed 0.25
if Hielo is equal to 1
set the sprite to spr_kirby_der with subimage 3 and speed 0.25
if Fuego is equal to 1
blend the sprite with color 16744703 and alpha value 1
if Hielo is equal to 1
blend the sprite with color 16711680 and alpha value 1
La gran mayoría no tiene nada que ver, pero es simplemente porque no se que puedo hacer, muchas gracias de antemano...