MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!

Participe do fórum, é rápido e fácil

MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!
MMORPG Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Usando DirectX 7 no EO

+4
Pablo
Eduardo
Sαkurαy
V-Force
8 participantes

Ir para baixo

Usando DirectX 7 no EO Empty Usando DirectX 7 no EO

Mensagem por V-Force Sex 04 maio 2012, 23:19

Bom, faz um bom tempo que não faço um tutorial, mas vamos ao que importa rs.



Primeiramente vamos começar com o Rect.

• O que seria o Rect?
- Nada mais, nada menos do que um Rectangle(Retangulo), que define as coordenada (do tipo pixel) de inicio e fim do desenho de uma imagem, tendo tambem poder definir o Altura, Largura, e até mesmo coordenadas de onde deve aparecer a imagem(No caso do bltToDC).

• Como que funciona?
- Vou ser direto a um exemplo, porque acho que muita teoria deixa o raciocinio confuso.

Código:

'Exemplo do uso da rect

Dim rec As Rect

With rec
  'Inicio da imagem (Altura/Height)
  .Top = 0
 
  'Fim da Image (Altura/Height)
  .Bottom = .Top + Y ' Y = É o valor que vai determinar a altura e o fim da imagem

  'Inicio da imagem (Largura/W idth)
  .Left = 0
 
  'Fim da Image (Largura/W idth)
  .Bottom = .Top + X ' X = É o valor que vai determinar a largura e o fim da imagem

End With




Agora vamos para a parte de bltFast do DirectX7

• O que seria o bltFast?
- É a função que desenha as surface em uma hwnd.

• Como usa-lo?
- Vou usar a surface das sprites e algumas funções do EO no exemplo.

Código:

Dim rec As Rect
Dim X as long, Y as long, W as Long, Height as Long
Dim Sprite as long

'Numero da Sprite
Sprite = GetPlayerSprite(MyIndex)

'Coordenadas de onde a surface deve ser desenhada.
X = 12 * 32
Y = 8 * 32

'Tamanhos
Height = DDSD_Character(Sprite).lHeight / 4
W = DDSD_Character(Sprite.lWidth / 4

'Rectangle
With rec
  .Top = 0 ' Inicio/Altura
  .Bottom =  .Top + Height ' Fim/Altura
  .Left = 0 ' Inicio/Largura
  .Right = .Left + W ' Fim/Largura
End With

'Função bltFast usada para o desenho pelo o EO
Engine_BltFast X, Y, DDS_Character(Sprite), rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY

'Porem pode ser usado tambem por:
'DDS_BackBuffer.BltFast X, Y, DDS_Character(Sprite), rec, DDBLTFAST_WAIT Or DDBLTFAST_SRCCOLORKEY

Bom essa função só desenha na tela do game.



Vamos agora para a parte de desenho em uma picturebox, que é o bltToDC.

• O que seria o bltToDC?
- É uma função semelhante ao do bltFast, porem ele pode desenhar as surfaces em outras picturebox que é independente do clipped(No caso de bltFast/Clipped seria a picScreen do frmMain).

• Como usar?
- Vou usar dessa vez como exemplo as surfaces dos Items e funções do EO.
Código:

 Dim imgRec as RECT,destRec as RECT

'Meio que um Clear/Reset na picturebox
picTeste.cls

'imgRec seria o rectangle do inicio e fim das surfaces
With imgRec
  .Top = 0
  .Bottom = .Top + 32
  .Left = 0
  .Rigth = .Left + 32
End With

'destRec é o rectangle que vai definir a altura/largura e coordenadas de onde a imagem deve aparecer na picturebox.
With destRec
  .Top = 5
  .Bottom = .Top + 32
  .Left = 5
  .Right = .Left + 32
End With

'Função usada para desenhar na picturebox
Engine_bltToDC DDS_Item(ItemNum), imgRec, destRec, picTeste, False

'A função de desenhar na picturebox pode tambem é a mesma que:
'DDS_Item(ItemNum).BltToDC picTeste.hDC, imgRec, destRec






Bom por hoje só...

Créditos
V-Force(Por criar o tutorial e postar)


Última edição por V-ƒorce em Sáb 05 maio 2012, 11:18, editado 1 vez(es)
V-Force
V-Force
Administrador V-Force
Administrador V-Force

Mensagens : 933

Ir para o topo Ir para baixo

Usando DirectX 7 no EO Empty Re: Usando DirectX 7 no EO

Mensagem por Sαkurαy Sex 04 maio 2012, 23:22

Muito bom V-Force, já ajuda alguns negos ae
+2 créditos
Sαkurαy
Sαkurαy
Membro Veterano
Membro Veterano

Mensagens : 1386

Ir para o topo Ir para baixo

Usando DirectX 7 no EO Empty Re: Usando DirectX 7 no EO

Mensagem por Eduardo Sex 04 maio 2012, 23:33

nao entende muito para q server mais vindo de vc +1
Eduardo
Eduardo
Membro Veterano
Membro Veterano

Mensagens : 1178

Ir para o topo Ir para baixo

Usando DirectX 7 no EO Empty Re: Usando DirectX 7 no EO

Mensagem por Pablo Sáb 05 maio 2012, 11:16

nossa v-force muito bom cara, ainda mais que agora que comecei a aprender eo e com isso irei aprender mais sobre DirectX ^^ +1 ;D
Pablo
Pablo
Moderador Global
Moderador Global

Mensagens : 1371

Ir para o topo Ir para baixo

Usando DirectX 7 no EO Empty Re: Usando DirectX 7 no EO

Mensagem por Kisuke Sáb 05 maio 2012, 11:27

Parabéns ótimo tutorial,creditei você.
Kisuke
Kisuke
Membro Vitalicio
Membro Vitalicio

Mensagens : 567

http://www.redtube.com

Ir para o topo Ir para baixo

Usando DirectX 7 no EO Empty Re: Usando DirectX 7 no EO

Mensagem por wesleysilva9 Sex 11 maio 2012, 09:47

otimo V-Force vai ajudar muita gente (pelo menos as que querem aprender) +1 cred
wesleysilva9
wesleysilva9
Membro
Membro

Mensagens : 178

Ir para o topo Ir para baixo

Usando DirectX 7 no EO Empty Re: Usando DirectX 7 no EO

Mensagem por lraniel Ter 29 maio 2012, 11:49

não entendi para que serve, alguém poderia me explicaar?
lraniel
lraniel
Membro
Membro

Mensagens : 240

Ir para o topo Ir para baixo

Usando DirectX 7 no EO Empty Re: Usando DirectX 7 no EO

Mensagem por Valentine Ter 29 maio 2012, 13:38

Acredito que demorou mais pra você postar isso do que se fosse abrir o eclipse e descobrir o que é.
avatar
Valentine
Membro de Honra
Membro de Honra

Mensagens : 472

http://www.aldeiarpgbr.com

Ir para o topo Ir para baixo

Usando DirectX 7 no EO Empty Re: Usando DirectX 7 no EO

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos