Ajuda com tiles animados

    Compartilhe

    silipinho
    Novato
    Novato

    Mensagens : 14
    Créditos : 7

    Ajuda com tiles animados

    Mensagem por silipinho em Seg Abr 27, 2015 1:34 am

    Pessoal da Aldeia se alguém puder da uma luz ai...
    Nesse tuto (logo abaixo), o sistema funciona certinho inclusive muito bom...
    Porem eu gostaria de adicionar mais frames do tipo que "pisca", pra assim eu poder
    fazer movimentos mas bem elaborados aos mapas!
    Sempre faço algo que da errado, faço algo errado.
    como eu faço para adicionar mais 9 outras animações? No caso ficaria 10 Tiles de anim...
    Eu fiz o tutorial de certinho mas queria por mais outras tiles de animações pra dar um efeito ainda 
    mais bonito nos mapas, acredito que com isso o Lag pode aumentar mas não tenho a intenção de 
    abusar das tiles de animação!






    Se alguém conseguir da uma mão!

    Jonny157
    Ocasional
    Ocasional

    Mensagens : 232
    Créditos : 8

    Re: Ajuda com tiles animados

    Mensagem por Jonny157 em Seg Abr 27, 2015 7:39 pm

    Lipinho que tutorial você usou para adicionar mais animações? 

    Edit: Deixa apareceu o seu código agora aqui pra mim.. estou vendo. 

    Edit2: A chave está dentro do FOR e do IF para aumentar o seu número de Animações. Sugiro até trocar o if por um Case pelo excesso de valores que você vai adicionar. 

    Código:
    [size=12]Public Sub BltMapTile(ByVal x As Long, ByVal y As Long)[/size]
    [size=12]Dim rec As DxVBLib.RECT[/size][size=12][/size]
    [size=12]Dim i As Long[/size][size=12][/size]
    [size=12]    [/size][size=12][/size]
    [size=12]    ' If debug mode, handle error then exit out[/size][size=12][/size]
    [size=12]    If Options.Debug = 1 Then On Error GoTo errorhandler[/size][size=12][/size]
    [size=12][/size]
    [size=12]    With Map.Tile(x, y)[/size][size=12][/size]
    [size=12]        For i = MapLayer.Ground To MapLayer.Anim '[/size][size=12][color=#000000]<< Anim é a sua ultima animação no Enumerations, é a sua animação máxima.[/color][/size][size=12][/size]
    [size=12]            ' skip tile?[/size][size=12][/size]
    [size=12]            If (.Layer(i).Tileset > 0 And .Layer(i).Tileset <= NumTileSets) And (.Layer(i).x > 0 Or .Layer(i).y > 0) Then[/size][size=12][/size]
    [size=12]                ' sort out rec[/size][size=12][/size]
    [size=12]                rec.top = .Layer(i).y * PIC_Y[/size][size=12][/size]
    [size=12]                rec.Bottom = rec.top + PIC_Y[/size][size=12][/size]
    [size=12]                rec.Left = .Layer(i).x * PIC_X[/size][size=12][/size]
    [size=12]                rec.Right = rec.Left + PIC_X[/size][size=12][/size]
    [size=12]                ' render[/size][size=12][/size]
    [size=12]                If i = 6 Then '[/size][size=12][color=#000000]<< AQUI VOCÊ INDICA QUE QUANDO FOR O TILE 6 CRIADO NO ENUMERATION ENTÃO ELE IRA PISCAR ( Use um Case nesta condição é melhor )[/color][/size][size=12][/size]
    [size=12]                    If MapAnim > 0 Then[/size][size=12][/size]
    [size=12]                        Call Engine_BltFast(ConvertMapX(x * PIC_X), ConvertMapY(y * PIC_Y), DDS_Tileset(.Layer(i).Tileset), rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)[/size][size=12][/size]
    [size=12]                    End If[/size][size=12][/size]
    [size=12]                Else[/size][size=12][/size]
    [size=12]                    Call Engine_BltFast(ConvertMapX(x * PIC_X), ConvertMapY(y * PIC_Y), DDS_Tileset(.Layer(i).Tileset), rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY)[/size][size=12][/size]
    [size=12]                End If[/size][size=12][/size]
    [size=12]            End If[/size][size=12][/size]
    [size=12]        Next[/size][size=12][/size]
    [size=12]    End With[/size][size=12][/size]
    [size=12]    [/size][size=12][/size]
    [size=12]    ' Error handler[/size][size=12][/size]
    [size=12]    Exit Sub[/size][size=12][/size]
    [size=12]    [/size][size=12][/size]
    [size=12]errorhandler:[/size][size=12][/size]
    [size=12]    HandleError "BltMapTile", "modDirectDraw7", Err.Number, Err.Description, Err.Source, Err.HelpContext[/size][size=12][/size]
    [size=12]    Err.Clear[/size][size=12][/size]
    [size=12]    Exit Sub[/size][size=12][/size]
    [size=12]End Sub[/size][b]


    Qualquer dúvida fala ae. 

      Data/hora atual: Sex Dez 09, 2016 4:44 am