Resultados 1 al 6 de 6

Tema: Replica del Mario en proceso

  1. #1
    Fecha de ingreso
    Aug 2006
    Mensajes
    427

    Talking Replica del mario en proceso

    Bueno, estoy programando en Blitz, un poco para aprender y no perder la practica, una réplica del Mario Bros. Esta recién en pañales, pero publico para obligarme a atenderlo y seguir avanzando. Acá dejo una muestra.

    A ver que opinan, yo me distancie un poco de todos aprendiendo más 2d que 3d que tengo poca idea porque hace rato que les perdí la pista a los del hilo del Blitz basic 3d que la tienen muy clara. A ver si alguno le vienen un poco de ganas de hacer algo en 2d. Saludos, el aprendiz 3d.

    Posdata: además, hablando de Mario miren esto que está muy bien.
    JFGI

  2. #2
    Fecha de ingreso
    Dec 2004
    Mensajes
    3,497

    Replica del mario en proceso

    Lo veo muy simpático, espero ver más del proceso.
    Cita Iniciado por A78 Ver mensaje
    Donde esta la curiosidad en los jovenes de hoy!!!
    Portafolio: http://felipe3dartist.blogspot.com/
    Super Mario Berracus (WIP): http://www.foro3d.com/f37/3ds-max-su...tml#post886807

  3. #3
    Fecha de ingreso
    Jun 2008
    Mensajes
    518

    Replica del mario en proceso

    Mola el Mario. No salta un poco alto? Yo me estoy metiendo ha programar 2d en darkgdk, para programar de verdad (el 3d también es programar de verdad, pero casi te tiras más tiempo modelando que otra cosa).

  4. #4
    Fecha de ingreso
    Aug 2006
    Mensajes
    427

    Replica del mario en proceso

    Gracias a los dos por los comentarios, es verdad que salta alto, lo que tengo pensado hacer es conseguir un Mario para medir las velocidades y lo alto que salta etc, cosa de hacerlo más parecido posible.

    Mientras tanto aquí les dejo el código hasta ahora, y un (*.zip) con todo junto para correrlo. El único avance que tiene con respecto al video es el que al saltar muestre la frame con el brazo para arriba como es en verdad. Probando eso me di cuenta que si al saltar uno aprieta la barra espaciadora todavía en el aire otra vez, Mario al tocar el piso se acuerda de que la presionaste y vuelve a saltar. Es una exquisitez y me gustaría arreglarlo, pero despertó más mi curiosidad esto porque no creo que el código lo permita:
    Dice específicamente:
    Código:
    if my < 300 ;fall.
    (.)
    Else.
    
    If keyhit(57)
    Jump=true.
    
    Else.
    
    Endif.
    
    If Jump=false then mvy=0.
    
    Endif
    O sea que no debería de responder al presionar la barra espaciadora en el aire. Díganme por favor si estoy pasando algo por alto. ¿es esto un bug en Blitz o qué?
    Bueno, en fin, aquí está el código.
    Código:
    graphics 800,600,16,2.
    
    Setbuffer backbuffer().
    
    Mario=loadanimimage (Mario, (*.png),64,76,0,13)
    Maskimage Mario,255,0,255.
    
    Mario.
    
    Global mx=300 ;posición x.
    
    Global my=300 ;posición y.
    
    Global mvy=0 ;velocidad y.
    
    Global max=10 ;aceleración x.
    
    Global mayg=15 ;aceleración de la gravedad.
    
    Global m=1 ;masa.
    
    Global mf=6 ;frame.
    
    Global ms=0 ;estado.
    
    Global mt=0 ;indicador tiempo.
    
    Global mi=true ;indicador intervalos.
    
    Salto.
    
    Global Jump=false ;verdadero si esta saltando.
    
    Global jumpi=0 ;indicador salto.
    
    Global jumpimax=3 ;duración del salto.
    
    General.
    
    Global fps=30 ;frames por segundo.
    
    Timer = createtimer(fps) ;timer para fps.
    
    Mf, ms ;
    ; 0 ; 0, agachado <
    ; 1 ; 1, saltar <
    ; 2 ; 2, deslizando <
    ; 3.4.5 ; 3, caminar <
    ; 6 ; 4, parado <
    ; 7 ; 5, parado >
    ; 8.9.10 ; 6, caminar >
    ; 11 ; 7, deslizando >
    ; 12 ; 8, saltar >
    ; 13 ; 9, agachado >.
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.
    While not keyhit(1).
    
    Cls.
    
    Line 0,376,800,376
    Line 0,55,800,55
    Line 100,55,100,376
    Line 200,55,200,376
    Line 300,55,300,376
    Line 400,55,400,376
    Line 500,55,500,376
    Line 600,55,600,376
    Line 700,55,700,376.
    
    If keydown(203) ;left.
    Walkl()
    Elseif keydown(205) ;right.
    Walkr()
    Else.
    
    If mx < 400
    Ms = 5
    Mf = 7
    Else.
    
    Ms = 4
    Mf = 6
    Endif.
    
    Endif.
    
    If mx < -50 then mx = 800
    If mx > 800 then mx = -50.
    
    If my < 300 ;fall.
    
    Mvy = mvy + mayg.
    
    If (my + mvy) > 300 then mvy = 300 - My.
    
    Else.
    
    If keyhit(57)
    Jump=true.
    
    Else.
    
    Endif.
    
    If Jump=false then mvy=0.
    
    Endif.
    
    If Jump=true ;jump loop.
    
    If ms>4 then ms=8
    If ms<5 then ms=1
    If ms=8 then mf=12
    If ms=1 then mf=1
    Mvy = mvy - 20
    If jumpi = jumpimax.
    
    Jumpi=0
    Jump=false.
    
    Else.
    
    Jumpi = jumpi + 1
    Endif.
    
    Else.
    
    Endif.
    
    My = my + mvy.
    
    Drawimage Mario,mx,my,mf.
    
    Delay 100
    Flip.
    Wend.
    
    End.
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;.
    
    Function walkr()
    T = 0
    If ms = 3 and max = 20
    Mt = 0
    Ms = 7
    Mac = false, si ms es caminando para el otro lado deslizar |
    Endif.
    
    If ms = 7, deslizar |
    Mf = 2
    Mt = mt + 1
    Mx = mx - 5 + mt.
    
    If mt = 5
    Ms = 6
    Mf = 9
    Mt = 0
    Max = 5
    Endif.
    
    Else.
    
    If ms <> 6, inicialización |
    Ms = 6
    Mf = 9
    Mt = 0
    Max = 5
    Endif.
    
    If mt < 5 then mt = mt + 1, mt incrementando |
    If max < 20 then max = max + mt, aceleración incrementando |
    Mx = mx + max, mov cord x |
    If mf = 9 and mi = true, cambios de frame : patai - Medio - Patad - Medio - Patai. |
    Mf = 10
    Mi = false.
    
    Elseif mf = 9 and mi = false.
    
    Mf = 8
    Mi = true.
    
    Else.
    
    If mf = 10 then mf = 9
    If mf = 8 then mf = 9
    Endif.
    
    Endif.
    
    End function.
    
    Function walkl()
    T = 0
    If ms = 6 and max = 20
    Mt = 0
    Ms = 2
    Mac = false, si ms es caminando para el otro lado deslizar |
    Endif.
    
    If ms = 2, deslizar |
    Mf = 11
    Mt = mt + 1
    Mx = mx + 5 - Mt.
    
    If mt = 5
    Ms = 3
    Mf = 4
    Mt = 0
    Max = 5
    Endif.
    
    Else.
    
    If ms <> 3 ;inicialización |
    Ms = 3
    Mf = 4
    Mt = 0
    Max = 5
    Endif.
    
    If mt < 5 then mt = mt + 1, mt incrementando |
    If max < 20 then max = max + mt, aceleración incrementando |
    Mx = mx - Max, mov cord x |
    If mf = 4 and mi = true, cambios de frame : patai - Medio - Patad - Medio - Patai. |
    Mf = 5
    Mi = false.
    
    Elseif mf = 4 and mi = false.
    
    Mf = 3
    Mi = true.
    
    Else.
    
    If mf = 5 then mf = 4
    If mf = 3 then mf = 4
    Endif.
    
    Endif.
    
    End function.
    -
    Saludos, el aprendiz 3d.

    Posdata: si alguno conoce algún Mario que me pueda bajar, o código de un Mario por favor háganmelo saber.
    Archivos adjuntados Archivos adjuntados
    JFGI

  5. #5
    Fecha de ingreso
    Jun 2008
    Mensajes
    518

    Replica del mario en proceso

    Algunos no tenemos el Blitz, sabes?

  6. #6
    Fecha de ingreso
    Aug 2006
    Mensajes
    427

    Replica del mario en proceso

    Bueno, estaba buscando alguien que sí tuviera interés en el Blitz, si te gustaría meterte en el tema puedes conseguir una versión de demostración del Blitz en la página oficial.

    Lo único que pido es alguien que me afirme que no es un problema de código el mío, que el problema que tengo no debería estar pasando. Para eso no hay que saber mucho más que lo que es un if.

    No quiero sonar sorete, pero me vendría bien una mano.
    JFGI

Temas similares

  1. Respuestas: 0
    : 13-05-2009, 19:00
  2. Respuestas: 1
    : 11-03-2009, 03:45
  3. Replica aseo de mi casa
    Por makevov en el foro Trabajos Finalizados
    Respuestas: 17
    : 22-10-2008, 00:47
  4. Mp30 airsoft Gun replica 3d
    Por Mataii en el foro Trabajos en Proceso
    Respuestas: 13
    : 08-02-2007, 20:57
  5. Replica escena de Blade Runner
    Por N3BB3Z4R en el foro Trabajos en Proceso
    Respuestas: 3
    : 09-06-2004, 11:41