FAZER IGUAL NOS JOGOS

MARCOS 17/02/2012 08:58:36
#394990
Prezados colegas,
Eu preciso em um formulário (VB.NET) deslocar um Shape ou Picture de um local para outro do formulário.
Eu criei o seguinte código:

Obs: No código, o Shape(Pode ser um Picture) chamei de R1


x = 1
Do Until x > 1000

[ô]Desloca
System.Windows.Forms.Application.DoEvents()
R1.Left = R1.Left + 1

[ô]Incrementa variável
x = x + 1

Loop


O problema:

O código funciona,mas o deslocamento do Picture é [Ô]Lento[Ô]. Se aumento o valor de [ô]x[ô], fica rápido,mas não fica
parecendo um movimento e sim pequenos saltos.


Algum colega,sabe me dizer como posso fazer para o deslocamento ser igual ao dos jogos.Ou seja, rápido mas ao
mesmo tempo, suave.Ou seja,realista???

JONATHANSTECKER 17/02/2012 09:45:34
#394993
Tente usando o método Sleep().
Ele dará um tempo a cada vez que for mover o controle.
        Dim x As Integer = 1
Do Until x > 1000
[ô]Desloca
R1.Left += 1
System.Windows.Forms.Application.DoEvents()
System.Threading.Thread.Sleep(10)

[ô]Incrementa variável
x = x + 1
Loop
MARCOS 17/02/2012 10:33:45
#394999
Já tentei com o [Ô]Sleep[Ô], mas o movimento fica ainda mais lento.......

Pessoal,algum colega sabe como o pessoal que faz jogos em .NET, consegue mover objetos (Pictures,Shapes,etc...) no formulário
com aquele realismo,como se alguém estivesse arrastando o mesmo?????????
SPRITU 17/02/2012 14:49:03
#395025
Boa tarde amigo,

existem varias formas, porem movimentando um shape você esta preso a movimentação e repaint dos controles do .net

tente utilizar o directx para fazer esse tipo de animação

uma boa fonte é

www.directx4vb.com

espero que ajude
PEGUDO 17/02/2012 19:36:06
#395050
Resposta escolhida
Cara,
Para movimentação eu aconselho a usar o Microsoft Blend 4

Ele consegue trabalhar em conjunto com o VS
é um pouco complicado de entender seu funcionamento no começo mas depois
que se aprende o resultado fica muito bom
Tópico encerrado , respostas não são mais permitidas