Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
[E.O 2.0] - Efeito de Transição de Mapa (v1.0)
+3
Profane ~
WillMaiaBR
Kotol
7 participantes
Página 1 de 1
[E.O 2.0] - Efeito de Transição de Mapa (v1.0)
- Basicamente, quando você troca de mapa, há um efeito de "Arraste" do mapa atual que está, para o próximo, resultando em uma animação mais legal.
Vamos ao tutorial, que é full "Client~Side".
Abra seu "Client.Vbp" , e no final de "ModGlobals" adicione isto:
Agora, em "ModGameLogic" , defina bem no início, ou abaixo de "Dim tmr10000 As Long" , isto:
Ainda em "ModGameLogic" , na SUB "GameLoop()" , procure por:
E acima disto, adicione isto:
Agora, em "ModDirectDraw7" , procure na SUB "Render_Graphics()" , procure por:
E substitua por:
Procure por:
E substitua por:
Procure também por:
E substitua por:
Ainda em "ModDirectDraw7" , procure por "Public Sub UpdateCamera()" , e nesta SUB, subtitua isto:
Por isto:
Agora, vá até "ModHandleData" , e em "Sub HandleCheckForMap" , antes de:
Adicione:
Agora, em "ModGeneral" , na SUB "GameInit()" , procure por:
E adicione abaixo, isto:
E por fim, em "ModInput" , na SUB "CheckInputKeys()", abaixo de:
Adicione isto:
E pronto!! Agora você muda entre mapas, com efeito de transição!
Link de Demonstração: https://imgur.com/xEQMee4
Pontos a considerar:
- Versão 1.0;
- Mapas sem tiles setados, como eu fiz ele não preencher o 'Backbuffer', deixa feio, ou seja, pra deixar bonitinho, é só ter ao menos um "ground" setado, que já faz a função;
- Mapas menores indo para mapas maiores, perde-se posição(bug visual somente), mas funciona normal do maior para o menor;
- Falta adicionar detalhes de conforto background como "Não ter transição quando editor de mapa for salvar mapa.." , mas são coisas que não influenciam na gameplay do jogador;
Vamos ao tutorial, que é full "Client~Side".
Abra seu "Client.Vbp" , e no final de "ModGlobals" adicione isto:
- Spoiler:
Public InTransition As Boolean
Public PicPerSec As Long
Agora, em "ModGameLogic" , defina bem no início, ou abaixo de "Dim tmr10000 As Long" , isto:
- Spoiler:
Dim MapTransitionTimer As Long
Ainda em "ModGameLogic" , na SUB "GameLoop()" , procure por:
- Spoiler:
If tmr25 < Tick Then
E acima disto, adicione isto:
- Spoiler:
If InTransition = True Then
'Check for counter
If MapTransitionTimer < GetTickCount Then
Select Case GetPlayerDir(MyIndex)
Case DIR_UP
PicPerSec = PicPerSec + 1
Case DIR_DOWN
PicPerSec = PicPerSec - 1
Case DIR_LEFT
PicPerSec = PicPerSec + 1
Case DIR_RIGHT
PicPerSec = PicPerSec - 1
End Select
MapTransitionTimer = GetTickCount + 50
End If
'Check for map value and correct all position
Select Case GetPlayerDir(MyIndex)
Case DIR_UP
If PicPerSec >= TileView.Bottom Then
PicPerSec = TileView.Bottom
InTransition = False
End If
Case DIR_DOWN
If PicPerSec <= TileView.top Then
PicPerSec = TileView.top
InTransition = False
End If
Case DIR_LEFT
If PicPerSec > TileView.Right Then
PicPerSec = TileView.Right
InTransition = False
End If
Case DIR_RIGHT
If PicPerSec <= TileView.Left Then
PicPerSec = TileView.Left
InTransition = False
End If
End Select
End If
Agora, em "ModDirectDraw7" , procure na SUB "Render_Graphics()" , procure por:
- Spoiler:
' fill it with black
DDS_BackBuffer.BltColorFill rec_pos, 0
E substitua por:
- Spoiler:
' fill it with black, but now when in transition
If Not InTransition Then DDS_BackBuffer.BltColorFill rec_pos, 0
Procure por:
- Spoiler:
' Lock the backbuffer so we can draw text and names
TexthDC = DDS_BackBuffer.GetDC
E substitua por:
- Spoiler:
' Lock the backbuffer so we can draw text and names, but not on transition
If Not InTransition Then TexthDC = DDS_BackBuffer.GetDC
Procure também por:
- Spoiler:
' Release DC
DDS_BackBuffer.ReleaseDC TexthDC
E substitua por:
- Spoiler:
' Release DC, but not when in transition
If Not InTransition Then DDS_BackBuffer.ReleaseDC TexthDC
Ainda em "ModDirectDraw7" , procure por "Public Sub UpdateCamera()" , e nesta SUB, subtitua isto:
- Spoiler:
With TileView
.top = StartY
.Bottom = EndY
.Left = StartX
.Right = EndX
End With
With Camera
.top = offsetY
.Bottom = .top + ScreenY
.Left = offsetX
.Right = .Left + ScreenX
End With
Por isto:
- Spoiler:
'Transition system
If InTransition Then
Select Case GetPlayerDir(MyIndex)
Case DIR_UP
With TileView
.top = (StartY + EndY) - PicPerSec
.Bottom = EndY
.Left = StartX
.Right = EndX
End With
Case DIR_DOWN
With TileView
.top = StartY - PicPerSec
.Bottom = EndY
.Left = StartX
.Right = EndX
End With
With Camera
.top = offsetY
.Bottom = .top + ScreenY
.Left = offsetX
.Right = .Left + ScreenX
End With
Case DIR_LEFT
With TileView
.top = StartY
.Bottom = EndY
.Left = (StartX + EndX) - PicPerSec
.Right = EndX
End With
Case DIR_RIGHT
With TileView
.top = StartY
.Bottom = EndY
.Left = StartX - PicPerSec
.Right = EndX
End With
End Select
With Camera
.top = offsetY
.Bottom = .top + ScreenY
.Left = offsetX
.Right = .Left + ScreenX
End With
Else
With TileView
.top = StartY
.Bottom = EndY
.Left = StartX
.Right = EndX
End With
With Camera
.top = offsetY
.Bottom = .top + ScreenY
.Left = offsetX
.Right = .Left + ScreenX
End With
End If
Agora, vá até "ModHandleData" , e em "Sub HandleCheckForMap" , antes de:
- Spoiler:
' Error handler
Exit Sub
errorhandler:
HandleError "HandleCheckForMap", "modHandleData", Err.Number, Err.Description, Err.Source, Err.HelpContext
Err.Clear
Exit Sub
Adicione:
- Spoiler:
InTransition = True
Select Case GetPlayerDir(MyIndex)
Case DIR_UP
PicPerSec = 0
Case DIR_DOWN
PicPerSec = Map.MaxY
Case DIR_LEFT
PicPerSec = 0
Case DIR_RIGHT
PicPerSec = Map.MaxX
End Select
Agora, em "ModGeneral" , na SUB "GameInit()" , procure por:
- Spoiler:
InTrade = False
E adicione abaixo, isto:
- Spoiler:
InTransition = False
E por fim, em "ModInput" , na SUB "CheckInputKeys()", abaixo de:
- Spoiler:
' If debug mode, handle error then exit out
If Options.Debug = 1 Then On Error GoTo errorhandler
Adicione isto:
- Spoiler:
'Check for transition and block any movement
If InTransition Then Exit Sub
E pronto!! Agora você muda entre mapas, com efeito de transição!
Link de Demonstração: https://imgur.com/xEQMee4
Pontos a considerar:
- Versão 1.0;
- Mapas sem tiles setados, como eu fiz ele não preencher o 'Backbuffer', deixa feio, ou seja, pra deixar bonitinho, é só ter ao menos um "ground" setado, que já faz a função;
- Mapas menores indo para mapas maiores, perde-se posição(bug visual somente), mas funciona normal do maior para o menor;
- Falta adicionar detalhes de conforto background como "Não ter transição quando editor de mapa for salvar mapa.." , mas são coisas que não influenciam na gameplay do jogador;
Créditos
Eu - lucas100vzs/Kotol
Última edição por lucas100vzs em Ter Jun 08, 2021 4:17 pm, editado 1 vez(es)
Kotol- Moderador Local
- Mensagens : 77
Créditos : 17
Valentine, JuanCollin, WillMaiaBR, Profane ~, Sonart, Nando Moura e Kiyoko gostam desta mensagem
Kotol e Nando Moura gostam desta mensagem
Re: [E.O 2.0] - Efeito de Transição de Mapa (v1.0)
Parabéns.
Ver conteúdo novamente é sempre bom.
Para uma versão 1.0 ta muito bom.
Ver conteúdo novamente é sempre bom.
Para uma versão 1.0 ta muito bom.
_________________
"Mistress of shattered hopes and forever broken dreams"
Profane ~- Colaborador
- Mensagens : 818
Créditos : 130
Kotol e Nando Moura gostam desta mensagem
Toppp
Gostei, vou até colocar no meu game para ver como fica.
Nando Moura- Novato
- Mensagens : 20
Créditos : 1
Ficha do personagem
Nível: 1
Experiência:
(0/0)
Vida:
(30/30)
Kotol gosta desta mensagem
Re: [E.O 2.0] - Efeito de Transição de Mapa (v1.0)
Já ouvi falar desse seu nome ai, falaram bem a princípio kkkWillMaiaBR escreveu:Vou testar aqui Lucas <3
Nando Moura- Novato
- Mensagens : 20
Créditos : 1
Ficha do personagem
Nível: 1
Experiência:
(0/0)
Vida:
(30/30)
Kotol gosta desta mensagem
Re: [E.O 2.0] - Efeito de Transição de Mapa (v1.0)
Parabéns Lucas
uau, incrível vocês ainda desenvolverem para essa engine...
eu era fanatico por isso em 2011, bons tempos, meus projetos nunca vingaram mas ficou experiencia...
uau, incrível vocês ainda desenvolverem para essa engine...
eu era fanatico por isso em 2011, bons tempos, meus projetos nunca vingaram mas ficou experiencia...
dnrock- Novato
- Mensagens : 8
Créditos : 0
Kotol gosta desta mensagem
Re: [E.O 2.0] - Efeito de Transição de Mapa (v1.0)
Muito legal o efeito! Pra ficar perfeito, só se o mapa anterior movimentasse junto.
Kotol gosta desta mensagem
Re: [E.O 2.0] - Efeito de Transição de Mapa (v1.0)
eu fiz um sistema parecido para um carinha, o sistema simula um mundo aberto.
_________________
MasterOp- Iniciante
- Mensagens : 72
Créditos : 4
Ficha do personagem
Nível: 1
Experiência:
(0/50)
Vida:
(30/30)
WillMaiaBR gosta desta mensagem
Re: [E.O 2.0] - Efeito de Transição de Mapa (v1.0)
ficou mt bomMasterOp escreveu:eu fiz um sistema parecido para um carinha, o sistema simula um mundo aberto.
_________________
Tópicos semelhantes
» Efeito na Transição de Mapa
» Efeito para mapa mundi
» duvida efeito
» efeito sombra
» [Pedido]Efeito de Noite
» Efeito para mapa mundi
» duvida efeito
» efeito sombra
» [Pedido]Efeito de Noite
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos