CSS Animation Pong

Postado por: Pedro Rogério em

Animações são possíveis utilizar em linguages como o SVG, não existindo de forma nativa no CSS. A proposta de CSS Animation introduzida no Webkit especifica os valores que o CSS terá após um determinado intervalo de tempo.

Através dessa proposta são utilizados os Keyframes, Animations, Animation behavior, Animation events para obter os mais variados tipos de comportamento através de CSS sem a utilização de JavaScript. Mas isso por enquanto é privilégio de browsers que utilizam como motor de renderização o Webkit(Safari, Google Chrome, Midori)

Pong com CSS

CSS Animation Pong

Todos já ouviram falar daquele famoso jogo chamado Pong? Se não fosse por ele os vídeo-games não chegariam ao nível que chegaram hoje. Vamos ver aqui um exemplo de como desenvolver esse jogo utilizando CSS Animation(O Jogo no exemplo é somente uma ilustração, a jogabilidade não existe).

Vamos fazer o uso de 3 animações simples, chamadas left, ball e right, movendo nossas “raquetes” para cima e para baixo e a bola para a direita e para a esquerda. A “raquete” da direita utiliza um Keyframe extra para abrandar um pouco mais o movimento para baixo:

@-webkit-keyframes left {
	from { top: 20px; }
	to { top: 150px; }
}
@-webkit-keyframes ball {
	from { left: 40px; top: 60px; }
	to { left: 340px; top: 150px; }
 }
@-webkit-keyframes right {
	from { bottom: 120px; }
	50% { bottom: 60px; }
	to { bottom: 40px; }
}

O estado :hover é responsável por fazer a chamada das animações:

#court:hover div {
-webkit-animation-duration: 1s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
-webkit-animation-direction: alternate;
}
#court:hover #paddle-left { -webkit-animation-name: left;  }
#court:hover #ball { -webkit-animation-name: ball; }
#court:hover #paddle-right { -webkit-animation-name: right; }

Não podemos deixar de mostrar um exemplo, mas atenção que você só irá conseguir ver a animação em browsers que utilizam o motor de renderização WebKit.

Esse post é uma adaptação do original: Broken Links.

Posts Relacionados

Confira também outros artigos interessantes postados aqui no blog.

Sobre Pedro Rogério

Pedro Rogério é desenvolvedor web por paixão, não saberia fazer melhor outra coisa. Além de escrever para o CSS no Lanche também escreve para o Pinceladas da Web, blog com assuntos gerais sobre desenvolvimento web.

Central Server

5 Responses to “CSS Animation Pong”

  1. Cara, testei aqui no Chrome e não rolou. Tanto o seu exemplo quanto o original. Por sinal no original o autor não inclui o Chrome:

    “In order to see the animation below you’ll need a recent version of Webkit (Safari 4, a nightly build, or Midori (if you’re using Linux)).”

  2. @Alvaro,

    Qual a versão do seu Chrome? Estou utilizando a versão 2.0.169.0 e funciona normalmente.

  3. Peter Gasston disse:

    @Alvaro: Funciona em Chrome 2.0 so; atualizei o meu post pra mostrar isso.

    @Pedro: Obrigado pelo link; tou feliz que vc gostou.

  4. @Peter,

    Que bom que fala Português, quando vi seu tutorial não resisti em postá-lo aqui. Muito bom. Abraços.

  5. Un Pong con CSS Animation…

    La reciente salida de la beta de Safari 4 ha creado una nueva propuesta en el equipo de Webkit, controlar animaciones mediante CSS. A través de esta propuesta se pueden utilizar los Keyframes, Animations, Animation behavior, Animation events
    para obt…

Leave a Reply