Suporte no desenvolvimento de jogos


    [Ajuda] - Frame de Movimentos do player

    avatar
    Feh
    Semi-Experiente
    Semi-Experiente

    Mensagens : 91
    Créditos : 10
    Cash : 0

    [Ajuda] - Frame de Movimentos do player Empty [Ajuda] - Frame de Movimentos do player

    Mensagem por Feh em Qua Out 30, 2019 1:26 am

    Bom, gostaria de aumentar a quantidade de frame de movimentos do player
    no caso é 2 paradas e 2 de movimento
    frame 1 e 3 = parado
    frame 2 e 4 = movimento

    gostaria de por 1,2,3 e 4 movimento
    e 5 parado

    ficaria assim:
    frame 5 = parado
    frame 1 a 4 = movimento

    alguém pode me ajudar ?
    grato desde já
    Mizuki
    Mizuki
    Novato
    Novato

    Mensagens : 25
    Créditos : 4
    Cash : 0

    Ficha do personagem
    Nível: 1
    Experiência:
    [Ajuda] - Frame de Movimentos do player Left_bar_bleue0/0[Ajuda] - Frame de Movimentos do player Empty_bar_bleue  (0/0)
    Vida:
    [Ajuda] - Frame de Movimentos do player Left_bar_bleue30/30[Ajuda] - Frame de Movimentos do player Empty_bar_bleue  (30/30)

    [Ajuda] - Frame de Movimentos do player Empty Re: [Ajuda] - Frame de Movimentos do player

    Mensagem por Mizuki em Seg Nov 04, 2019 1:25 pm

    Vamos la abra o cliente no visual basic 

    Der crt F e procure por
    Código:
    Public Sub BltPlayer(ByVal Index As Long)

    nessa sub vá em
    Código:
    ' Check for attacking animation
        If Player(Index).AttackTimer + (attackspeed / 2) > GetTickCount Then
            If Player(Index).Attacking = 1 Then
                Anim = 4
            End If
        Else

    ali onde está Anim = 4  o 4 e o numero da animação de ataque o frame de ataque 

    agora pra mudar a quantidade de frames

    ainda na mesma sub procure por
    Código:
    With rec
            .Top = spritetop * (DDSD_Character(Sprite).lHeight / 4)
            .Bottom = .Top + (DDSD_Character(Sprite).lHeight / 4)
            .Left = Anim * (DDSD_Character(Sprite).lWidth / 7)
            .Right = .Left + (DDSD_Character(Sprite).lWidth / 7)
        End With

        ' Calculate the X
        X = GetPlayerX(Index) * PIC_X + Player(Index).xOffset - ((DDSD_Character(Sprite).lWidth / 7 - 32) / 2)

        ' Is the player's height more than 32..?
        If (DDSD_Character(Sprite).lHeight) > 32 Then
            ' Create a 32 pixel offset for larger sprites
            Y = GetPlayerY(Index) * PIC_Y + Player(Index).yOffset - ((DDSD_Character(Sprite).lHeight / 4) - 32)
        Else
            ' Proceed as normal
            Y = GetPlayerY(Index) * PIC_Y + Player(Index).yOffset
        End If

    onde está 

    .Top = spritetop * (DDSD_Character(Sprite).lHeight / 4)
    .Bottom = .Top + (DDSD_Character(Sprite).lHeight / 4)
    .Left = Anim * (DDSD_Character(Sprite).lWidth / 7)
    .Right = .Left + (DDSD_Character(Sprite).lWidth / 7)

    onde está o 4 e a coluna de posição do personagem esquerda direita cima baixo de preferencia não mexer se vc não sabe como funciona direito

    onde está o 7 e a posição do personagem andando parado e batendo e ai que vc vai mexer por mais frames ao seu gosto

    vc tambem vai ter que mudar nessa parte aqui pra quantidade que vc quer ali onde está o 7
     X = GétPlayerX(Index) * PIC_X + Player(Index).xOffset - ((DDSD_Character(Sprite).lWidth / 7 - 32) / 2)

    espero ter ajudado  Razz


    _________________
    vem sempre aqui?  I love you
    avatar
    Feh
    Semi-Experiente
    Semi-Experiente

    Mensagens : 91
    Créditos : 10
    Cash : 0

    [Ajuda] - Frame de Movimentos do player Empty Re: [Ajuda] - Frame de Movimentos do player

    Mensagem por Feh em Seg Nov 04, 2019 9:11 pm

    então, oque você está me mostrando é onde eu altero a sprite de ataque
    e onde eu adiciono mais frames nas sprites do player
    porem, essa parte eu já entendo, oque eu quero é adicionar mais frames na animação do movimento do jogador pois quero por ao invés de ele ficar só andando, quero que ele corra direto. Para isso preciso de mais frames na animação de movimento para dar um melhor efeito na animação
    Mizuki
    Mizuki
    Novato
    Novato

    Mensagens : 25
    Créditos : 4
    Cash : 0

    Ficha do personagem
    Nível: 1
    Experiência:
    [Ajuda] - Frame de Movimentos do player Left_bar_bleue0/0[Ajuda] - Frame de Movimentos do player Empty_bar_bleue  (0/0)
    Vida:
    [Ajuda] - Frame de Movimentos do player Left_bar_bleue30/30[Ajuda] - Frame de Movimentos do player Empty_bar_bleue  (30/30)

    [Ajuda] - Frame de Movimentos do player Empty Re: [Ajuda] - Frame de Movimentos do player

    Mensagem por Mizuki em Seg Nov 04, 2019 11:52 pm

    então vc tem que vim aqui eu acho 

    Código:
    Sub ProcessMovement(ByVal Index As Long)

    e vi em 

    Código:
    ' Check if completed walking over to the next tile
        If Player(Index).Moving > 0 Then
            If GetPlayerDir(Index) = DIR_RIGHT Or GetPlayerDir(Index) = DIR_DOWN Then
                If (Player(Index).xOffset >= 0) And (Player(Index).yOffset >= 0) Then
                    Player(Index).Moving = 0
                    If Player(Index).Step = 1 Then
                        Player(Index).Step = 3
                    Else
                        Player(Index).Step = 1
                    End If
                End If
            Else
                If (Player(Index).xOffset <= 0) And (Player(Index).yOffset <= 0) Then
                    Player(Index).Moving = 0
                    If Player(Index).Step = 1 Then
                        Player(Index).Step = 3
                    Else
                        Player(Index).Step = 1
                    End If
                End If
            End If
        End If

    e acredito que vc vai ter que mexer  em 
    Código:
    Public Sub BltPlayer(ByVal Index As Long)

    nessa parte
    Código:
    ' Set the left
        Select Case GetPlayerDir(Index)
            Case DIR_UP
                spritetop = 3
            Case DIR_RIGHT
                spritetop = 2
            Case DIR_DOWN
                spritetop = 0
            Case DIR_LEFT
                spritetop = 1
        End Select


    _________________
    vem sempre aqui?  I love you

    Conteúdo patrocinado

    [Ajuda] - Frame de Movimentos do player Empty Re: [Ajuda] - Frame de Movimentos do player

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Qui Nov 14, 2019 3:19 am