Olá pessoal, abaixo segue um tutorial muito bom do meu colega de Makesys Willian, que tem se dedicado aos estudo de Silverlight. A equipe da Makesys vem melhorado muito seu conhecimento em Silverlight. Show!!! Obrigado William!!!!
Você vai precisar dos seguinte arquivo para trabalhar com física no Blend:
PhysicsHelper.3.0.0.3.zip (3,60 mb)
Abaixo o código fonte final:
Silverlight_Carro_Fisica.zip (521,23 kb)
By William Machado:
Tutorial: Desenvolvimento em Silverlight 3 utilizando física
No mundo do desenvolvimento de aplicativos baseados na Web, os usuários estão exigindo experiências de aplicativos cada vez mais aprimoradas.
Este tutorial mostra como podemos criar uma aplicação simples em SilverLight utilizando as leis da física. No nosso caso será um carro.
Bom antes de começar vamos entender como funciona. Farseer Physics Engine é um motor de física 2D
que suporta varias plataformas como o XNA da Microsoft, o Silverlight, WPF. Uma das características do Farseer Physics Engine é a simplicidade que permite a criação de diversas aplicações e jogos dinâmicos.
o Farseer Physics Engine é projetado para controlar a posição e rotação de objetos.
No mundo real, as coisas se movem e giram devido as forças aplicadas e torques. Em Farseer, é a mesma coisa. Objetos representam as coisas do mundo real. As forças e torques são aplicados e os organismos reagem de acordo com as leis da física 2D.
Crie um novo projeto selecionando “Silverlight 3 Application”.

Mude o tipo do “LayoutRoot” de “Grid” para “Canvas”.

Adicione o controle “PhysicsControllerBehavior” no LayoutRoot

Ative a propriedade: “MousePickEnabled” para manipular os objetos da tala com o mouse

Agora ou você pode desenhar o carro no próprio Blend ou adicionar uma imagem, no meu caso eu desenhei o carro e adicionei a imagem da roda.

Agrupar as imagens em “Canvas”

Para utilizar o recurso de física temos que incluir a “FarseerPhysics.dll” em nosso projeto.

Agora o projeto deve ser compilado para que os controles de física sejam adicionados no Blend.

Os novos controles que foram adicionados:

Clique e arraste o controle “PhysicsObjectBehavior” nos objetos que terão massa, nesse caso utilizei três uma para o Carro(Path) e outros dois para as rodas(Canvas).
Obs.: aplicar o “PhysicsObjectBehavior” somente nos Canvas das rodas e não nas imagens.

Desenhe um “Rectangle” para ser o chão e aplique o controle de física “PhysicsObjectBehavior”, mas ative a propriedade “IsStatic” do “PhysicsObjectBehavior” para que seja um objeto estático.

Para fazer um “Join” das rodas com o carro precisamos de um objeto intermediário para que possamos utilizar o controle “PhysicsJointBehavior” para isso vamos criar um circulo no meio da roda.

Arraste e solte o controle no circulo.

As propriedades do controle devem ficar assim:

Para isso você pode simplesmente clicar aqui arrastar e soltar encima do carro:

Ok, depois de ter feito o “Join” das rodas com o carro vamos aplicar força na roda para simular o funcionamento motor do carro, para isso precisamos do controle “PhysicsApplyTorqueBehavior”.
Clique arraste e solte o controle encima da roda

Nas propriedades clique em “New”, na seguinte janela escolha o evento “PhysicsKeyTrigger” (para utilizar os eventos do teclado)

Selecione uma tecla para acionar o controle

Adicione um valor para “ToqueValue” ex: -5000 para que a roda gire para a esquerda

Repita o mesmo procedimento adicione mais um controle “PhysicsApplyTorqueBehavior”, mas com o valor de “ToqueValue” 5000 para que a roda gire para a direita

Salve a aplicação (CTRL + S) compile (CTRL + SHIFT + B) e execute (F5)
Pronto temos um carro utilizando as leis da física em Silverlight.
ba954979-f084-4556-9a11-bd32b3561918|0|.0
Tags:
silverlight,
yes we can,
física,
blend
Categories:
Arquitetura |
Silverlight