logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!
Jan 20

Animação de partículas em Silverlight

Escrito por Flavia Moreira em 1, 4, 6, Animação, Animações, AR, Artigo, Artigos, Blend, Blend 3, blog, blog silverlight, blogsilverlight, C#, class, CSharp, fonte, for, html, IE, if, Mac, mg, Microsoft Silverlight, O, on, Outros, Particulas, Review, Ria’s Geral, silverlight, Silverlight 2, Silverlight 3, Silverlight 4, SplineDoubleKeyFrame, Storyboard, TAT, Tema, Tutoriais, Visual Studio 2008, Wordpress @ 01 20th, 2010 | via http://flamoreira.wordpress.com | Sem comentários
Flavia Moreira
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Animação de partículas em Silverlight

Para simular fogo, fumaça, chuva, neve, fontes d’ água, entre outros fenômenos, precisamos desenvolver um Sistema de Partículas. O termo Sistema de Partículas refere-se a um conjunto de técnicas de animação para simulação de alguns destes fenômenos físicos. Primeiramente, devemos conhecer o que é uma partícula. Uma partícula é definida como o menor elemento de um sistema, e sobre cada partícula atuam forças externas e mútuas. Para os nossos propósitos, vamos definir uma partícula como uma única ocorrência de um objeto.

leia mais…

abraços,

Flávia Moreira

Dez 22

Artigos e Vídeos sobre Silverlight

Escrito por Flavia Moreira em 3d, Animação, Animações, Asp.Net, Blend, Blend 3, blog, blog silverlight, blogsilverlight, Botões, C#, Controles, CSharp, DataGrid, deep zoom, deepZoom, DoubleAnimationUsingKeyFrames, Expression Blend, FrameWork.Net, FullScreen, Javascript, Microsoft, player, silverlight, Silverlight 2, Silverlight 3, Silverlight 4, site, SplineDoubleKeyFrame, Tutoriais, Visual Studio, Visual Studio 2008, WCF, WPF @ 12 22nd, 2009 | via http://flamoreira.wordpress.com | Sem comentários
Flavia Moreira
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Artigos e Vídeos Sobre Silverlight -

Artigos
Acesse todos estes tutoriais em http://www.dowhile.com.br – no menu artigos ou vídeos – Silverlight
1 Deep Zoom
2 Silverlight 4 Beta e seus recursos
3 Usando função JavaScript em Silverlight
4 Enviando e-mail com Silverlight – Parte II
5 Enviando e-mail com Silverlight – Parte I
6 Populando Datagrid usando LINQ TO SQL em Silverlight Parte II
7 Populando Datagrid usando LINQ TO SQL em Silverlight Parte I
8 Vídeo Player em Silverlight Visual Studio 2010 – Parte II
9 Primeira Aplicação em Silverlight Flávia Moreira
10 Vídeo Player em Silverlight – Visual Studio 2010 Parte I
11 Introdução ao Microsoft Blend 3
Vídeos
1 Data Grid em Silverlight 4 por Jesse Liberty
2 Acessando método C# pelo Javascript
3 Behavior Silverlight Administrator
4 Animação dinâmica em Silverlight
5 Vídeo aula- Aplicação em Silverlight

Fev 20

Animação dinâmica para menu com imagens em Silverlight 2.

Escrito por Flavia Moreira em Animação, Animações, Asp.Net, Blend, blog silverlight, blogsilverlight, C#, DoubleAnimationUsingKeyFrames, Estilo, Expression Blend, Microsoft, Microsoft Blend, mouseleftbutton, silverlight, Silverlight 2, SplineDoubleKeyFrame, Storyboard, Tutoriais, Visual Studio, Visual Studio 2008 @ 02 20th, 2009 | via http://flamoreira.wordpress.com | 1 comentário
Flavia Moreira
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Neste artigo será mostrado como criar animação dinâmica para um simples menu com imagens, porém não é o objetivo deste artigo mostrar a criação do design, apenas será mostrado a codificação para criar a animação dinâmica do menu. Esta animação consiste apenas em usar o fator de escala para as imagens, ou seja, quando o mouse estiver sobre a imagem, o fator de escala será mudado e quando o mouse não estiver sobre a imagem, o fator de escala volta para seu estado inicial.  

A Figura 1.0, mostra o menu com as imagens.

Figura 1.0

Figura 1.0

 Inicie um projeto no Microsoft Blend 2 ou no Visual Studio 2008.  Adicione algumas imagens no seu projeto e adicione o controle do tipo IMAGE e seta as propriedades: Name, Height, Width, Source  e em Transform, mude a escala, deixe da forma desejada.

