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


3 participantes

    [Resolvido] Chat transparente

    Drowlife
    Drowlife
    Novato
    Novato


    Mensagens : 21
    Créditos : 3

    [Resolvido] Chat transparente Empty [Resolvido] Chat transparente

    Mensagem por Drowlife Ter Nov 15, 2011 7:37 pm

    Alguem poderia ma passa um tutorial valido para EO2.0 como deixar o fundo do Chat Transparente?

    (Somente o fundo)

    Ja olhei os 2 Tutorial que tem mais 1 não deu certo e o outro fica o fundo e as letras tranparente.


    Última edição por Drowlife em Qua Nov 16, 2011 9:53 pm, editado 1 vez(es)


    _________________
    [Resolvido] Chat transparente Asasasash



    www.newtales.xpg.com.br
    [Resolvido] Chat transparente 253468018

    okabe
    okabe
    Iniciante
    Iniciante


    Mensagens : 34
    Créditos : 7

    [Resolvido] Chat transparente Empty Re: [Resolvido] Chat transparente

    Mensagem por okabe Qua Nov 16, 2011 3:00 am

    Bom,os tutoriais sobre isso aqui são bem inúteis...
    O sistema a seguir vai deixar o fundo do Chat invisível,mostrando apenas as letras.

    Segue:
    Em cima do modText,cole:
    Código:
    'Sistema de chat em sí
    Public Sub DrawChat()
    Dim i As Integer
        For i = 1 To 6
            Call DrawText(TexthDC, Camera.left + 10, (Camera.Bottom - 20) - (i * 20), Chat(i).text, Chat(i).Colour)
        Next
    End Sub

    Public Sub ReOrderChat(ByVal nText As String, nColour As Long)
    Dim i As Integer
       
        For i = 19 To 1 Step -1
            Chat(i + 1).text = Chat(i).text
            Chat(i + 1).Colour = Chat(i).Colour
        Next
       
        Chat(1).text = nText
        Chat(1).Colour = nColour
    End Sub

    Agora procure por:
    Public sub addText
    e troque a sub toda por:

    Código:
    Public Sub AddText(ByVal Msg As String, ByVal color As Integer)
    Dim S As String

        ' If debug mode, handle error then exit out
        If Options.Debug = 1 Then On Error GoTo errorhandler
       
        S = vbNewLine & Msg
        frmMain.txtChat.SelStart = Len(frmMain.txtChat.Text)
        frmMain.txtChat.SelColor = QBColor(color)
        frmMain.txtChat.SelText = S
        frmMain.txtChat.SelStart = Len(frmMain.txtChat.Text) - 1
       
     
        ReOrderChat Msg, QBColor(color)
       
        ' Erro
        Exit Sub
    errorhandler:
        HandleError "AddText", "modText", Err.Number, Err.Description, Err.Source, Err.HelpContext
        Err.Clear
        Exit Sub
    End Sub

    Abaixo de :
    frmMain.txtChat.SelStart = Len(frmMain.txtChat.Text) - 1
    Adicione:
    Código:
    ReOrderChat Header & Name & ": " & message, Colour

    Agora em modTypes,procure por:
    Public Options As OptionsRec
    E abaixo adicione:
    Código:
    Public Chat(1 To 20) As ChatRec

    Private Type ChatRec
        text As String
        Colour As Long
    End Type

    Agora,na sub "Render_Graphics" procure por "Draw FPS"
    a abaixo adicione:
    Código:
    DrawChat

    Este tutorial deve ficar apenas nesse tópico,peço que ninguém poste livremente sem pedir autorização O.o
    Só esclarecendo,é impossível colocar um chat com opacidade no vb6 sem usar o dx8...


    _________________
    [Resolvido] Chat transparente 2254752_imagem
    [Resolvido] Chat transparente 766402_imagem

    Meu único propósito nesse fórum é responder dúvidas e postar tutoriais não testados feitos por mim...
    Drowlife
    Drowlife
    Novato
    Novato


    Mensagens : 21
    Créditos : 3

    [Resolvido] Chat transparente Empty Re: [Resolvido] Chat transparente

    Mensagem por Drowlife Qua Nov 16, 2011 7:20 pm

    Vlw cara 1 credito

    @edit
    mais ainda ficou a caixa peta de chat e a outra tranparente por baixo, e assim msm?

    tenho que arrastar a caixa preta de chat para fora da tela do jogo ou deleto ela?


    _________________
    [Resolvido] Chat transparente Asasasash



    www.newtales.xpg.com.br
    [Resolvido] Chat transparente 253468018

    okabe
    okabe
    Iniciante
    Iniciante


    Mensagens : 34
    Créditos : 7

    [Resolvido] Chat transparente Empty Re: [Resolvido] Chat transparente

    Mensagem por okabe Qui Nov 17, 2011 3:26 am

    Deixe visible = false


    _________________
    [Resolvido] Chat transparente 2254752_imagem
    [Resolvido] Chat transparente 766402_imagem

    Meu único propósito nesse fórum é responder dúvidas e postar tutoriais não testados feitos por mim...
    DragonicK
    DragonicK
    Experiente
    Experiente


    Mensagens : 542
    Créditos : 81

    Ficha do personagem
    Nível: 1
    Experiência:
    [Resolvido] Chat transparente Left_bar_bleue0/0[Resolvido] Chat transparente Empty_bar_bleue  (0/0)
    Vida:
    [Resolvido] Chat transparente Left_bar_bleue30/30[Resolvido] Chat transparente Empty_bar_bleue  (30/30)

    [Resolvido] Chat transparente Empty Re: [Resolvido] Chat transparente

    Mensagem por DragonicK Sex Mar 27, 2020 6:07 pm

    Adicionando uma quebra de texto ao código:
    Perto de:

    Código:
    Public Sub ReOrderChat(ByVal nText As String, nColour As Long)

    Adicione este método.

    Código:
    Private Function BreakText(ByVal Text As String) As String()
        Const MaxCharactersPerLine As Long = 25

        Dim i As Long
        Dim TextLength As Long
        Dim LineCount As Long
        Dim Lines() As String
        Dim Rest As Long

        TextLength = Len(Text)

        If TextLength > MaxCharactersPerLine Then
            ' Retorna um número inteiro.
            LineCount = Int(TextLength / MaxCharactersPerLine)

            ReDim Lines(1 To LineCount)

            ' Separa o texto em linhas.
            For i = 1 To LineCount
                ' Obtem a posição
                Lines(i) = Mid$(Text, ((i - 1) * MaxCharactersPerLine) + 1, MaxCharactersPerLine)
            Next

            ' Se ainda há caracteres sobrando, aumenta uma linha.
            If TextLength Mod MaxCharactersPerLine > 0 Then
                LineCount = LineCount + 1

                ReDim Preserve Lines(1 To LineCount)

                ' Obtem o restante dos caracteres e joga pra última linha.
                Rest = (LineCount * MaxCharactersPerLine) - TextLength
                Lines(LineCount) = Mid$(Text, (LineCount - 1) * MaxCharactersPerLine + 1, MaxCharactersPerLine - Rest)
            End If

        Else
            ReDim Lines(1 To 1)
            Lines(1) = Text
        End If

        BreakText = Lines

    End Function

    Agora, substitua toda a função ReOrderChat por esta:


    Código:
    Public Sub ReOrderChat(ByVal nText As String, nColour As Long)
        Dim i As Long
        Dim Texts() As String
        Dim Length As Long
        Dim Count As Long

        ' Obtem o texto quebrado.
        Texts = BreakText(nText)
        ' Obtem a quantidade de linhas.
        Length = UBound(Texts)

        ' Move as linhas para a cima
        Count = 20 - Length
        ' For i = 19 To 1 Step -1
        For i = Count To 1 Step -1
            Chat(i + Length).Text = Chat(i).Text
            Chat(i + Length).Colour = Chat(i).Colour
        Next

        Count = 1
        ' Adiciona as linhas quebradas
        For i = Length To 1 Step -1
            Chat(Count).Text = Texts(i)
            Chat(Count).Colour = nColour
     
            Count = Count + 1
        Next
    End Sub

    Const MaxCharactersPerLine As Long = 25

    É a quantidade de letras por linha, vá alterando o valor até encontrar algo que bata com o seu chat.

    Conteúdo patrocinado


    [Resolvido] Chat transparente Empty Re: [Resolvido] Chat transparente

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex Abr 19, 2024 12:30 pm