Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte ao desenvolvimento de jogos


2 participantes

    Ajuda com tiles animados

    silipinho
    silipinho
    Semi-Experiente
    Semi-Experiente


    Mensagens : 97
    Créditos : 14

    Ajuda com tiles animados Empty Ajuda com tiles animados

    Mensagem por silipinho 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
    Jonny157
    Ocasional
    Ocasional


    Mensagens : 245
    Créditos : 9

    Ajuda com tiles animados Empty Re: Ajuda com tiles animados

    Mensagem por Jonny157 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: Seg Dez 09, 2024 10:30 pm