tag:blogger.com,1999:blog-20304509269012472742024-03-19T09:33:28.116-03:00Rauber Labs - Mobile DevelopmentMobile solutions - games and apps.Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.comBlogger35125tag:blogger.com,1999:blog-2030450926901247274.post-43812869745978591552011-11-07T17:03:00.000-02:002011-11-07T17:03:14.490-02:00Treinamentos no Brasil<div dir="ltr" style="text-align: left;" trbidi="on">
<span class="Apple-style-span" style="color: orange; font-size: large;">Apresentação</span><br />
<br />
O mercado de desenvolvimento de aplicações móveis está muito aquecido. A demanda por novidades é muita e os games são uma grande parte desse sucesso. O Corona é um framework para criação de games usando Lua, uma linguagem de fácil aprendizado desenvolvido pela PUC-RJ e usada inclusive no World Of Warcraft.<br />
<br />
<span class="Apple-style-span" style="color: orange; font-size: large;">Público</span><br />
<br />
Este curso é para programadores que desejam atuar no mundo dos games. O Corona SDK é de fácil assimilação e proporciona aos desenvolvedores agilidade e ferramentas para os mais variados propósitos.<br />
<br />
<span class="Apple-style-span" style="color: orange; font-size: large;">Pré-Requisitos</span><br />
<br />
Devido à quantidade de material que é abrangido no curso, é assumido que os alunos tenham experiência prática em desenvolvimento e conhecimentos de lógica de programação.<br />
<br />
<span class="Apple-style-span" style="color: orange; font-size: large;">Metodologia</span><br />
<br />
Aulas expositivas com acompanhamento prático, desenvolvendo pequenos aplicativos utilizando os conceitos apresentados. O ambiente é totalmente voltado para que o aluno obtenha maior proveito durante as aulas.<br />
<br />
<span class="Apple-style-span" style="color: orange; font-size: large;">Conteúdo</span><br />
<br />
<ul style="text-align: left;">
<li>Introdução a Linguagem de Programação Lua;</li>
<li>Introdução ao Corona;</li>
<li>Algoritmos básicos (decisão, repetição, tabelas, funções);</li>
<li>Criando imagens;</li>
<li>Criando textos;</li>
<li>Criando desenhos vetorias;</li>
<li>Posicionamento;</li>
<li>Transições / interpolações de gráficos;</li>
<li>Animações;</li>
<li>Conceitos de Events e Listeners;</li>
<li>Utilizando Eventos;</li>
<li>Conceito de Timers;</li>
<li>Áudio, vídeo e câmera;</li>
<li>Acelerômetro;</li>
<li>Apresentação do pacote Physics / Box2D;</li>
<li>Construção e utilização de Bodies;</li>
<li>Introdução aos Módulos Externos;</li>
<li>Etapas de criação de jogos</li>
</ul>
<br />
<span class="Apple-style-span" style="color: orange; font-size: large;">Próxima Turma</span><br />
<br />
<ul style="text-align: left;">
<li><u>Início</u>: 16/01/2012</li>
<li><u>Total de horas</u>: 18h</li>
<li><u>Total de vagas</u>: 12</li>
<li><u>Horário de aula</u>: Segunda - sábado, 19h - 22h</li>
<li><u>Local</u>: Aracaju/SE</li>
<li><u>Professor</u>: Ricardo Rauber</li>
<li><u>Valor, formas de pagamento e matrícula</u>: Acesse <a href="http://www.treinamentos.mobi/cursos/jogos-em-corona/">http://www.treinamentos.mobi/cursos/jogos-em-corona/</a></li>
</ul>
<br />
<br /></div><div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com8tag:blogger.com,1999:blog-2030450926901247274.post-57241045074074333922011-09-08T23:41:00.000-03:002011-09-08T23:41:08.417-03:00Serviços no Brasil<div dir="ltr" style="text-align: left;" trbidi="on">
This post is specific for Brazil.<br />
<br />
<b><span class="Apple-style-span" style="color: orange; font-size: large;">Projetos</span></b><br />
<br />
Se você possui uma empresa ou trabalha em alguma que precise ou quer desenvolver um aplicativo para dispositivos da Apple (iPhone, iPad e iPod Touch) e/ou dispositivos com o sistema operacional Android, oferecemos o serviço de desenvolvimento de projetos sob demanda. Os projetos são fechados e podem ser jogos, livros, apresentações ou aplicativos diversos. Desenvolvemos todo o projeto, podendo o cliente fornecer o material gráfico e sonoro ou os mesmos serem desenvolvidos por nós. Nossa principal ferramenta é o Corona SDK, mas trabalhamos com outras tecnologias (consulte).<br />
<br />
<b><span class="Apple-style-span" style="color: orange; font-size: large;">Consultoria</span></b><br />
<br />
Se a sua empresa já trabalha com o Corona SDK, oferecemos o serviço de consultoria para auxiliar no desenvolvimento dos seus projetos. Temos profissionais altamente qualificados que irão dar o suporte que a sua equipe precisa para resolver as questões mais complexas. Além da consultoria em projetos feitos com o Corona SDK, também trabalhamos com consultoria de elaboração de ideias, planejamento, metodologia e arquitetura de jogos e aplicativos. Nossa principal ferramenta é o Corona SDK, mas trabalhamos com outras tecnologias (consulte).<br />
<br />
<span class="Apple-style-span" style="color: orange; font-size: large;"><b>Treinamento</b></span><br />
<br />
Sua empresa já trabalha com desenvolvimento de software, mas ainda não trabalha com desenvolvimento para dispositivos móveis e quer entrar nesse ramo promissor? Realizamos treinamentos na ferramenta Corona SDK abrangendo desde o básico sobre o mercado e lógica de programação até o desenvolvimento de jogos conceituados como <i>Angry Birds</i>. Os treinamentos podem variar de acordo com os assuntos a serem abordados e a quantidade de alunos. Nossa principal ferramenta é o Corona SDK, mas trabalhamos com outras tecnologias (consulte).<br />
<br />
<span class="Apple-style-span" style="color: orange; font-size: large;"><b>Área de Atuação</b></span><br />
<br />
Estamos situados em Porto Alegre, Rio Grande do Sul, mas trabalhamos em toda extensão do território brasileiro, seja pessoal ou remotamente. Também trabalhamos com outros países de maneira remota ou pessoal para América do Sul, demais localidades favor consultar.<br />
<br />
<span class="Apple-style-span" style="color: orange; font-size: large;"><b>Contato</b></span><br />
<br />
<a href="mailto:ricardo@beelieve.com.br">ricardo@beelieve.com.br</a><br />
<br /></div>
<div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com0tag:blogger.com,1999:blog-2030450926901247274.post-43875897101111695872011-08-26T20:05:00.000-03:002011-08-26T20:05:50.517-03:00Director 1.4 - Books!<div dir="ltr" style="text-align: left;" trbidi="on">Hello people!<br />
<br />
I'm really proud to announce that I am now releasing Director 1.4 with a highly asked feature: <b>Books</b>.<br />
<br />
What is that? Well, you can download it on the link below and see by yourself! Also, I made a lot of changes to fix some issues and improved the error messages. You can now disable it by changing the "debug" variable to false. It's that easy!<br />
<br />
This is a little list of some cool stuff, I wished to release it before Hackathon because I think is not fair to have it exclusively, please take a look:<br />
<br />
- clean() function is back<br />
- new start() function on books<br />
- initVars() is called after scene is loaded<br />
- improved error handling<br />
- bug fixes on pop up<br />
- group recreation (internal)<br />
- missed objects are now inserted on localGroups<br />
- protection handle now "tap" listeners<br />
- lot more!<br />
<br />
Thanks everybody, I really wish success for you all and I will try to improve even more the class that you love or hate.<br />
<br />
Director 1.4 Download: <a href="https://bitbucket.org/ricardorauber/corona/downloads/director_by_ricardo_rauber_1_4.zip">director_by_ricardo_rauber_1_4.zip</a></div><div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com18tag:blogger.com,1999:blog-2030450926901247274.post-79025425302793046892011-07-01T09:14:00.009-03:002011-07-06T22:57:18.535-03:00Director Class 1.3<div dir="ltr" style="text-align: left;" trbidi="on">Hello folks,<br />
<br />
Today I'm releasing the new Director Class 1.3. As you could see on the preview video, there are some cool stuff on this version that I will explain on this post, but first the link to download it:<br />
<br />
<a href="https://bitbucket.org/ricardorauber/corona/downloads/director_by_ricardo_rauber-1_3.zip">https://bitbucket.org/ricardorauber/corona/downloads/director_by_ricardo_rauber-1_3.zip</a><br />
<br />
<b><span class="Apple-style-span" style="color: orange; font-size: large;">Almost completely rewrite</span></b><br />
<br />
I did so many changes that the code it's way different of the other versions. You will find that it's clean and easier to understand.<br />
<br />
<b><span class="Apple-style-span" style="color: orange; font-size: large;">More consistent</span></b><br />
<br />
The older versions were made based on timers, I changed that to execute transitions/fxEnded on the onComplete parameter of the transition.to function as the example below:<br />
<br />
<b>Before:</b><br />
<br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">showFx = transition.to ( currView, { x=display.contentWidth*-1, time=fxTime } )</span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">timer.performWithDelay( fxTime, fxEnded )</span><br />
<br />
<b>After:</b><br />
<br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">showFx = transition.to ( currView, { x=-_W, time=fxTime, onComplete=fxEnded } )</span><br />
<br />
<b><span class="Apple-style-span" style="color: orange; font-size: large;">Function cleanGroups() removed</span></b><br />
<br />
There is no need to keep this function because Ansca changed the removeSelf() method to be recursive, so now the scene groups are cleaned only with the removeSelf().<br />
<br />
<span class="Apple-style-span" style="color: orange; font-size: large;"><b>Call to clean() function removed</b></span><br />
<br />
On Director 1.2 I put a call to a clean() function if it exists on the scene that was going to be removed. That was a good thing but why did I removed it from Director? Just because a lot of people didn't understand how to use it properly. I received A LOT of e-mails asking about this and almost 90% were about wrong name and commands (i.e: function <b><span class="Apple-style-span" style="color: red;">C</span></b>lean() ... ). You can still create a clean() function but its up to you to call it before change scenes.<br />
<br />
<b><span class="Apple-style-span" style="color: orange; font-size: large;">Scenes = Objects</span></b><br />
<br />
Director works with display groups but I did a mistake on version 1.2 writting a bunch of code outside the new() function. On this version, I'm trying to go back on this step and put everything back inside the new() function. Why? It will be needed to reload the same scene. Display objects are Lua tables with some more data, when you create a new table you are creating a new instance that we could understand as an object. You can add attributes and methods to a display group and treat it like a real object oriented programming, like this:<br />
<br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">local obj = display.newGroup()</span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">--</span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">obj.rect = display.newRect( 0, 0, 200, 200 )</span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">obj:insert( obj.rect )</span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">--</span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">obj.changeColor = function ( r, g, b )</span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"> obj.rect:setFillColor( r, g, b )</span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">end</span><br />
<br />
<span class="Apple-style-span" style="color: orange; font-size: large;"><b>Reload Scene</b></span><br />
<br />
After some research and assumption that every scene is an object, it was fine to reload the same scene. Now you can use changeScene() to load the same scene you are using but be sure that it's an object or some weird errors will occur.<br />
<br />
<b><span class="Apple-style-span" style="color: orange; font-size: large;">Protection</span></b><br />
<br />
I created an invisible protection (square) to prevent unwanted touches on scenes during the transition. It becomes active when you call changeScene() and turns off after fxEnded(). If you really need to disable this, just cut off the event listener on line 218.<br />
<br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">protection:addEventListener( "touch", fncProtection )</span><br />
<br />
<span class="Apple-style-span" style="color: orange; font-size: large;"><b>Security and error handling</b></span><br />
<br />
This is a great add-on, now every new scene will be called using PCALL function to execute it on a secure mode and Director will be able to tell you if some error happens. This is another think that programmers sent me a lot of e-mails. Good developers take a deep look on their code before anything when an error occur, other guys simply goes crazy telling everyone that the error is on Director, never on their code. The thing is that 99% of these errors are mistakes of the developers and take sometime to they see it. Now if a scene has errors, Director will show an error message on the simulator and device.<br />
<br />
<span class="Apple-style-span" style="color: orange; font-size: large;"><b>Pop Up</b></span><br />
<br />
You want to call a pause scene during a game without clean the scene? You can use now the new pop up feature. The openPopUp() function loads a scene on the top layer, turns on the protection, doesn't clean the current scene and can be closed with the closePopUp() function. The only restriction is that you can only load 1 pop up, if you want other pop ups, you need to close it first.<br />
<br />
<b><span class="Apple-style-span" style="color: orange; font-size: large;">Parameters</span></b><br />
<br />
Now you can send parameters between scenes! It's very simple, you only need to put it in a table, check this out:<br />
<br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">local params = { label="Sending Parameters", reload=true }</span><br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">director:changeScene( params, "screen2", "fade", "white" )</span><br />
<br />
Parameters are optional, you can keep changing scenes without parameters:<br />
<br />
<span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;">director:changeScene( "screen2", "fade", "white" )</span><br />
<br />
<b><span class="Apple-style-span" style="color: orange; font-size: large;">Folders</span></b><br />
<br />
This is not on Director itself but about the sample of the version 1.2. I did it using folders for images but this is not good. Ansca recommends that we put all our files on the same folder. I don't like this but I had some problems with it on Android builds so I changed the sample and put all together.<br />
<br />
<span class="Apple-style-span" style="color: orange; font-size: large;"><b>Help us with a donation</b></span><br />
<br />
I never put a price on Director and I don't want to do this but everybody needs money, if you want to help me keeping it free, you can donate any value on the donate button here. Thanks a lot for all that already donated!<br />
<br />
<form action="https://www.paypal.com/cgi-bin/webscr" method="post"><input type="hidden" name="cmd" value="_s-xclick"><br />
<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----MIIHRwYJKoZIhvcNAQcEoIIHODCCBzQCAQExggEwMIIBLAIBADCBlDCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb20CAQAwDQYJKoZIhvcNAQEBBQAEgYBeK6Xco2YdyFCGjy4CSuWeLWYcwQJBqJruDsfFBTojyl29WI5vI/D/SdqEOI1uDTm7rV1fNztmsgHaEy7e0rBnSpCBR1B8Huh/yZlvdIJDDRNeDd6U++o9uMzCgClHK+pXprXELRSGZqpQxeeoa6tuFMhtNAxcRKQqf1ydt0VB8zELMAkGBSsOAwIaBQAwgcQGCSqGSIb3DQEHATAUBggqhkiG9w0DBwQI/1P7nbD32TiAgaAji7zxc7SFSqHecPa46ZKWO68ULLk5fYKcbASMW9qVToZ0iHe6qVb5e5a/GEBpejwuGBUeZjCgRjdedRgZ4zMN5BiYSafK5OtlT2u7nTLfYhdg00WuVolm7mg6tsNR5Jykqt+KtZKEIJjKBfa2RYbavVQNy8yUj0lq4y/waSESez5ys7Pn5nsXZaLZCssJsKhBcuVVf6cQEb34tNkEm9eaoIIDhzCCA4MwggLsoAMCAQICAQAwDQYJKoZIhvcNAQEFBQAwgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tMB4XDTA0MDIxMzEwMTMxNVoXDTM1MDIxMzEwMTMxNVowgY4xCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLUGF5UGFsIEluYy4xEzARBgNVBAsUCmxpdmVfY2VydHMxETAPBgNVBAMUCGxpdmVfYXBpMRwwGgYJKoZIhvcNAQkBFg1yZUBwYXlwYWwuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDBR07d/ETMS1ycjtkpkvjXZe9k+6CieLuLsPumsJ7QC1odNz3sJiCbs2wC0nLE0uLGaEtXynIgRqIddYCHx88pb5HTXv4SZeuv0Rqq4+axW9PLAAATU8w04qqjaSXgbGLP3NmohqM6bV9kZZwZLR/klDaQGo1u9uDb9lr4Yn+rBQIDAQABo4HuMIHrMB0GA1UdDgQWBBSWn3y7xm8XvVk/UtcKG+wQ1mSUazCBuwYDVR0jBIGzMIGwgBSWn3y7xm8XvVk/UtcKG+wQ1mSUa6GBlKSBkTCBjjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtQYXlQYWwgSW5jLjETMBEGA1UECxQKbGl2ZV9jZXJ0czERMA8GA1UEAxQIbGl2ZV9hcGkxHDAaBgkqhkiG9w0BCQEWDXJlQHBheXBhbC5jb22CAQAwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQCBXzpWmoBa5e9fo6ujionW1hUhPkOBakTr3YCDjbYfvJEiv/2P+IobhOGJr85+XHhN0v4gUkEDI8r2/rNk1m0GA8HKddvTjyGw/XqXa+LSTlDYkqI8OwR8GEYj4efEtcRpRYBxV8KxAW93YDWzFGvruKnnLbDAF6VR5w/cCMn5hzGCAZowggGWAgEBMIGUMIGOMQswCQYDVQQGEwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC1BheVBhbCBJbmMuMRMwEQYDVQQLFApsaXZlX2NlcnRzMREwDwYDVQQDFAhsaXZlX2FwaTEcMBoGCSqGSIb3DQEJARYNcmVAcGF5cGFsLmNvbQIBADAJBgUrDgMCGgUAoF0wGAYJKoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTEwNzA3MDE1NDQ5WjAjBgkqhkiG9w0BCQQxFgQUraFWlg2eukvaGvnI+Av128jFU8IwDQYJKoZIhvcNAQEBBQAEgYAes/N6cO3XCTPo6QexV6hzvCeuH3iv6C10GTLiEJjhbuwdaFUwuXS+GYsfGEz3YDPbcmvbzfx69cigQyu7GdwcUQNpW3YSZiXpU9OTEoPLYTjZz/ZCnTFOfIH5qWPmUcsZmM7mSQ2G6H5bKxIpKP2ZgBnAUJ1tPSh3Pinl6WKM7Q==-----END PKCS7-----
"><br />
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!"><br />
<img alt="" border="0" src="https://www.paypalobjects.com/pt_BR/i/scr/pixel.gif" width="1" height="1"><br />
</form><br />
</div><div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com18tag:blogger.com,1999:blog-2030450926901247274.post-12077545687152504812011-06-20T23:17:00.000-03:002011-06-20T23:17:41.001-03:00Director Class 1.3 Preview<div dir="ltr" style="text-align: left;" trbidi="on">I just made this little video talking about some new features on Director 1.3:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><object width="320" height="266" class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://2.gvt0.com/vi/MZdD_CnydJ4/0.jpg"><param name="movie" value="http://www.youtube.com/v/MZdD_CnydJ4&fs=1&source=uds" /><param name="bgcolor" value="#FFFFFF" /><embed width="320" height="266" src="http://www.youtube.com/v/MZdD_CnydJ4&fs=1&source=uds" type="application/x-shockwave-flash"></embed></object></div><br />
</div><div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com0tag:blogger.com,1999:blog-2030450926901247274.post-39632448955828168002011-06-16T21:51:00.001-03:002011-06-17T12:18:39.343-03:00Corona Classes in Brazil<div dir="ltr" style="text-align: left;" trbidi="on">Hey folks,<br />
<br />
I just want to put some photos here about the classes that I did last month. I was teaching Corona on an University and on a mobile training center. It was simply amazing! Thanks all my students, it's great to be your teacher. Also, I talked about Corona on a technology conference at Eldorado Research Institute.<br />
<br />
Classes at Ulbra ( <a href="http://www.ulbra.br/">http://www.ulbra.br/</a> )<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKunpV7es1OPixI4jRtpLsT0zA3tKDLvAnOzHPKyTkQVq1RzDSOr_uimD4bTjAkd8kw2a2Q9_uqXGMDZna-yid1HVAGr9e-pbwUlN5mBuMpxNDRk01t8jP7vSSXa2yrGB0xWnY7a27JoAa/s1600/IMG_1932.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKunpV7es1OPixI4jRtpLsT0zA3tKDLvAnOzHPKyTkQVq1RzDSOr_uimD4bTjAkd8kw2a2Q9_uqXGMDZna-yid1HVAGr9e-pbwUlN5mBuMpxNDRk01t8jP7vSSXa2yrGB0xWnY7a27JoAa/s320/IMG_1932.JPG" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHX3IhLzk_Z6DK_a6wWPaIgUD_2ipT5wuX-3FsJslBfddVw2V59CBNjqAr0gG8VOExjw_cPfW9c9VRDkf7bXn_J019r5SexSW7ni_N_pY5EKe0IBFkfbR6xQXxW3otHAN-Nzox89ddIhRs/s1600/IMG_1937.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHX3IhLzk_Z6DK_a6wWPaIgUD_2ipT5wuX-3FsJslBfddVw2V59CBNjqAr0gG8VOExjw_cPfW9c9VRDkf7bXn_J019r5SexSW7ni_N_pY5EKe0IBFkfbR6xQXxW3otHAN-Nzox89ddIhRs/s320/IMG_1937.JPG" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCA-UtctqP2vD7m5BmOqYTGQ_XZFX4JrqlZEEjKRwoVwSIMoErVY1j6ZQwKlTbCIPrWQe_TuxUeb3Q6swA_l8cUsSib8sfSS9Bixkd52lYbSbnsSZTEfQrPSev9J4PMOKd_ZB5HnSLT81V/s1600/IMG_1938.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCA-UtctqP2vD7m5BmOqYTGQ_XZFX4JrqlZEEjKRwoVwSIMoErVY1j6ZQwKlTbCIPrWQe_TuxUeb3Q6swA_l8cUsSib8sfSS9Bixkd52lYbSbnsSZTEfQrPSev9J4PMOKd_ZB5HnSLT81V/s320/IMG_1938.JPG" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3gehRzterP3Wu7EnBbDNoGDs0vq8jKjybVF5vMHDGdy3v8HVpA39Uu1fO_vZsmvY0k497jbuVqaWbg962IENaJawbYGEhrI6OGs9UXm2btHK5D2w-3yMQQ6faWCOonyBdl4drIhxSCIUD/s1600/IMG_1939.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3gehRzterP3Wu7EnBbDNoGDs0vq8jKjybVF5vMHDGdy3v8HVpA39Uu1fO_vZsmvY0k497jbuVqaWbg962IENaJawbYGEhrI6OGs9UXm2btHK5D2w-3yMQQ6faWCOonyBdl4drIhxSCIUD/s320/IMG_1939.JPG" width="320" /></a></div><br />
Classes at Nyvra / Treinamentos.mobi ( <a href="http://www.nyvra.net/">http://www.nyvra.net/</a> )<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZC_DDPFUevPRMnKKwUxtzmdCzYjxTWqAgYyi2eW8pkeCZV8KpgACMLOdQuP8L-GVkaxgSNyc2-ac5qaFQQb-FitPCQI09UVOZHGxZS56pmYaZ_0B2Ey4UpBXba1SmbiCO1xjxkOmAApnI/s1600/IMG_0558.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="239" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZC_DDPFUevPRMnKKwUxtzmdCzYjxTWqAgYyi2eW8pkeCZV8KpgACMLOdQuP8L-GVkaxgSNyc2-ac5qaFQQb-FitPCQI09UVOZHGxZS56pmYaZ_0B2Ey4UpBXba1SmbiCO1xjxkOmAApnI/s320/IMG_0558.JPG" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUpR975ypXJfwdYRxmwRdcNgGq6Yy2ojQO1D_cbobnTtIj5w0fEGETpvOSWIiKYSFB5H2o8Haj3tSJxN6nvWhCerCMijurMrcw9i2GL2xREs8WvQEkU5EVd8WueXFFg6chQAlQSJXaVVWT/s1600/IMG_0559.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="239" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUpR975ypXJfwdYRxmwRdcNgGq6Yy2ojQO1D_cbobnTtIj5w0fEGETpvOSWIiKYSFB5H2o8Haj3tSJxN6nvWhCerCMijurMrcw9i2GL2xREs8WvQEkU5EVd8WueXFFg6chQAlQSJXaVVWT/s320/IMG_0559.JPG" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_NQdenMYZu4epygk6dKJ48lur4DAz5kx0fy_a_PtUJUgsI9Gn1El4sauVvwuFvUFqEJooaIgeC-qI-A3OZ3iOkssEmA-8HxBXZkSm6-i5nTYIuErCoaoFn0SoJGbQmFJ7_sWjrenb9c_V/s1600/IMG_0560.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="239" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_NQdenMYZu4epygk6dKJ48lur4DAz5kx0fy_a_PtUJUgsI9Gn1El4sauVvwuFvUFqEJooaIgeC-qI-A3OZ3iOkssEmA-8HxBXZkSm6-i5nTYIuErCoaoFn0SoJGbQmFJ7_sWjrenb9c_V/s320/IMG_0560.JPG" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinsKXyzHjsScxhDz-wLaHYc8h8e7GH57gElHF2yTG07YXF1C3OCiMW3WjGkNY66t4wOAtY2ls_JsRMx4FBb5S-0mjl65g5jKz_7aoY0axtd4fBoFoL0Fike3yD5aV6Xr6e_nNzuaiK5foP/s1600/IMG_0561.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="239" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinsKXyzHjsScxhDz-wLaHYc8h8e7GH57gElHF2yTG07YXF1C3OCiMW3WjGkNY66t4wOAtY2ls_JsRMx4FBb5S-0mjl65g5jKz_7aoY0axtd4fBoFoL0Fike3yD5aV6Xr6e_nNzuaiK5foP/s320/IMG_0561.JPG" width="320" /></a></div><br />
Technology Conference at Eldorado Research Institute ( <a href="http://www.eldorado.org.br/">http://www.eldorado.org.br/</a> )<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0qu6R1J-uth9G9KJBTF-6enzxjdqdWY5gZzO_qvu4e7bNsrejms5JUb0j40P8M58FzbwGrhLZVtn1-xJ_Zm8gOwAB4hDLfsatQKqtsjpB3DxCMj0pFPE5GEiusH9zhUhJ6vZtGYOek4mG/s1600/2011-06-14+18.37.05.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0qu6R1J-uth9G9KJBTF-6enzxjdqdWY5gZzO_qvu4e7bNsrejms5JUb0j40P8M58FzbwGrhLZVtn1-xJ_Zm8gOwAB4hDLfsatQKqtsjpB3DxCMj0pFPE5GEiusH9zhUhJ6vZtGYOek4mG/s320/2011-06-14+18.37.05.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0IW6pFwWsIk3y4pTF79WRTMg91u2fhImkoFjgLGQgHEMIeOFaKuctpTJm341oMQthZL8LKwJRekOvTfk_S8Hz0Y0Am6ypxm6pofccEaIHuw1BdGmN-F6wtTnW7M41L-wq3dZO8VdlVzmn/s1600/2011-06-14+18.38.58.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0IW6pFwWsIk3y4pTF79WRTMg91u2fhImkoFjgLGQgHEMIeOFaKuctpTJm341oMQthZL8LKwJRekOvTfk_S8Hz0Y0Am6ypxm6pofccEaIHuw1BdGmN-F6wtTnW7M41L-wq3dZO8VdlVzmn/s320/2011-06-14+18.38.58.jpg" width="320" /></a></div><br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0sAtf_FxlpflRmTfYaUSyqWLzIaxj0KZshhfob1eCVh3Nw0CPlDXiTtIvUrmO7fQ5FHFLWhG-j70XrcuHF8nNoR6EVspCycgXiK0X0VZBlUzH47dEPLidMwKa37o3pFZgfy69xzlrdyVF/s1600/2011-06-14+18.39.13.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0sAtf_FxlpflRmTfYaUSyqWLzIaxj0KZshhfob1eCVh3Nw0CPlDXiTtIvUrmO7fQ5FHFLWhG-j70XrcuHF8nNoR6EVspCycgXiK0X0VZBlUzH47dEPLidMwKa37o3pFZgfy69xzlrdyVF/s320/2011-06-14+18.39.13.jpg" width="320" /></a></div><br />
</div><div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com0tag:blogger.com,1999:blog-2030450926901247274.post-25419822405759957282011-05-20T12:56:00.008-03:002011-05-20T13:02:24.866-03:00Pinosoccer HD<div dir="ltr" style="text-align: left;" trbidi="on"><div dir="ltr" style="text-align: left;" trbidi="on">Now that's what I'm talking about, our real first GAME! We made it in several months working hard with graphics, audio, video and other stuff. It's a great game for playing with your friends, you just have to use your finger to shoot the ball.<br />
<br />
We used Director 1.2 to build it. Later I'll write about the challanges we had doing this game.<br />
<br />
Link to the iTunes App Store:<br />
<br />
<center><a href="http://itunes.apple.com/us/app/pinosoccerhd/id436095852?mt=8&ls=1" target="_blank"><img alt="Hover Button" border="0" class="appstore" height="106" name="img1" onmouseout="myOut('img1')" onmouseover="myOn('img1')" src="http://www.pinosoccerhd.com/images/app_store_icon_01.png" width="242" /></a></center>Promo video:<br />
<br />
</div><iframe frameborder="0" height="300" src="http://player.vimeo.com/video/21497503?title=0&byline=0&portrait=0" width="532"></iframe><br />
<br />
And some images:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMvACvfBPNVZnYTEE4ylg1-BxbOkmWLpxDfOECMvTrGdodyATllw6bBxkItCqbfTlhHqiATiz2aRaQ7A6bo-K7stpXI1Ufc-jHWt7hnIoMbZTt1XnEotlu0TMUV4gl4hyphenhyphenFLbKU6l898PT9/s1600/pino_grama.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMvACvfBPNVZnYTEE4ylg1-BxbOkmWLpxDfOECMvTrGdodyATllw6bBxkItCqbfTlhHqiATiz2aRaQ7A6bo-K7stpXI1Ufc-jHWt7hnIoMbZTt1XnEotlu0TMUV4gl4hyphenhyphenFLbKU6l898PT9/s320/pino_grama.jpg" width="213" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgenwokWel9w0QlHpLSMhSS0Q31v_qV8jfgjzGXWtpd-WG7vtzrsCJp7wUQryozoxagcrH81gyMHeisquEs7W42QfY92iewiydPdebAq-kQmpxIF01BtsjZVCxVvREC0Q2VgiEk7QpGsked/s1600/mzl.dspsbajo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgenwokWel9w0QlHpLSMhSS0Q31v_qV8jfgjzGXWtpd-WG7vtzrsCJp7wUQryozoxagcrH81gyMHeisquEs7W42QfY92iewiydPdebAq-kQmpxIF01BtsjZVCxVvREC0Q2VgiEk7QpGsked/s320/mzl.dspsbajo.jpg" width="213" /></a></div><br />
<br />
<center><a href="http://www.anscamobile.com/" title="Corona SDK Mobile Application Development"><img alt="Mobile Development Showcase" border="0" height="144" src="http://www.anscamobile.com/images/showcase/CoronaBadge_150x144.png" width="150" /></a></center><br />
<br />
</div><div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com2tag:blogger.com,1999:blog-2030450926901247274.post-8830655276072642072011-05-14T17:38:00.001-03:002011-05-14T17:59:49.626-03:00DevMine released!<div dir="ltr" style="text-align: left;" trbidi="on">Hello everybody!<br />
<br />
I'm pleased to announce that DevMine was released on Apple App Store (soon on Android Market as well). This is a simple free minesweeper game with something interesting for developers: You can download the <b><span class="Apple-style-span" style="font-size: large;">SOURCE CODE</span></b> for only US$0.99.<br />
<br />
<a href="http://itunes.apple.com/us/app/devmine/id436542484?mt=8&ls=1">View in App Store </a><br />
<br />
Why do you have to pay for it? Just because I can't buy food with open source applications. But don't worry, Director Class and Loader Class will still be free.<br />
<br />
Also, DevMine was made entirely with Loader Class. What that means? Simple! Loader Class works with object oriented paradigm, so you can use the minesweeper object in other apps just calling it like this:<br />
<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>local objMine = loader.newGroup( "minesweeper" , {images=vMineImages,<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>lines=vMineLines,<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>columns=vMineColumns,<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>border=vMineBorder,<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>bombs=vMineBombs,<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>afterTouch=fncMineReturn} )<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgE22jUOZSGnGKRKXrFvj3jhkQh98cL0qAzFaGqTGtvjxN3XLqhb5EnTNmFanXuDLstDhO3Oxu_0ObV6CazkQbHb4oNJEdqowrWOqyBrzcKV7t8p6fwvTjZPy0Zgf7XrJ1u99Nmzy1DmVz5/s1600/foto+1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgE22jUOZSGnGKRKXrFvj3jhkQh98cL0qAzFaGqTGtvjxN3XLqhb5EnTNmFanXuDLstDhO3Oxu_0ObV6CazkQbHb4oNJEdqowrWOqyBrzcKV7t8p6fwvTjZPy0Zgf7XrJ1u99Nmzy1DmVz5/s320/foto+1.PNG" width="240" /></a></div><br />
<br />
<br />
<center><a href="http://www.anscamobile.com/" title="Corona SDK Mobile Application Development"><img alt="Mobile Development Showcase" border="0" height="144" src="http://www.anscamobile.com/images/showcase/CoronaBadge_150x144.png" width="150" /></a></center><br />
<br />
</div><div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com4tag:blogger.com,1999:blog-2030450926901247274.post-19009681620207821902011-05-09T09:42:00.000-03:002011-05-09T09:42:33.859-03:00Loader Class<div dir="ltr" style="text-align: left;" trbidi="on"><br />
Hello folks,<br />
<br />
I have finished the version 1.0 of my new Loader Class. This class is different from Director, it's for expert users and transforms your application in a object oriented development. I will explain now some steps to use it properly.<br />
<br />
<u>1 - Download the source code:</u><br />
<br />
https://bitbucket.org/ricardorauber/corona/downloads/loader_by_ricardo_rauber_1_0.zip<br />
<br />
<u>2 - Take a look on the little samples in the main.lua file.</u><br />
<br />
<u>3 - Change the DEBUG variable to true:</u><br />
<br />
loader.debug = true<br />
<br />
<u>4 - Creating objects.</u><br />
<br />
Ok, let's talk more about this. In Lua, you can use tables as objects, and that's exactly what we will do. Let's go through the car.lua file.<br />
<br />
<br />
<u>4.1 - Every file (or class) must be a module on a new file, so the very first line should be:</u><br />
<br />
module(..., package.seeall)<br />
<br />
<u>4.2 - Like Director Class, Loader Class search for a new() function and expect a display group as a return.</u><br />
<br />
<u>4.3 - You can pass a table with parameters to your class, Loader will send it through the new( params ) function of your class.</u><br />
<br />
local car1 = loader.newGroup( "car" , {image=carImg, name="Ford", width=carWidth, height=carHeight} )<br />
<br />
<u>4.4 - Inside of the new() function, you have to create a display group and assign to it all your variables and functions. In Object Oriented Programming, we call them attributes and methods.</u><br />
<br />
-- Attributes<br />
tabCar.name = "default"<br />
<br />
-- Methods<br />
function tabCar.setName ( pName )<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if type( pName ) == "string" then<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>tabCar.name = pName<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>end<br />
end<br />
<br />
<u>4.5 - Finally, you should create a constructor function or just some steps to initiate your object.</u><br />
<br />
function tabCar.constructor ( par )<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>-- Some code here<br />
end<br />
tabCar.constructor( params )<br />
<br />
-------------------------------------------------------------<br />
<br />
I know that's difficult to understand for most of developers but I'm planning to make a video about it. Also, I already sent a game called DevMine to Apple Store that was all developed with Loader Class. The source code will be available via in-app purchase for US$ 0.99.<br />
<br />
Now talking about Director Class, it will be upgraded on version 1.3 with some new features that I made with Loader Class like the debug and error messaging. Also, there's a pop up to show scenes without cleanning the old one.<br />
<br />
Thanks!<br />
<br />
-------------------------------------------------------------<br />
<br />
</div><div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com1tag:blogger.com,1999:blog-2030450926901247274.post-50376715778020256662011-05-05T01:26:00.000-03:002011-05-05T01:26:58.854-03:00News<div dir="ltr" style="text-align: left;" trbidi="on">Hey everybody!<br />
<br />
It's been a long time since my last post, I was very busy but now I'm back on business! First, I have to tell that my company Beelieve was finally approved by Apple and by brazilian government, so it's ok to go. With this, Pinosoccer was sent today to Apple review ( Amazing!!! )<br />
<br />
Talking now about Corona SDK, Ansca and stuff. I'm really happy that now I am a Corona SDK Certified Developer, one of a few, but I think I'm the first brazilian. Well, in addition on that, I have to talk about Director Class. I'm currently working on version 1.3. I asked some people to test it for me because I can't test on Android devices by now. Anyway, they are helping me a lot and I will now say that I am working on a whole new class for expert Corona developers. It will help in a lot of things and transform your program in an entirely object oriented application. Stay tuned for news about that.<br />
<br />
Ok, that's it for now. I hope the things will work now with my new company.<br />
<br />
One more thing... I will teach Corona for brazilian people... there will be some courses... if you live around Porto Alegre - RS, stay tuned...<br />
<br />
:-)</div><div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com1tag:blogger.com,1999:blog-2030450926901247274.post-19450196980426573512011-02-15T14:55:00.001-02:002011-02-15T14:55:28.523-02:00Director 1.2<div dir="ltr" style="text-align: left;" trbidi="on"><b>New version released with a lot of bug fixes and some new transitions!</b><br />
<br />
Link: <a href="http://developer.anscamobile.com/code/director-class-10">http://developer.anscamobile.com/code/director-class-10</a><br />
<br />
<span class="Apple-style-span" style="color: #333333; font-family: 'Lucida Grande', 'Trebuchet MS', Arial, sans-serif; font-size: 14px; line-height: 21px;"></span><br />
<div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 14px; font-style: inherit; font-weight: inherit; margin-bottom: 1.5em; margin-left: 0px; margin-right: 10px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">All the major updates were at the memory management and cleaning scenes.</div><div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 14px; font-style: inherit; font-weight: inherit; margin-bottom: 1.5em; margin-left: 0px; margin-right: 10px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">1 - Now you don't need to modify Director to use the clean function, Director will search for it and if it find then will execute it.</div><div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 14px; font-style: inherit; font-weight: inherit; margin-bottom: 1.5em; margin-left: 0px; margin-right: 10px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">2 - Cleaning scenes are divided in 3 steps:<br />
2.1 - Execute the clean() function if it exists<br />
2.2 - Remove all display objects inserted into the localGroup<br />
2.3 - Unload the module and call the garbage collector</div><div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 14px; font-style: inherit; font-weight: inherit; margin-bottom: 1.5em; margin-left: 0px; margin-right: 10px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">3 - I added a "safe time delay" to start transitions without crashing.</div><div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 14px; font-style: inherit; font-weight: inherit; margin-bottom: 1.5em; margin-left: 0px; margin-right: 10px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">4 - You can change the effects time and safe delay via programming.</div><div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 14px; font-style: inherit; font-weight: inherit; margin-bottom: 1.5em; margin-left: 0px; margin-right: 10px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">5 - There are 3 new transitions on changeScene:<br />
5.1 - moveFromTop<br />
5.2 - moveFromBottom<br />
5.3 - crossfade</div><div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 14px; font-style: inherit; font-weight: inherit; margin-bottom: 1.5em; margin-left: 0px; margin-right: 10px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">6 - A lot of people asked me about changing scenes like a book. I tryed to do it on this version but it is very hard to do. So, I put on the sample a little slider to see how to use moveFromLeft and moveFromRight to feel like a book.</div><div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 14px; font-style: inherit; font-weight: inherit; margin-bottom: 1.5em; margin-left: 0px; margin-right: 10px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">7 - All the files on the sample are better structured and have the initVars() function to show how to start your variables values and use it on a pause or restart function.</div><div style="border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 14px; font-style: inherit; font-weight: inherit; margin-bottom: 1.5em; margin-left: 0px; margin-right: 10px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">8 - There is a boolean variable to prevent change scenes while it's still changing a scene.</div></div><div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com3tag:blogger.com,1999:blog-2030450926901247274.post-90354773358601995322010-12-13T00:12:00.004-02:002010-12-13T00:18:08.822-02:00Director Video Tutorial<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;">This is a little video tutorial about Director Class that I made for Ansca Corona SDK.</span><br />
<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;">Link: <a href="http://www.youtube.com/watch?v=RAktnj7nwos">http://www.youtube.com/watch?v=RAktnj7nwos</a></span><br />
<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;"><br />
</span><br />
<span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 12px;"><br />
</span><br />
<object height="193" width="320"><param name="movie" value="http://www.youtube.com/v/RAktnj7nwos?fs=1&hl=pt_BR"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/RAktnj7nwos?fs=1&hl=pt_BR" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="193"></embed></object><div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com11tag:blogger.com,1999:blog-2030450926901247274.post-26731454982612383502010-10-09T12:27:00.000-03:002010-10-09T12:27:31.754-03:00Director 1.1 deployed<span class="Apple-style-span" style="color: #333333; font-family: 'Lucida Grande', 'Trebuchet MS', Verdana, sans-serif; font-size: 13px; line-height: 19px;"></span><br />
<div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 13px; font-style: inherit; font-weight: inherit; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 14px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">I made some changes to make it better!</div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 13px; font-style: inherit; font-weight: inherit; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 14px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;">- Best memory clean up<br />
- Best organization<br />
- Only one group is needed to insert in main.lua</div><div style="background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 13px; font-style: inherit; font-weight: inherit; margin-bottom: 14px; margin-left: 0px; margin-right: 0px; margin-top: 14px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;"><a href="http://developer.anscamobile.com/code/director-class-10">http://developer.anscamobile.com/code/director-class-10</a></div><div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com0tag:blogger.com,1999:blog-2030450926901247274.post-64063467724937607452010-10-07T00:12:00.004-03:002011-07-29T17:54:06.565-03:00Director Class - Version 1.0<b>New version 1.3:</b> <a href="http://rauberlabs.blogspot.com/2011/07/director-class-13.html">http://rauberlabs.blogspot.com/2011/07/director-class-13.html</a><br />
<br />
<br />
When I started to build games and apps with Corona, I was using GameSalad and I wasn't happy with it. I've decided to go to Corona because of many things and now I'm very happy. The problem is that Corona hasn't a native scene controller to use then I decided to make one and here is it, the Director class for Corona SDK!<br />
<br />
It's very easy to use, just import it, add the groups to the main group and it's done!<br />
<br />
This zip file have an example with all the transitions in this version. Also, there's a templete.lua file that you can use in your own projects.<br />
<br />
Feel free to ask anything about it here or by e-mail, I'll be very pleased to ask your answers!<br />
<br />
<a href="https://bitbucket.org/ricardorauber/corona/downloads/director_by_ricardo_rauber.zip">https://bitbucket.org/ricardorauber/corona/downloads/director_by_ricardo_rauber.zip</a><br />
<br />
See ya!<br />
<br />
Corona Code: <a href="http://developer.anscamobile.com/code/director-class-10">http://developer.anscamobile.com/code/director-class-10</a><br />
Corona Forum: <a href="http://developer.anscamobile.com/forum/2010/10/06/director-class-check-out">http://developer.anscamobile.com/forum/2010/10/06/director-class-check-out</a><br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJSn0BAoZ1gOCdXqAA6ph1Q6DzH4VWqhHBQLDerNEA1w2cX-2K8XHCjBNn7t4WMCZJAwpuKwIPgI4sgDJhumDLPtqtRTflne37ixlYl-0YUok2IPe1fZImmzPv2kgCKVt0E8nkfKr8UZcv/s1600/screen-capture-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJSn0BAoZ1gOCdXqAA6ph1Q6DzH4VWqhHBQLDerNEA1w2cX-2K8XHCjBNn7t4WMCZJAwpuKwIPgI4sgDJhumDLPtqtRTflne37ixlYl-0YUok2IPe1fZImmzPv2kgCKVt0E8nkfKr8UZcv/s320/screen-capture-3.png" width="320" /></a></div><div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com4tag:blogger.com,1999:blog-2030450926901247274.post-33644109365483761492010-10-06T14:37:00.001-03:002010-10-06T23:47:23.056-03:00Director Class PreviewI'm creating a Director class for Corona SDK, as soon as it be finished, I'll send it to Ansca.<br />
<br />
For now, watch this little video of it working:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dxTlk-o3P0wBhDSzNg-5dDiv4moFXt5BENwNw-LOkr2niye7iUxNjv1nHfqgZDvYPsp7igI56o8VW3sdn7sGQ' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div><br />
Do you liked it?<div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com0tag:blogger.com,1999:blog-2030450926901247274.post-5787215741455684412010-09-15T14:10:00.000-03:002010-09-15T14:10:54.367-03:00FrameworksA lot of people ask me about Objective-C programming language because it seems to be difficult to learn, my answer is "For Sure!". For those who works for years in low-level applications (like C, Cobol and Assembly), it's fine but those who works with high-level applications (like PHP and Flash) it's very hard to go into Objective-C.<br />
<br />
Because of that, some people or companies made frameworks to be easier for us to develop applications. Apple did not like some frameworks and was rejecting apps made with them, but some days ago they turned back and made a lot of people happy (hello Adobe!).<br />
<br />
So, I will talk about some frameworks that you can find out there. These are not ALL frameworks, if you google it, you'll find tons of frameworks.<br />
<br />
<b><u>1 - Cocos2d</u></b><br />
<br />
I've talked about it on the other post about game basics. Cocos2d uses XCode and have to be programmed in Objective-C but have a lot of APIs that make our lifes easier to develop games. It have 100% integration with iOS sdk but unfortunately, you still have to leran Objective-C.<br />
<br />
Price: Free<br />
<br />
Website: <a href="http://www.cocos2d-iphone.org/">http://www.cocos2d-iphone.org/</a><br />
<br />
Screenshot:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRNdk4XSCgU5lCppUCHFQOWr9Ih5HjybjWY0o_2NwQPQZUKp2bMaLSrqWZ9bLULHOGI-qN57HwnFOxyp5lx1wRQae2uULi9o-uaWBUaubStNUfErXkPa1PFG1jYYHccG4xsmQm2o8heg6M/s1600/cocos2d.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRNdk4XSCgU5lCppUCHFQOWr9Ih5HjybjWY0o_2NwQPQZUKp2bMaLSrqWZ9bLULHOGI-qN57HwnFOxyp5lx1wRQae2uULi9o-uaWBUaubStNUfErXkPa1PFG1jYYHccG4xsmQm2o8heg6M/s320/cocos2d.jpg" /></a></div><br />
<br />
Image taken from: <a href="http://www.geekology.co.za/blog/wp-content/uploads/2009/07/xcode-objectivec-iphone-5.jpg">http://www.geekology.co.za/blog/wp-content/uploads/2009/07/xcode-objectivec-iphone-5.jpg</a><br />
<br />
<b><u>2 - GameSalad</u></b><br />
<br />
This is most easier of all! GameSalad is "Game creation for the rest of us" because it's so easy that you don't need to know any programming language to build games. Of course is better if you know any programming language because of the logic knowleadge but you can still build something without that. The problem is that you can't do a lot of things like use arrays, sql, text functions (ex: substring) and play movies. GS have a pro version but it only gives you directly support, no gamesalad splash screen, iADs and url request. This is NOT worth to pay $2000 while the standard is $99. GS is good but have a lot of thing to improve.<br />
<br />
1 Year Subscription Price: $99 - $1999 (pro version)<br />
<br />
Website: <a href="http://www.gamesalad.com/">http://www.gamesalad.com/</a><br />
<br />
Screenshot:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgK-lrqfZ6aidcpaRqFy2Gzc5L9gO6D7mPYMUH0WEotP_lFzkcVZEd2xFbRpnNds_vRCazdWT7meopV6KCoGWl9b1haoJ2hnaoJkvcOgDYmKvPOLXbdfk5PuF31PLNRRQQ1QWKvehRFNqk/s1600/gamesalad.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgK-lrqfZ6aidcpaRqFy2Gzc5L9gO6D7mPYMUH0WEotP_lFzkcVZEd2xFbRpnNds_vRCazdWT7meopV6KCoGWl9b1haoJ2hnaoJkvcOgDYmKvPOLXbdfk5PuF31PLNRRQQ1QWKvehRFNqk/s320/gamesalad.png" /></a></div><br />
<br />
Image taken from: <a href="http://www.gamesalad.com/">http://www.gamesalad.com/</a><br />
<br />
<b><u>3 - Unity 3D</u></b><br />
<br />
This is a wonderful 3D modeling framework that have a lot of power! Unity supports three scripting languages: JavaScript, C#, and a dialect of Python called Boo. All three can use the underlying .NET libraries which support databases, regular expressions, XML, file access and networking. You can even use it to build Nintendo Wii games! The only problem is that you have to use 3D models. Some people use Unity "2D" with only X/Y axis but in my opinion is not the best practice.<br />
<br />
Purchase Price: $300 - $1200 (pro version)<br />
<br />
Website: <a href="http://unity3d.com/">http://unity3d.com/</a><br />
<br />
Screenshot:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaMi7vTIIxKCFDF9pYEiK4dMW501CN0luS03qwIMZtYJZIEqFXxdrhv7rswtGf0i-P4Splnr-CrbS9bcRNkbqTOvrb35XBOALwuErNsqguq6O3FqixVznaAg7ABqF2GUtmMCUY1-3ysxip/s1600/unity3d.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaMi7vTIIxKCFDF9pYEiK4dMW501CN0luS03qwIMZtYJZIEqFXxdrhv7rswtGf0i-P4Splnr-CrbS9bcRNkbqTOvrb35XBOALwuErNsqguq6O3FqixVznaAg7ABqF2GUtmMCUY1-3ysxip/s320/unity3d.jpg" /></a></div><br />
<br />
Image taken from: <a href="http://blog.webcore.com.br/wp-content/uploads/2008/09/tsc01.jpg">http://blog.webcore.com.br/wp-content/uploads/2008/09/tsc01.jpg</a><br />
<br />
<b><u>4 - Corona</u></b><br />
<br />
By the time of this post, Corona was in beta version and price. It will be updated soon and the subscription will be more expensive, but let's talk abou the SDK. Corona is a sdk that uses Lua programming language (made in Brazil) that have a lot of power and can be learned very quickly (especially if you are a Flash developer). Corona doesn't have an editor, you have to build the code in any text editor but it have an iPhone simulator to run the games. A great thing about Corona is that the same code can build games for iOS and Android, it's very easy to do it. Corona have powerfull API's with integration to Facebook and OpenFeint. After GameSalad, Corona is the easier framework to learn but it's powerful and have better performance.<br />
<br />
1 Year Subscription Price: $99<br />
<br />
Website: <a href="http://anscamobile.com/corona/">http://anscamobile.com/corona/</a><br />
<br />
Screenshot:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0MLXhAeIfcXElxKHTJI9eCgfJHPBbFI-soNvDRTgkesCkqa6snpZJJ-MK8IdXnI01lA_bJuwxsTzAdH4ZDiSIhth1fLGseL2MBPsvbCShrguijVrwRixFL9-ZjeVEzmEjHElW8KeA1mdS/s1600/corona.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0MLXhAeIfcXElxKHTJI9eCgfJHPBbFI-soNvDRTgkesCkqa6snpZJJ-MK8IdXnI01lA_bJuwxsTzAdH4ZDiSIhth1fLGseL2MBPsvbCShrguijVrwRixFL9-ZjeVEzmEjHElW8KeA1mdS/s320/corona.png" /></a></div><br />
<br />
Image taken from: <a href="http://www.burtonsmediagroup.com/blog/wp-content/uploads/2010/06/Screen-shot-2010-06-21-at-2.36.06-AM.png">http://www.burtonsmediagroup.com/blog/wp-content/uploads/2010/06/Screen-shot-2010-06-21-at-2.36.06-AM.png</a><br />
<br />
<b>---- Conclusion ----</b><br />
<br />
After tried all of these frameworks, I can say that GameSalad is excelent for begginers but if you want same pro functions, is better to go to the others. Unity is incredible but it's the better choice only if you want 3D games. Cocos2D is Objective-C, so for me is the worst choice you can take! (nobody is here to reinvent the wheel) Well, the last but not least is Corona that I'm with great expectations with the final version. Corona is simple, fast and have great built-in functions. Unfortunately, some of my first tests doesn't worked well but I hope it happened because it's a beta version. For now, I'll do my ideas on GameSalad and later implement on Corona.<div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com0tag:blogger.com,1999:blog-2030450926901247274.post-69439395789207870122010-08-24T14:19:00.000-03:002010-08-24T14:19:19.467-03:00Basic Concepts using Cocos2DHi everyone! This post is about the game concepts that you can use on the cocos2d framework.<br />
<br />
What is cocos2d? This is the information from cocos2d website:<br />
<br />
<em>"cocos2d for iPhone is a framework for building 2D games, demos, and other graphical/interactive applications. </em><em>It is based on the cocos2d design: it uses the same concepts, but instead of using python it uses objective-c."</em><br />
<a name='more'></a><br />
<br />
So, cocos2d is simply a bunch of codes that help us (a lot) with game development.<br />
<br />
<br />
<br />
cocos2d for iPhone website: <a href="http://www.cocos2d-iphone.org/">http://www.cocos2d-iphone.org/</a><br />
<br />
Now let's understand how it works. I will use the same images from the cocos2d documentation for this.<br />
<br />
Imagine that you have to make a movie. You have to choose one director, some actors and make a lot of scenes that will be together the final movie. Game basic concepts is just the same. You will create a CCDirector object that will control the changes of the scenes and each scene will have actors (called Sprites).<br />
<br />
Check this out:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcKrZ0On0_4iunYuKzxByvDOPycDSuS9grJQumc5dvaZVc5zxDRcy4_BsADsgRg9YMJ6mcW9sB9eJi78IITmEO9K_m50_pmm0meb9BlJd223nSyHew5yBKSKUTBu7QcIBqJR5KKwuQV_rk/s1600/cocos2d_scenes.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" ox="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcKrZ0On0_4iunYuKzxByvDOPycDSuS9grJQumc5dvaZVc5zxDRcy4_BsADsgRg9YMJ6mcW9sB9eJi78IITmEO9K_m50_pmm0meb9BlJd223nSyHew5yBKSKUTBu7QcIBqJR5KKwuQV_rk/s320/cocos2d_scenes.png" /></a></div><br />
Each square is a scene. The game begins in the intro, goes to the menu and follow the signs. That scenes will be implemented by the CCScene object. So, what you have to do is create files for each, like these:<br />
<br />
- IntroScene.h<br />
- IntroScene.m<br />
- MenuScene.h<br />
- MenuScene.m<br />
- Level1Scene.h<br />
- Level1Scene.m<br />
- CutScene1.h<br />
- CutScene1.m<br />
- LevelScene2.h<br />
- LevelScene2.m<br />
- LosingCutScene.h<br />
- LosingCutScene.m<br />
- WinningCutScene.h<br />
- WinningCutScene.m<br />
- HighscoreScene.h<br />
- HighscoreScene.m<br />
<br />
For more information about these files, check <a href="http://rauberlabs.blogspot.com/2010/07/codigo-na-cabeca.html">http://rauberlabs.blogspot.com/2010/07/codigo-na-cabeca.html</a> (portuguese) or at Apple's Developer website <a href="http://developer.apple.com/">http://developer.apple.com/</a> for english and other languages.<br />
<br />
There's another important thing about scenes, the Layers. If you have used any image editor that uses layers, like Photoshop, you know what I'm talking about. Basically, you can put sprites under or above others without lose them, like MS Paint (Windows).<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh60hjByh3d9o3w5RyE-QXWcWhTzPKyEvjSUS86t_MtaU1MniICLIefJHxy-_5JEJZzpKpjKjf9Kg_t5Bj03aKkn7QiCSxTJoFkNpGWr_P__miXG2chLeaORq9q3A4a1OEUwfL-WvmWcxIh/s1600/cocos2d_layers.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" ox="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh60hjByh3d9o3w5RyE-QXWcWhTzPKyEvjSUS86t_MtaU1MniICLIefJHxy-_5JEJZzpKpjKjf9Kg_t5Bj03aKkn7QiCSxTJoFkNpGWr_P__miXG2chLeaORq9q3A4a1OEUwfL-WvmWcxIh/s320/cocos2d_layers.png" /></a></div><br />
If you have two layers, each one with one or more sprites and layer1 is above layer2, every sprite that is in the layer 2 will be under the sprites on the layer1. It's that simple, like Steve like's to say (hehe)<br />
<br />
Last but not least, let's talk about sprites. First of all, the bad thing, you have to use pointers on Objective-C because iOS doesn't have garbage collector. So, take care about you are doing.<br />
<br />
This is the sprite declaration:<br />
<br />
<span style="font-family: "Courier New", Courier, monospace;">CCSprite *myactor;</span><br />
<br />
Then, you can add an image to the sprite:<br />
<br />
<span style="font-family: "Courier New", Courier, monospace;">myactor = [CCSprite spriteWithFile: @"some_image.png"];</span><br />
<br />
And finally, add it as a child to the scene:<br />
<br />
<span style="font-family: "Courier New", Courier, monospace;">[self addChild:myactor];</span><br />
<br />
<strong>Note that we are coding in the implementation file of the scene (Ex: "Scene.m").</strong><br />
<br />
Sprites have some methods to do something with it. For example, you can set the position at the scene:<br />
<br />
<span style="font-family: "Courier New", Courier, monospace;">myactor.position = ccp( 50, 100 );</span><br />
<br />
You can learn more about methods within the cocos2d documentation.<br />
<br />
Ok, that's all for now! Maybe some other day I make a real tutorial of a basic game, thanks!<div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com0tag:blogger.com,1999:blog-2030450926901247274.post-62182759411010529682010-08-17T21:22:00.000-03:002010-08-17T21:22:41.597-03:00LinkaBrasil.comMore from Hot Dogger, now at Linka Brasil. Thanks a lot for everyone!<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBnawsx5ko1zRNPh_hHK9Q4XJpaQvxC0B24An8eNg8DNB9jBSnosFM0B-LKaMSx0QlGfEHYFPESPOPJpBzIIA4AI8MioftJwliGmL-_F8oF1QiAEzMBw7IKkOKUEvzH8yKCgGLt3phAQzI/s1600/screen-capture.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBnawsx5ko1zRNPh_hHK9Q4XJpaQvxC0B24An8eNg8DNB9jBSnosFM0B-LKaMSx0QlGfEHYFPESPOPJpBzIIA4AI8MioftJwliGmL-_F8oF1QiAEzMBw7IKkOKUEvzH8yKCgGLt3phAQzI/s320/screen-capture.jpg" /></a></div><br />
<br />
Link: <a href="http://www.linkabrasil.com/2010/08/monte-seus-cachorros-quentes-com-um.html">http://www.linkabrasil.com/2010/08/monte-seus-cachorros-quentes-com-um.html</a><div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com0tag:blogger.com,1999:blog-2030450926901247274.post-35451870099283939402010-08-14T20:11:00.004-03:002010-08-14T20:17:41.520-03:00ClicRBS.com.br - Canal dos GamesIt's simply wonderful to see that your work is been recognized. This time the news on Hot Dogger came on one blog of the biggest news portal of the south of Brazil, ClicRBS. Thanks a lot!<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSqbphV3O2kqJ-fGsOMohnVqpXZ7_UrmCD_w-Akz3KnDYEsAm4DucErXAmQt2T-BhDQ88_bMxiEG6jWFJG1Ug6NKakHJ-UqTx9eJKcN-79Vsz8iISPntFMnmLJbyJz7SsVZmEiTOK5DMx9/s1600/screen-capture-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSqbphV3O2kqJ-fGsOMohnVqpXZ7_UrmCD_w-Akz3KnDYEsAm4DucErXAmQt2T-BhDQ88_bMxiEG6jWFJG1Ug6NKakHJ-UqTx9eJKcN-79Vsz8iISPntFMnmLJbyJz7SsVZmEiTOK5DMx9/s320/screen-capture-2.jpg" /></a></div><br />
Link: <a href="http://wp.clicrbs.com.br/canaldosgames/2010/08/14/brasileiro-lanca-game-de-%E2%80%9Ccachorro-quente%E2%80%9D-para-iphone/?topo=2,1,1,,,77">http://wp.clicrbs.com.br/canaldosgames/2010/08/14/brasileiro-lanca-game-de-“cachorro-quente”-para-iphone/?topo=2,1,1,,,77</a><div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com1tag:blogger.com,1999:blog-2030450926901247274.post-33243730584576064292010-08-13T08:35:00.002-03:002010-08-13T08:35:23.772-03:00TwitterFollow us on twitter for more instant news and other things!<br />
<br />
<a href="http://twitter.com/rauberlabs">http://twitter.com/rauberlabs</a><div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com0tag:blogger.com,1999:blog-2030450926901247274.post-8458766736652466742010-08-12T15:19:00.001-03:002010-08-12T15:48:15.215-03:00Baguete.com.brMore news about Hot Dogger, this time on the website <a href="http://www.baguete.com.br/">baguete.com.br</a>. Baguete is a very interesting portal specialized in IT in Brazil, mainly in the south. I am very happy and proud to have my game announced there, thanks a lot for everyone!<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEHvaZwXZg8I0WGxWCdlUOGHJi9nFEICJR2gM_lq-cN3R0fnNSGFaZ59oMuiyqwBuD41QcNAyI0V4U9K0sLauW6sKqRrDmvAa-UJ8_M1ngYEdb_SvA7eqFXU0UuE4lHuTkW85-jAx8ndr2/s1600/hot_dogger_baguete.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" ox="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEHvaZwXZg8I0WGxWCdlUOGHJi9nFEICJR2gM_lq-cN3R0fnNSGFaZ59oMuiyqwBuD41QcNAyI0V4U9K0sLauW6sKqRrDmvAa-UJ8_M1ngYEdb_SvA7eqFXU0UuE4lHuTkW85-jAx8ndr2/s320/hot_dogger_baguete.jpg" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><br />
Link: <a href="http://www.baguete.com.br/noticias/telecom/12/08/2010/gaucho-cria-game-para-iphone">http://www.baguete.com.br/noticias/telecom/12/08/2010/gaucho-cria-game-para-iphone</a><div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com1tag:blogger.com,1999:blog-2030450926901247274.post-944020133091449752010-08-10T17:16:00.000-03:002010-08-10T17:16:38.004-03:00What about the sales?Some people asked me about the sales. There's an app that can generate some reports for developers, the iTC Mobile. Of course this is not a screenshot of my sales, is just an image that I took from Google, but you can see how it works. This is a free app and you can't find it directly on the app store, you have to click on the link inside the iTunes Connect.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGrQ_0WQY0nOX8eDIRd6aENUUdVlo7331LYkTqWcwmjnEwfhTaVBF7j5TKjhs7Hyib9MITDS_y8mFIGqSnXq6nnrGgZx3kfGUWTWO8sR5mJwzqIfScNaWjTGp81ierPVJHpbjlBylW386Q/s1600/itc_mobile.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" mx="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGrQ_0WQY0nOX8eDIRd6aENUUdVlo7331LYkTqWcwmjnEwfhTaVBF7j5TKjhs7Hyib9MITDS_y8mFIGqSnXq6nnrGgZx3kfGUWTWO8sR5mJwzqIfScNaWjTGp81ierPVJHpbjlBylW386Q/s320/itc_mobile.jpg" /></a></div><br />
At this moment, the sales of Hot Dogger are going very very well and I'm really proud of it. I'm already working on the first update and other 3 new games.<div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com1tag:blogger.com,1999:blog-2030450926901247274.post-32043355373264167442010-08-10T09:37:00.013-03:002010-08-12T15:11:44.193-03:00MacMagazine.com.brThanks all for everything, the game is going so well that I'm really impressed! I'm preparing an update that will have a lot of good changes! Stay tuned.<br />
<br />
If you have some issues or just comments, please send me everything and I will be pleased to answer.<br />
------------------------------------------------------------------------------------<br />
<br />
<br />
É com muito orgulho que venho agradecer pelo excelente review feito pelo pessoal do MacMagazine e por se tratar de um portal brasileiro, fiz essa parte em português.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfT9cf-qF55XF3sL5-LtkRlyAaaPXp3EuEnLB2uAq7FDyKQXaduWC4fVvfEARttIHYAn1PkJWvSDrdy5P77oZc-TzB8hKT9p6_qGEVwZoq2Axj9NJtK_fsCG1XdGO80VOzPArmmohNZSp8/s1600/hot_dogger_macmagazine.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" mx="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfT9cf-qF55XF3sL5-LtkRlyAaaPXp3EuEnLB2uAq7FDyKQXaduWC4fVvfEARttIHYAn1PkJWvSDrdy5P77oZc-TzB8hKT9p6_qGEVwZoq2Axj9NJtK_fsCG1XdGO80VOzPArmmohNZSp8/s320/hot_dogger_macmagazine.jpg" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div>O Hot Dogger foi lançado a pouco mais de 3 dias e já teve um ótimo retorno. Todas as dicas, opiniões, críticas e elogios serão levados em conta com muita atenção. Já estou preparando um pacote de atualização para a versão 1.1, que terá muitas novidades. Por enquanto, volto a agradecer a todos que me apoiam e claro, a equipe do MacMagazine.<br />
<br />
Link: <a href="http://macmagazine.com.br/2010/08/09/brasileiro-lanca-joguinho-divertido-para-voce-montar-cachorros-quentes-no-iphoneipod-touch/">http://macmagazine.com.br/2010/08/09/brasileiro-lanca-joguinho-divertido-para-voce-montar-cachorros-quentes-no-iphoneipod-touch/</a><br />
<br />
------------------------------------------------------------------------------------<div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com0tag:blogger.com,1999:blog-2030450926901247274.post-68486449871208724852010-08-08T14:00:00.000-03:002010-08-08T14:00:06.152-03:00It's in english!Ok, now that my first game is released, I will do everything in english to be easier for everyone. You can send comments in portuguese too with no problem!<br />
<br />
You can send issues, comments or anything else of everything and I will be pleased to reply.<div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com0tag:blogger.com,1999:blog-2030450926901247274.post-49111181997854513222010-08-07T11:09:00.001-03:002010-08-07T11:11:18.102-03:00Hot DoggerÉ como muito orgulho que anuncio o primeiro app para iOS, Hot Dogger!<br />
<br />
Foram três semanas de desenvolvimento intensivo e, principalmente, criação de arte. Acredite, programar é fácil, desenhar é onde realmente o bicho pega. Enviei o jogo para a Apple no dia 29/07/2010, que ficou na fila de espera para avaliação durante 1 semana e quando finalmente entrou em revisão, demorou apenas 1 dia para ser aprovado.<br />
<br />
Trata-se de um jogo passatempo divertido onde o jogador deve montar o cachorro-quente de acordo com o pedido do cliente, seguindo a ordem dos itens.<br />
<br />
Link para o jogo: <a href="http://itunes.apple.com/us/app/hot-dogger/id385229237?mt=8">http://itunes.apple.com/us/app/hot-dogger/id385229237?mt=8</a><br />
<br />
Screenshots:<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS0cnhOPRQwitppwmXMs4ZXSEvMfa27rgbds761HS0LK5duBvoq1LY3IX54DVHI_NXA3i3DADDg3uGgfG5xyevCgf1XMuiRlcXIqyORPBUEZQajVlbX5phoz0YV50PaItFhHDItdHMI73t/s1600/IMG_0127.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" bx="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS0cnhOPRQwitppwmXMs4ZXSEvMfa27rgbds761HS0LK5duBvoq1LY3IX54DVHI_NXA3i3DADDg3uGgfG5xyevCgf1XMuiRlcXIqyORPBUEZQajVlbX5phoz0YV50PaItFhHDItdHMI73t/s320/IMG_0127.png" /></a></div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwiXV0htBQv6HVPfwwKrIDqvwhQEb8j8mFRGv_ylxFiLMdULrScOgUdpFi9Jg65M1Po8x2ujNfuPO1FRNydDywGgalzg9VvGsTIeDxspTBNX1wd4dhoi-GOnWonMeil9M4JnVnpfwTK2oC/s1600/IMG_0126.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" bx="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwiXV0htBQv6HVPfwwKrIDqvwhQEb8j8mFRGv_ylxFiLMdULrScOgUdpFi9Jg65M1Po8x2ujNfuPO1FRNydDywGgalzg9VvGsTIeDxspTBNX1wd4dhoi-GOnWonMeil9M4JnVnpfwTK2oC/s320/IMG_0126.png" /></a></div><div class="blogger-post-footer">Rauber Labs - http://rauberlabs.blogspot.com</div>Ricardo Rauberhttp://www.blogger.com/profile/13963827534298741862noreply@blogger.com5