Obs: Você deverá deixar a propriedade Transform setada no código, ou irá dar um erro.  Segue o Exemplo, de como deverá ficar  o controle IMAGE na parte do Xaml:

 

 <Image Height=”38″ Width=”38″ Source=”icoHome1.png” Stretch=”Fill” Canvas.Top=”8″ Canvas.Left=”72″ RenderTransformOrigin=”0.5,0.5″ x:Name=”imgHome”>

<Image.RenderTransform>

 <TransformGroup>

<ScaleTransform ScaleX=”1″ ScaleY=”1″/>

<SkewTransform/>

<RotateTransform/>

<TranslateTransform/>

</TransformGroup>

</Image.RenderTransform>

</Image>

 

Eu adicionei 4 imagens em 3D do tipo png .

 

Com todas as suas imagens devidamente configuradas, na parte do codeBehind, iremos adicionar a declaração dos eventos do controle Image  dentro do construtor da classe  page.xaml.cs, Exemplo: 

 

  public ucMenuPrincipal()

                               {

                                               // Required to initialize variables

                                               InitializeComponent();

            SbAnimacaoDowhile();

 

            imgHome.MouseEnter += new MouseEventHandler(imagem_MouseEnter);

            imgContato.MouseEnter += new MouseEventHandler(imagem_MouseEnter);

            imgNewsLetter.MouseEnter += new MouseEventHandler(imagem_MouseEnter);

            imgVideos.MouseEnter += new MouseEventHandler(imagem_MouseEnter);

 

            imgHome.MouseLeave += new MouseEventHandler(imagem_MouseLeave);

            imgContato.MouseLeave += new MouseEventHandler(imagem_MouseLeave);

            imgNewsLetter.MouseLeave += new MouseEventHandler(imagem_MouseLeave);

            imgVideos.MouseLeave += new MouseEventHandler(imagem_MouseLeave);

            }

 

Repare que os eventos MouseEnter de todos os controles usam o mesmo método, o mesmo processo acontece para o MouseLeave.  

 Animação dinâmica:

Crie os objetos:

 private bool _flagMenu = false;  

SplineDoubleKeyFrame _splineIn; 

SplineDoubleKeyFrame _splineOut;

 

 Depois, o primeiro passo é criar  um método para o DoubleAnimationUsingKeyFrames.

 

Note no método que está sendo passado dois parâmetros: O primeiro passa qual objeto irá sofrer a animação, neste caso, o Controle do Tipo Image, e  o segundo qual propriedade será executada, ou seja a escala. 

    public DoubleAnimationUsingKeyFrames GetAnimacao(DependencyObject img, string propertyPath)

        {

          

            DoubleAnimationUsingKeyFrames _dbAnimation = new DoubleAnimationUsingKeyFrames();

            _dbAnimation.BeginTime = TimeSpan.FromSeconds(0);

         

            _splineIn = new SplineDoubleKeyFrame();

            _splineOut = new SplineDoubleKeyFrame();

            _splineIn.KeyTime = TimeSpan.FromSeconds(0.4);

            _splineOut.KeyTime = TimeSpan.FromSeconds(0.4);

 

                if (!_flagMenu)

                {

                _splineIn.Value = 1.5;

                _dbAnimation.KeyFrames.Add(_splineIn);

                 }

                else

                {

                    _splineOut.Value = 1;

                    _dbAnimation.KeyFrames.Add(_splineOut);

                }

 

         

            Storyboard.SetTarget(_dbAnimation, img);

            Storyboard.SetTargetProperty(_dbAnimation, new PropertyPath(propertyPath, new object[0]));

 

            return _dbAnimation;

        }

 

Ciando a Storyboard

   

public void CriaAnimacao(DependencyObject image)

        {

            Storyboard _SbMenu = new Storyboard();

          

            DoubleAnimationUsingKeyFrames scaleX = GetAnimacao(image, “(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)”);

            DoubleAnimationUsingKeyFrames scaleY = GetAnimacao(image, “(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)”);

            _SbMenu.Children.Add(scaleX);

            _SbMenu.Children.Add(scaleY);

            _SbMenu.Begin();

 

        }

 

Os eventos

private void imagem_MouseEnter(object sender, MouseEventArgs e)

        {

          

            CriaAnimacao((Image)sender);

            _flagMenu = true;

        }

 

        void imagem_MouseLeave(object sender, MouseEventArgs e)

        {

 

            CriaAnimacao((Image)sender);

            _flagMenu = false;

        }

 

 

Abraços

Flávia Moreira 

 

 

 

 

 

 

|

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2756 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com