<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9032934369943290397</id><updated>2024-10-24T12:18:57.473-03:00</updated><category term="crafty"/><category term="javascript"/><category term="tutorial"/><category term="anúncio"/><category term="html"/><category term="css"/><title type='text'>Update and Draw</title><subtitle type='html'>Um blog sobre desenvolvimento de jogos html5/canvas usando a engine CraftyJS.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://updateanddraw.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9032934369943290397/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://updateanddraw.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9032934369943290397.post-1268180233247313387</id><published>2013-04-24T09:17:00.001-03:00</published><updated>2013-05-01T16:07:47.130-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="crafty"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial"/><title type='text'>Componente &quot;Text&quot;</title><content type='html'>&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;b&gt;Text&lt;/b&gt;&lt;/span&gt; é o componente que é usado para criar textos. Ele é bem simples e bem útil.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Vamos direto ao exemplo. Veja:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;iframe allowfullscreen=&quot;allowfullscreen&quot; frameborder=&quot;0&quot; height=&quot;300&quot; src=&quot;http://jsfiddle.net/luizbills/Gb8ys/embedded/js,result/&quot; width=&quot;100%&quot;&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Para criar um texto basta apenas você criar uma entidade com o componente &quot;Text&quot;. Clique em &quot;Result&quot; no jsfiddle acima e veja.&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;color: #cc0000;&quot;&gt;Importante:&lt;/span&gt;&lt;span style=&quot;color: #666666;&quot;&gt; Uma entidade usada para ser um texto, deve ser apenas um texto. Não use-a para ser outras coisas também, como uma imagem. Pois não irá funcionar.&lt;/span&gt;&lt;/blockquote&gt;
Um entidade de texto possui os seguintes métodos:&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;.text(String txt)&lt;/span&gt;&lt;br /&gt;
&amp;nbsp;Define qual texto ela irá conter.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;.textColor(String hexColor)&lt;/span&gt;&lt;br /&gt;
Define a cor do texto. Só aceita cores em hexadecimal.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;.textFont(Object font)&lt;/span&gt;&lt;br /&gt;
Define as propriedades da fonte do texto. As propriedades aceitas são &lt;i&gt;family&lt;/i&gt;, &lt;i&gt;size&lt;/i&gt;, &lt;i&gt;weigth&lt;/i&gt; e &lt;i&gt;type&lt;/i&gt;. É importante saber que você &lt;b&gt;sempre&lt;/b&gt; tem que definir a familía da fonte pelo menos 1 vez. Isso é um pequeno bug do Crafty, que futuramente será corrigido.&lt;br /&gt;
&lt;br /&gt;
Para mais informações sobre o componente &quot;Text&quot; acessa a &lt;a href=&quot;http://craftyjs.com/api/Text.html&quot; target=&quot;_blank&quot;&gt;API do Crafty&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Qualquer dúvida post no fórum.&lt;br /&gt;
&lt;br /&gt;
Até a próxima o/&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9032934369943290397/posts/default/1268180233247313387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9032934369943290397/posts/default/1268180233247313387'/><link rel='alternate' type='text/html' href='http://updateanddraw.blogspot.com/2013/04/componente-text.html' title='Componente &quot;Text&quot;'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-9032934369943290397.post-131908133887225815</id><published>2013-01-14T12:40:00.000-02:00</published><updated>2013-04-27T11:15:19.408-03:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="crafty"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial"/><title type='text'>Configurando spritesheets</title><content type='html'>Para quem não sabe, spritesheets são aquelas imagens com várias imagens. Geralmente mostrando várias animações de um personagem. Nesse post irei explicar como usa-las no Crafty.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit; font-size: large;&quot;&gt;&lt;b&gt;Como usar um sprite?&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
O crafty possui um componente nativo chamado &lt;i&gt;Sprite&lt;/i&gt;. Mas ao invés dele iremos usar o método &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;a href=&quot;http://craftyjs.com/api/Crafty-sprite.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Crafty.sprite&lt;/a&gt;&lt;/span&gt;, que serve para configurar com mais facilidade o &lt;a href=&quot;http://craftyjs.com/api/Sprite.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;componente Sprite&lt;/a&gt;. Ele possui a seguinte sintaxe:&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Crafty.sprite(&lt;/span&gt; &lt;i&gt;largura&lt;/i&gt; , &lt;i&gt;altura&lt;/i&gt; ,&lt;i&gt; endereço_da_imagem&lt;/i&gt; , &lt;i&gt;objeto_mapa&lt;/i&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;);&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
Os argumentos &quot;largura&quot; e &quot;altura&quot; são a largura e altura de &quot;cada sprite&quot;. O endereço é nada mais do que aonde a imagem está. E o &quot;objecto_mapa&quot; é um objeto onde cada membro será o nome do sprite com uma Array com dois numeros representando o X e Y relativos do sprite na imagem. Antes que você pense que é complicado, vamos ao exemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqMgJrI8d-L4tpl7M15VES-Wbo2I7ZMfEh2MUa8QYfmD-RYcj2psgBb7WfxJJOBuHiao80vHjZ3KHDfGf7H1_S7sLfxaZMDbm-YftDy2p8YkuQHUzgFwi0-w7KMCHJHLQfukKVB8eHh0s/s1600/spritesheet.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqMgJrI8d-L4tpl7M15VES-Wbo2I7ZMfEh2MUa8QYfmD-RYcj2psgBb7WfxJJOBuHiao80vHjZ3KHDfGf7H1_S7sLfxaZMDbm-YftDy2p8YkuQHUzgFwi0-w7KMCHJHLQfukKVB8eHh0s/s1600/spritesheet.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
A imagem acima possui largura de 256 pixels e uma altura de 256 pixels também. Vamos agora dividir ela em vários quadradinhos de 32x32 pixels:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHKCihX-TR8knVXdOWbM5rnF1pLLHqzgkG543hsxobtx2g-aHdkekw8m2J_F-6t7-F14zEDHt6TkIBrpN1JePa5eBunvFPS5tWWXaHh_OWpnRHL0D-wyMHlMLj2r8aGMLe8xRPyBtroxQ/s1600/ss.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHKCihX-TR8knVXdOWbM5rnF1pLLHqzgkG543hsxobtx2g-aHdkekw8m2J_F-6t7-F14zEDHt6TkIBrpN1JePa5eBunvFPS5tWWXaHh_OWpnRHL0D-wyMHlMLj2r8aGMLe8xRPyBtroxQ/s1600/ss.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Notamos agora que podemos ver cada sprite em seu espaço de 32x32 pixels. Isso que está vendo é um spritesheet ou &lt;i&gt;mapa de sprites&lt;/i&gt;. Agora vamos montar um sistema de 2 coordenadas (&lt;i&gt;colunas x&lt;/i&gt; e &lt;i&gt;linhas y&lt;/i&gt;), veja:&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ4ZQeEGJUgrtesYtFws4mot9RddAp_RdZNNisSLQLenuwMQ-HD2R_ncVa2Iyr5Ng7EaWH5EWpGhYO3DVhkccXGXtRPFAF82-yHcfkbMpUlmzuJICOh9w_kCiKXi-DaH9das5eYzyGCBE/s1600/grid.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ4ZQeEGJUgrtesYtFws4mot9RddAp_RdZNNisSLQLenuwMQ-HD2R_ncVa2Iyr5Ng7EaWH5EWpGhYO3DVhkccXGXtRPFAF82-yHcfkbMpUlmzuJICOh9w_kCiKXi-DaH9das5eYzyGCBE/s1600/grid.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Agora com nosso sistema de coordenadas podemos facilmente localizar qualquer sprite apenas sabendo o X e Y dele. Por exemplo:&lt;br /&gt;
- No &lt;u&gt;X0&lt;/u&gt; e &lt;u&gt;Y0&lt;/u&gt; temos uma &quot;poção com liquido verde&quot;.&lt;br /&gt;
- No &lt;u&gt;X3&lt;/u&gt; e &lt;u&gt;Y6&lt;/u&gt; temos uma &quot;cruz vermelha&quot;.&lt;br /&gt;
- No &lt;u&gt;X5&lt;/u&gt; e &lt;u&gt;Y0&lt;/u&gt; temos &quot;chave dourada&quot;.&lt;br /&gt;
&lt;br /&gt;
No crafty podemos usar esse mesmo sistema para configurar nossos sprites.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Sprites no Crafty&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Agora vamos usar na prática o &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Crafty.sprite&lt;/span&gt;. Veja o código:&lt;br /&gt;
&lt;iframe allowfullscreen=&quot;allowfullscreen&quot; frameborder=&quot;1&quot; src=&quot;http://jsfiddle.net/mCdUX/356/embedded/js,result/&quot; style=&quot;height: 520px; width: 100%;&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
No codigo acima montei um &lt;i&gt;mapa de sprites&lt;/i&gt; na váriavel &quot;mapa&quot;. Cada membro do objeto possui uma Array com dois&amp;nbsp;números&amp;nbsp;o X e Y de coordenas. Veja que a chave dourada ficava no X5 e Y0, então criei uma Array com os&amp;nbsp;números&amp;nbsp;5 e 0. Note que a nossa imagem&amp;nbsp;possuía&amp;nbsp;vários sprites, mas configurei apenas 3 deles. Depois que uso o &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Crafty.sprite&lt;/span&gt; os 3 sprites escolhidos agora são &quot;componentes&quot; do jogo. Então para usar eles você precisa apenas adiciona-los numa entidade desejada, como fiz no código. Para visualizar o resultado do código acima, clique em RESULT no canto superior direito do JSFiddle. Assim você verá os 3 sprites que escolhi. Aconselho você clicar no &quot;+&quot; perto do &lt;i&gt;result&lt;/i&gt;&amp;nbsp;e modificar o mapa de sprite para tentar colocar outros sprites da imagem. Tente, é fácil!&lt;br /&gt;
&lt;br /&gt;
Caso você tenha ficado com alguma dúvida, por favor fale sobre ela no fórum. Irei te ajudar com maior prazer. O tópico para esse post é:&lt;br /&gt;
&lt;a href=&quot;https://groups.google.com/forum/#!topic/upanddraw/IpnkdRqZEuE&quot;&gt;https://groups.google.com/forum/#!topic/upanddraw/IpnkdRqZEuE&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Até a próxima!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9032934369943290397/posts/default/131908133887225815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9032934369943290397/posts/default/131908133887225815'/><link rel='alternate' type='text/html' href='http://updateanddraw.blogspot.com/2013/01/configurando-spritesheets.html' title='Configurando spritesheets'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqMgJrI8d-L4tpl7M15VES-Wbo2I7ZMfEh2MUa8QYfmD-RYcj2psgBb7WfxJJOBuHiao80vHjZ3KHDfGf7H1_S7sLfxaZMDbm-YftDy2p8YkuQHUzgFwi0-w7KMCHJHLQfukKVB8eHh0s/s72-c/spritesheet.png" height="72" width="72"/></entry><entry><id>tag:blogger.com,1999:blog-9032934369943290397.post-2970203245502416096</id><published>2012-11-24T11:10:00.001-02:00</published><updated>2012-11-24T16:50:38.407-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="crafty"/><category scheme="http://www.blogger.com/atom/ns#" term="html"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial"/><title type='text'>Manipulando Cenas com Crafty.scene</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;
Todo jogo é dividido em várias cenas. Pode começar a reparar de hoje em diante. Um jogo comum de video game sempre começava mostrando um monte de letrinhas na tela, depois geralmente mostrava algumas imagens que era os logos da empresas que participaram do desenvolvimento do jogo e logo em seguida vinha a tela de inicio, onde&amp;nbsp;iniciávamos&amp;nbsp;o jogo ou&amp;nbsp;configurávamos&amp;nbsp;ele. Pois bem, vou mostrar como manipular as cenas de um um jogo com o Crafty.&lt;/div&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;O que é uma Cena?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Eu admito que não sei explicar muito bem o que é uma cena. Porém posso mostrar na prática que você já viu várias cenas. Você já jogou aqueles clássicos pokemon de game boy? Provavelmente sim. No jogo, uma hora você está andando&amp;nbsp;tranquilamente no mundo pokemon e derrepente, quando passa por uma graminha, a tela pisca e o jogo muda completamente, um pokemon selvagem surge &lt;strike&gt;para te matar&lt;/strike&gt;.&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://dl.dropbox.com/u/23008941/Update%20and%20Draw/pok1.PNG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;160&quot; src=&quot;https://dl.dropbox.com/u/23008941/Update%20and%20Draw/pok1.PNG&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;i&gt;À esquerda o jogo no modo navegação. À direita o jogo no modo batalha. Imagens do jogo Pokemon Leaf Green.&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Isso é um exemplo de mudança de cena. Trocar de cena não significa que o jogo também mudará. Em pokemon mesmo podemos notar que trocamos de mapa constantemente. Cada mapas com seus npcs e pokemons diferentes. Isso também é trocar de cena. Separar seu jogo por cenas ajuda a organiza-lo muito.&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Crafty.scene&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Crafty.scene&lt;/span&gt; é o método que trata as cenas no Crafty. Ele serve para declarar e chamar a cena. Vamos primeiro aprender como declarar uma cena. &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Crafty.scene&lt;/span&gt; quando está sendo chamado para declarar uma cena, deve receber 2 argumentos. O primeiro é o nome da cena e o segundo é uma função que será executada quando a cena for iniciada. Veja um exemplo:&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Crafty.scene(&quot;FundoVermelho&quot;, function() {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; Crafty.background(&quot;red&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;});&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
No código acima foi criada uma cena chamada &lt;i&gt;FundoVermelho&lt;/i&gt;&amp;nbsp;que ao ser iniciada troca o background do jogo para a cor vermelha usando&amp;nbsp;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;Crafty.background&lt;/span&gt;. Porém como eu disse, isso é apenas a declaração da cena. Para usa-la você ainda vai precisar chamar ela. Para chama-la você usa o Crafty.scene também, mas agora você chama ele apenas com 1 argumento, no caso o nome da cena. Veja:&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Crafty.scene(&quot;FundoVermelho&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Quando uma cena é chamada &lt;u&gt;todas as entidades com o componente &lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;u&gt;&quot;2D&quot;&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt; que existirem no jogo serão&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-family: inherit;&quot;&gt;destruídas&lt;/b&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;. Geralmente quando trocamos de cena é para ir para uma outra parte do jogo, seja um menu ou algum outro mapa. E precisamos reorganizar as entidades do jogo novamente. Por isso&amp;nbsp;&lt;/span&gt;destruímos&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;elas. Para evitar que nós precisemos lembrar de destruir todas as entidades que não precisamos na nova cena, o Crafty faz isso para nós. Mas existem ocasiões que não precisamos destruir certas entidades. Então apenas adicione o component &lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&quot;Persist&quot;&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt; (Persista, em português) nessas entidades expecíficas que queremos que não sejão destruídas.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b&gt;Exemplo de Cenas:&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://www.craftybuilder.com/?version=0&amp;amp;id=CFY5HTXZNZA0HVGY&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://www.craftybuilder.com/?version=0&amp;amp;id=CFY5HTXZNZA0HVGY&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
No exemplo acima, eu crio duas cenas. Uma que troca o fundo para vermelho e outra que troca pra verde. Toda vez que a cena é mudada, novas entidades são criadas e as antigas são&amp;nbsp;destruídas. Os dois botões que são usados para trocar a cena são entidades do jogo também, porém eles não são&amp;nbsp;destituídos&amp;nbsp;pois possuem o componente &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&quot;Persist&quot;&lt;/span&gt;.&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Obrigado por ler mais esse tutorial sobre Crafty em meu blog. Por favor, qualquer dúvida ou talvez você queira apenas comentar, venha em nosso fórum:&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;https://groups.google.com/d/topic/upanddraw/JP9uhXC6UA0/discussion&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;https://groups.google.com/d/topic/upanddraw/JP9uhXC6UA0/discussion&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/a&gt;&lt;/div&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Até mais!&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9032934369943290397/posts/default/2970203245502416096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9032934369943290397/posts/default/2970203245502416096'/><link rel='alternate' type='text/html' href='http://updateanddraw.blogspot.com/2012/11/manipulado-cenas-com-craftyscene.html' title='Manipulando Cenas com &lt;code&gt;Crafty.scene&lt;/code&gt;'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-9032934369943290397.post-6199630765375391355</id><published>2012-11-21T11:49:00.000-02:00</published><updated>2012-11-21T11:56:40.621-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="crafty"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial"/><title type='text'>Paradigma de Entidades e Componentes</title><content type='html'>A maneira que o crafty trata os objetos do jogo é um pouco diferente, pelo menos quando vi pela primeira vez achei bem diferente e muito interessante.&lt;br /&gt;
&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Introdução&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Crafty usa o paradigma &lt;b&gt;Sistema de Entidades e Componentes&lt;/b&gt;. Tudo em Crafty são entidades e essas entidades, por sua vez, podem possuir vários componentes.&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Entidades&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Entidades são os objetos que existe no mundo do jogo, geralmente esses objetos são&amp;nbsp;visíveis e até se movem. Alguns exemplos de entidade:&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;um soldado;&lt;/li&gt;
&lt;li&gt;uma granada;&lt;/li&gt;
&lt;li&gt;um carro;&lt;/li&gt;
&lt;li&gt;uma pedra;&lt;/li&gt;
&lt;li&gt;uma mesa.&lt;/li&gt;
&lt;/ul&gt;
Entidades geralmente podem podem realizar várias ações. Por exemplo:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Mover;&lt;/li&gt;
&lt;li&gt;Pular;&lt;/li&gt;
&lt;li&gt;Explodir;&lt;/li&gt;
&lt;li&gt;Voar;&lt;/li&gt;
&lt;li&gt;Reagir com outras entidades;&lt;/li&gt;
&lt;li&gt;Dançar.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;Componentes&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
E os componentes? O que são? Para que servem? São importantes? &lt;strike&gt;Isso e muito mais você verá sexta-feira, no Globo Reporter&lt;/strike&gt;. Componente é o que permite uma entidade realizar várias ações. Uma entidade pode ter vários componentes, cada um dando à ela várias funcionalidades.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Imagine um componente &quot;Movimento&quot;, ele permite que a entidade mova-se. Então todas as entidades do seu jogo que podem mover iriam ter esse componente. Já aquelas entidades que não se movem (uma árvore, por exemplo) não iriam ter esse componente.&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Componentes permite que as entidades só tenha as funcionalidades que elas precisam ter.&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Como isso funciona no Crafty?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
No Crafty quando queremos criar uma entidade usamos o método &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;.e()&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;. Os argumentos desse método são os nomes dos componentes que você quer que ela tenha inicialmente. Você pode passa-los todos juntos, &amp;nbsp;separados por virgula, ou separadas, como argumentos individuais. Veja:&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;var minhaEntidade1 = Crafty.e(&quot;Component1,&amp;nbsp;Component2, Component3&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;// ou&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;var minhaEntidade2 = Crafty.e(&quot;Component1&quot;, &quot;Component2&quot;, &quot;Component3&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;Aqueles argumentos serão apenas os componentes que a entidade terá ao ser criada. Você pode adicionar mais outros componentes usando &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;.addComponent()&lt;/span&gt; e pode remover componentes com o &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;.removeComponente()&lt;/span&gt;. Remover? Sim, remover. Caso você não veja utilidade nisso, imagine uma entidade paralisada. Seria legal que entidades paralisadas não possam se mover, então apenas remova o componente &quot;Movimento&quot; dela. E se precisar, depois de um tempo você adiciona ele novamente.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Como crio componentes?&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Agora vem a parte legal. Para criar componentes usamos o método &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;.c()&lt;/span&gt;. Esse método recebe dois argumentos. O primeiro argumento é uma string que será o nome do Componente, essa string é case-sensitive, ou seja,&amp;nbsp;maiúsculas&amp;nbsp;e&amp;nbsp;minúsculas&amp;nbsp;fazem diferença. Um componente &quot;Movimento&quot; seria diferente de um outro componente chamado &quot;movimento&quot;, apenas por que a primeira letra é diferente. Vamos continuar... Já o segundo argumento é um objeto com as funcionalidades que o componente adicionará à entidade. Vejamos um exemplo bem simples:&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;Crafty.c(&quot;MeuComponente&quot;, {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; _mensagem : &quot;Meu componente é&amp;nbsp;incrível&quot;,&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; // o método init é sempre executado quando o componente é adicionado&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; init : function() {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; alert(&quot;Meu Componente foi adicionado&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; },&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; msg: function() {&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; alert(this._mensagem);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;});&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
O componente acima está apenas escrito, ele ainda não faria nada. Na verdade nenhum componente faz nada, quem faz é a entidade. Componente apenas faz parte da entidade. Imagine que criamos uma entidade sem nenhum componente. Chega em uma parte do jogo e precisamos que ela tenha o componente &quot;MeuComponente&quot;, esse que acabamos de criar. Então adicionamos ele na entidade. Assim que ele é adicionado aparece uma messagem na tela&amp;nbsp;&lt;span style=&quot;font-family: inherit;&quot;&gt;&quot;Meu Componente foi adicionado&quot;, pois o método &lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;init&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt; é sempre chamado quando um componente é adicionado em uma entidade. Nossa entidade agora terá o método .&lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;msg()&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;. Esse método faria ser mostrado na tela o conteúdo da váriavel &lt;/span&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;_mensagem&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;, que também faz parte de nossa entidade agora.&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;b style=&quot;font-family: inherit; font-size: x-large;&quot;&gt;Conheça o CraftyBuilder&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;a href=&quot;http://www.craftybuilder.com/&quot; rel=&quot;nofollow&quot; style=&quot;font-family: inherit;&quot; target=&quot;_blank&quot;&gt;CraftyBuilder&lt;/a&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;é um site para desenvolvimento de jogos em Crafty. Eu vou usa-lo muito daqui por diante para mostrar exemplos. A vantagem dele que ele é feito especialmente para Crafty, assim não precisamos de adicionar o script na página, pois já está lá. Para demonstrá-lo fiz um exemplo:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;a href=&quot;http://www.craftybuilder.com/?version=0&amp;amp;id=1DTUDS4T0APPJLIR&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://www.craftybuilder.com/?version=0&amp;amp;id=1DTUDS4T0APPJLIR&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Nesse Exemplo apenas criei uma entidade (um quadrado), colori e mudei ela de lugar. Aconselho explorar melhor esse exemplo, dando novos valores para nossa entidade, como uma cor ou tamanho diferentes.&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Finalizo aqui minha explicação sobre Entidades e Componentes. Recomendo a leitura da &lt;a href=&quot;http://craftyjs.com/api/Crafty.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;documentação do Crafty&lt;/a&gt;, juntamente com o CraftyBuilder. Teste e explore tudo que você for aprendendo. Veja também alguns jogos criados em Crafty:&lt;/div&gt;
&lt;a href=&quot;http://craftyjs.com/&quot; target=&quot;_blank&quot;&gt;http://craftyjs.com/&lt;/a&gt; (no final da página)&lt;br /&gt;
&lt;a href=&quot;https://groups.google.com/forum/#!topic/craftyjs/AIsnKKwQ2ow/discussion&quot; target=&quot;_blank&quot;&gt;https://groups.google.com/forum/#!topic/craftyjs/AIsnKKwQ2ow/discussion&lt;/a&gt; (no fórum oficial do Crafty)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Muito Obrigado por ter lido. Por favor, se não for&amp;nbsp;incomodar, comente em nosso fórum:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;a href=&quot;https://groups.google.com/d/topic/upanddraw/5cG6g5EHC7U/discussion&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://groups.google.com/d/topic/upanddraw/5cG6g5EHC7U/discussion&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9032934369943290397/posts/default/6199630765375391355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9032934369943290397/posts/default/6199630765375391355'/><link rel='alternate' type='text/html' href='http://updateanddraw.blogspot.com/2012/11/paradigma-de-entidades-e-componentes.html' title='Paradigma de Entidades e Componentes'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-9032934369943290397.post-4552347366343718839</id><published>2012-11-20T19:06:00.004-02:00</published><updated>2013-01-14T20:20:33.647-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="anúncio"/><title type='text'>Nosso Fórum!</title><content type='html'>Nosso fórum está pronto. O que está esperando? Venha participar dele. Você só vai precisar de uma &lt;a href=&quot;http://gmail.com/&quot; target=&quot;_blank&quot;&gt;conta no Google&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Venha logo pro nosso fórum:&amp;nbsp;&lt;a href=&quot;https://groups.google.com/forum/#!forum/upanddraw&quot;&gt;https://groups.google.com/forum/#!forum/upanddraw&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Te espero lá!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9032934369943290397/posts/default/4552347366343718839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9032934369943290397/posts/default/4552347366343718839'/><link rel='alternate' type='text/html' href='http://updateanddraw.blogspot.com/2012/11/nosso-forum.html' title='Nosso Fórum!'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-9032934369943290397.post-4639263548137267812</id><published>2012-11-17T14:04:00.001-02:00</published><updated>2012-11-21T10:04:15.338-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="crafty"/><category scheme="http://www.blogger.com/atom/ns#" term="css"/><category scheme="http://www.blogger.com/atom/ns#" term="html"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial"/><title type='text'>Conheça o Crafty!</title><content type='html'>&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Quer aprender a criar jogos de navegador de maneira rápida, sem precisar ficar criando códigos enormes? Conheça o Crafty, com ele você poderá fazer isso fácil fácil...&lt;/div&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-large;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-large;&quot;&gt;&lt;u&gt;Introdução&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Para quem nunca ouviu falar do Crafty. Simplesmente saiba que ele é uma biblioteca para desenvolvimento de jogos de navegador. Crafty é inteiramente em javascript e a única coisa que você precisa para usa-lo é o seu código-fonte, que pode ser encontrado nesse &lt;a href=&quot;http://cdn.craftycomponents.com/crafty-release-uncompressed.js&quot; target=&quot;_blank&quot;&gt;link&lt;/a&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: x-large;&quot;&gt;&lt;u&gt;Por que usar o Crafty?&lt;/u&gt;&lt;/span&gt;&lt;span style=&quot;font-size: large;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: x-large;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Jogos de navegador&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Crafty é usado para criar jogos de navegador. Para começar um jogo você precisar apenas ter um navegador e um conhecimento básico em html e javascript. Além dessas vantagens, perceba também que seu jogo será independente de plataforma, ou seja, para alguém jogar seu jogo só precisará de um navegador.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Leve&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Crafty, comprimido, pesa apenas 100kB.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt; Larga Compatibilidade&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Crafty funciona em todos os navegadores modernos: IE9, Firefox, Chrome, Opera.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt; Vários Recursos&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Crafty dispõe de vários sistemas nativos:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Suporta Sprite Map.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Colisão&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Gravidade&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Carregador de assets&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
E muito mais... &lt;br /&gt;
&lt;br /&gt;
Futuramente Crafty também terá suporte a Node.js, para ajudar no desenvolvimento de jogos onlines.&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: x-large;&quot;&gt;&lt;u&gt; Por onde começar?&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: x-large;&quot;&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: large;&quot;&gt; Para quem nunca teve contato com HTML e/ou Javascript&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Comece aprendendo o básico sobre HTML.&lt;br /&gt;
Recomendo:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3schools.com/html/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://www.w3schools.com/html/&lt;/a&gt; (em inglês)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://pt-br.html.net/tutorials/html/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://pt-br.html.net/tutorials/html/&lt;/a&gt; (em português)&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
Assim que já se sentir seguro sobre HTML, comece com o Javascript:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.w3schools.com/js/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://www.w3schools.com/js/&lt;/a&gt; (em inglês)&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www2.icmc.usp.br/~biblio/BIBLIOTECA/not_did/ND_072.pdf&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://www2.icmc.usp.br/~biblio/BIBLIOTECA/not_did/ND_072.pdf&lt;/a&gt; (em português)&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
Também é legal saber pelo menos um pouco sobre CSS: &lt;a href=&quot;http://www.w3schools.com/css/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://www.w3schools.com/css/&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt; Para quem já entende sobre web design&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Leia a documentação do Crafty: &lt;a href=&quot;http://craftyjs.com/api/Crafty.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://craftyjs.com/api/Crafty.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;Em breve começo a mostrar os conceitos básicos do Crafty aqui no blog.&lt;br /&gt;Obrigado por ter lido.&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Quer comentar? Visite o nosso fórum:&lt;br /&gt;
&lt;a href=&quot;https://groups.google.com/forum/#!category-topic/upanddraw/tutoriais/KgFe2PO_GPw&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://groups.google.com/forum/#!category-topic/upanddraw/tutoriais/KgFe2PO_GPw&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9032934369943290397/posts/default/4639263548137267812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9032934369943290397/posts/default/4639263548137267812'/><link rel='alternate' type='text/html' href='http://updateanddraw.blogspot.com/2012/11/conheca-o-crafty.html' title='Conheça o Crafty!'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-9032934369943290397.post-3505462382574730613</id><published>2012-11-17T13:10:00.002-02:00</published><updated>2012-11-18T13:35:29.755-02:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="anúncio"/><category scheme="http://www.blogger.com/atom/ns#" term="crafty"/><title type='text'>Boas vindas!</title><content type='html'>Olá galera,&lt;br /&gt;
&lt;br /&gt;
Sou o Bills e pretendo publicar para vocês sobre desenvolvimento de jogos. Minha meta é que o blog &quot;futuramente&quot; tenha publicações sobre diversos assuntos e plataformas. Mas por enquanto meu foco será &lt;a href=&quot;http://www.craftyjs.com/&quot; target=&quot;_blank&quot;&gt;Crafty&lt;/a&gt;, uma biblioteca para desenvolvimento de jogos de navegador (&lt;i&gt;browser games&lt;/i&gt;) usando javascript.&lt;br /&gt;
Há alguns meses atrás me interessei muito pelo novos recursos do &lt;a href=&quot;http://www.w3.org/html/logo/&quot; target=&quot;_blank&quot;&gt;HTML5&lt;/a&gt;, acabei descobrindo que não precisamos mais de &lt;i&gt;java&lt;/i&gt;,&amp;nbsp;&lt;i&gt;flash&lt;/i&gt; ou outros recursos para produzir um jogo de navegador. Agora com apenas &lt;i&gt;html&lt;/i&gt; e &lt;i&gt;javascript&lt;/i&gt; podemos criar um jogo.&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt; Sempre fui muito fã de jogos de navegador, meu primeiro contato com eles foi ao descobrir &lt;a href=&quot;http://runescape.com/&quot; target=&quot;_blank&quot;&gt;Runescape&lt;/a&gt;. Mas meu primeiro contato com desenvolvimento de jogos foi ao descobrir o &lt;i&gt;Warcarft World Editor.&lt;/i&gt;&amp;nbsp;Foi ele que me iniciou no mundo do &lt;i&gt;Game Design&lt;/i&gt; e da Programação.&lt;br /&gt;
&lt;br /&gt;
Bom... curtam o blog =)&lt;br /&gt;
Para quem é interessado, e também para quem não é, recomendo ler meu tutorial sobre o Crafty:&lt;br /&gt;
&lt;a href=&quot;http://updateanddraw.blogspot.com/2012/11/conheca-o-crafty.html&quot; target=&quot;_blank&quot;&gt;http://updateanddraw.blogspot.com/2012/11/conheca-o-crafty.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Até a próxima, galera.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9032934369943290397/posts/default/3505462382574730613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9032934369943290397/posts/default/3505462382574730613'/><link rel='alternate' type='text/html' href='http://updateanddraw.blogspot.com/2012/11/ola.html' title='Boas vindas!'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>