Você está na página 1de 24

Scratch

Captulo 1.
1.1.

Scratch

Introduo ao Scratch

Scratch uma nova linguagem de programao desenvolvida pelo Lifelong Kindergarten Group no MIT Media Lab, com o apoio financeiro da National Science Foundation, Microsoft, Intel Foundation, Nokia e consrcios de investigao do MIT Media Lab. O Scratch nos permite criar histrias interativas, animaes, jogos, msica e arte e compartilhlas atravs de websites. A programao efetuada atravs da criao de sequncias de comandos simples, que correspondem a blocos de vrias categorias, encaixados e encadeados de forma a produzirem as aes desejadas. Os projetos Scratch so baseados em objetos grficos chamados Sprites. Pode-se mudar a aparncia de um Sprite, dando-lhe um novo traje, ou faz-lo parecer-se com uma pessoa, um objeto ou at mesmo um animal. Ainda, possvel usar qualquer imagem como traje: desenhada no "Editor de Pintura", importada do disco rgido, ou arrastada a partir de um site. possvel dar instrues a um Sprite, indicando-lhe para se mover, reproduzir msica ou reagir a outros Sprites. Para isso, basta criar sequncias de comandos, arrastando-os e encaixando-os em blocos, tal como se fossem peas de Lego ou de um puzzle. Quando clicar duas vezes (duploclique), o Scratch executa os blocos a partir do topo do script para o final. Em resumo, o Scratch um software que permite criar histrias, jogos e animaes. Isto tudo de forma simples, animando o movimento de objetos.

1.2.

Ambiente ou Interface de programao do Scratch

O ambiente de programao do Scratch permite a montagem de um algoritmo de programao atravs de diagrama de blocos, onde, diferentemente das outras linguagens que ensinam lgica, onde tem que ser digitado comandos, o usurio do scratch tem como ver a sequncia de aes tendo muito mais controle sobre o que poder fazer. Quando abrimos o Scratch, entramos diretamente para o modo de Edio, que nos permite criar ou modificar projetos. Veremos agora um pouco sobre a tela do Scratch e as suas principais funes.

Site referente ao grupo mantenedor do aplicativo Scratch: http://llk.media.mit.edu

Categoria de comandos: Os comandos so divididos em categorias, sendo elas: movimento, aparncia, som, caneta, controle, sensores, operadores, variveis; Blocos de comandos: Onde esto agrupados os comandos de uma determinada categoria; Opes para rea de Scripts: Opes principalmente para rea de Scripts, trajes e sons; rea de edio e conexo de Scripts(rea de Scripts ou rea de comandos): Edio do objeto selecionado: Nesta rea feita a programao e a unio dos blocos; Palco: Onde os objetos so colocados e onde possvel ver o resultado da programao criada. O objeto inicial que aparece no palco o gato; Modos de visualizao: So os tipos de visualizao do palco; Iniciar e Parar: So os botes para iniciar e parar os Scripts; Botes de novo Sprite: Cria um novo personagem ou objeto para o projeto; Objetos usados na animao (Lista de Sprites): Aparecem miniaturas de todos os Sprites. Clique para escolhes e editar um Sprite. O objeto em edio fica selecionado.

1.2.1. Menu Geral


Veremos alguns detalhes do menu geral, como mostrado na tela abaixo:

Seleo de idioma: Alterar para o idioma de preferncia do usurio; Salvar projeto: Salvando o projeto de forma rpida;

Compartilhar projeto: Compartilhamento do projeto para a comunidade de forma rpida, colocando-o online. Dentro do menu geral temos os seguintes menus. Menu Arquivo: Novo: Abre um novo projeto; Abrir: Abre um projeto; Salvar: Salvar o Projeto; Salvar como: Salvar o projeto com outro nome; Importar projeto: Importa um projeto j existente para um projeto atual; Exportar projeto: Exporta o projeto atual; Notas do projeto: Insere notas sobre o projeto; Sair: Fecha a janela do Scratch. Menu Editar: Desfazer apagar: Permite recuperar o ltimo comando, bloco ou Sprite eliminado; Iniciar passo a passo: Mostra o passo a passo da execuo do programa; Marcar passo simples...: Faz com que o passo a passo possa ser feito mais rpido ou mais lento; Comprimir sons: Comprime os sons usados no projeto, para reduzir o tamanho do projeto; Exibir Blocos de Motor. Menu Compartilhar: Compartilhar o arquivo online: Permite fazer o upload do projeto para o site, para ficar disponvel a todos os seus visitantes; Ir ao site do Scratch: Vai at a pgina do Scratch.

1.2.2. Alguns Elementos do Scratch


Falaremos agora mais detalhado sobre alguns dos elementos importantes dentro da janela:

1.2.2.1.

rea de comando ou rea de Script

A rea de comando ser onde montaremos os nossos scripts que daro vida a nossa programao que pode se tornar, por exemplo, um jogo. Ao lado temos um exemplo de um grupo de comandos, os quais foram agrupados e montados dentro da rea de comandos. Mais adiante

aprenderemos como montar um bloco como este.

1.2.2.2.

Palco

O palco onde ficaro e sero mostradas as histrias, jogos e animaes. Os Sprites podem mover-se e interagir uns com os outros no palco. O palco tem 480 unidades de largura e 360 unidades de altura e est dividido entre as coordenadas X e Y . O centro do palco tem as coordenadas 0 em "X" e 0 em "Y" . Para saber a posio de um determinado ponto dentro do palco, mova o mouse at o ponto desejado e observe logo abaixo do palco no canto inferior direito. Pela imagem abaixo, indica-se que o cursor est no ponto X:100 e Y: 50.

1.2.2.3.

Mostrando sistema de coordenadas e orientaes

Como falado acima, o palco tem 480 unidades de largura e 360 unidades de altura e dado pelo sistema ortogonal XY. Podemos perceber isto melhor atravs da figura ao lado que mostra bem melhor este sistema de coordenadas. Neste sistema, ao centro dado a posio X:0 Y:0. Se percebermos bem na figura, notamos que, para cima, o Y ficar positivo e para baixo, ficar negativo. A mesma coisa ocorre semelhantemente para a coordenada Y. Para a esquerda, ficar o X negativo e para direita, ficar positivo. Para sistema de direes, como mostra a figura ao lado, mostra o movimento em graus. atravs das direes que vamos girar o nosso objeto dentro do palco. Guarde bem estes duas ultimas figuras que mostram tanto o sistema de coordenadas como o sistema de direes. Em breve, iremos perceber para que elas realmente servem na prtica.

1.2.2.4.

Sprite

O Sprite qualquer objeto do Scratch. Observe que o nosso Sprite representado por um gato, portanto, toda vez que abrirmos o Scratch, aparecer esta figura. Podemos ter vrios Sprites dentro do palco, onde eles podem aparecer, desaparecer e fazer diversas aes onde envolvem outros Sprites para formar uma animao ou um jogo. Mais a frente aprenderemos melhor como trabalhar com os objetos, podendo aument-los ou diminu-los, duplic-los ou apag-los, ou at realizar outras aes importantes.

1.2.2.5.

Opes de rotao

As opes de rotao determinam como o Traje vai se comportar. Por exemplo, se ele pode girar a medida que o Traje muda de direo, ou se s para a direita ou esquerda, ou se ele no vai ter rotao alguma (o Traje nunca roda, mesmo que

Sprite mude de direo)

1.2.2.6.

Informaes do objeto

Informa principalmente sobre o nome do objeto, a posio dele em X e em Y, assim como a direo.

1.2.2.7.

Opes para rea de script

composto de trs abas que sero estudadas posteriormente: Estas abas so: Comando (onde ficaro os comando para o nosso Sprite), Trajes (Onde ficaro os trajes e onde podemos acrescentar ou tir-los) e Sons (onde ficaro os sons que podemos usar).

1.2.2.8.

Encolher / Crescer / Apagar / Duplicar Objeto

Como mostra na figura ao lado, podemos crescer ou encolher um objeto assim como apag-lo ou duplic-lo. Clique em um destas opes e em seguida clique no sprite e veja o que acontece.

1.2.2.9.

Modos de Apresentao

Define como o palco ser apresentado, assim ele poder ser apresentado em pequeno tamanho, com o palco cheio ou em modo apresentao onde ele ter em toda sua tela a apresentao do palco.

1.2.3. Categoria de comandos


Como foi dito anteriormente, temos um grupo de 8 categorias de comandos, sendo elas: Movimento: Determina o movimento do Sprite, fazendo ele se movimentar para a rea; Aparncia: Serve principalmente para substituir os trajes, fazer aparecer ou desaparecer, ou ainda fazer com que apaream dilogos; Som: Tem como principal finalidade importar sons ou msicas; Caneta: Responsvel pelos traos deixados pelo objeto que est se movimentando, podendo ser modificado cor, espessura e tonalidade; Controle: Possui comandos pr-definidos, responsveis pela estrutura lgica de conexo entre outros comandos; Sensores: Servem para perceber cores, distncias e so normalmente combinados com outros comandos; Operadores: Servem para fazer operaes matemticas, entre outros; Variveis: Servem para criar variveis para armazenar um determinado valor, a fim de ser usado posteriormente, assim como tambm para a questo de criao de listas.

1.3.

Tipos de comandos do Scratch

Dentro das oito categorias disponveis na Palete de Comandos, h trs tipos principais de comandos: Comandos Simples: Estes comandos tm encaixes no topo e no fundo, como . Alguns destes comandos tm reas onde se pode escrever nmeros (como, por exemplo, o "10" do comando ) ou escolher um item a partir do menu pull-down (tal como "miau" no bloco). Alguns destes comandos tm um formato em forma de "C", onde podemos inserir outros comandos, como por exemplo: .

Cabea: Estes comandos tm um topo arredondado, por exemplo: . Destinam-se a ser colocados no topo de blocos de comandos aguardando por ocorrncias tal como "clicar na bandeira verde", para que assim sejam executados os respectivos blocos de comandos. Valores: Estes comandos, tais como e destinam-se a serem encaixados em certas reas dos comandos simples. Valores de formato arredondado (como ou) indicam nmeros ou listas, e podem ser usados em comandos com reas arredondadas ou retangulares (como ou). Os valores com extremidades pontiagudas (como ) indicam valores booleanos (verdadeiro ou falso) e podem ser inseridos em comandos com espaos pontiagudos ou retangulares (como e ).

Alguns valores tm uma check-box junto aos mesmos, como . Assinalando a checkbox, o valor fica visvel no Palco, sendo atualizado dinamicamente medida que for mudando. Os valores podem ser mostrados em diversos formatos: - Um pequeno mostrador com o nome do indicador; - Um mostrador largo, sem qualquer nome; - Com um slider que permite alterar o valor (apenas disponvel para variveis).

1.4.

Mudando o Sprite (Lista de Sprites)

Quando o Scratch aberto, no palco j est aparecendo o gato. Mas nem sempre se deseja us-lo e ento possvel inserir ou criar um novo objeto. Da mesma forma, possvel ter vrios objetos em uma programao. Veja ao lado como aparece um novo objeto no palco: Para criar ou inserir um novo objeto, devemos clicar em uma das seguintes opes:

Pintar um novo objeto: Abre um editor que permite pintar e desenhar um objeto; Escolha um Sprite do arquivo: Permite inserir um arquivo de imagem do computador; Pegar objeto surpresa: Clicando neste boto, surge um objeto surpresa no palco, ou seja, a pessoa no determina o objeto que surgir; Os Sprites ficaro na lista de Sprites, onde podemos visualiz-los e modific-los, conforme desejarmos.

1.5.

Movendo um comando e executando-o

De agora em diante vamos comear a estudar primeiramente os comandos bsicos do scratch e depois passar a conhecer melhor suas funes. Primeiramente devemos (como mostra a figura ao lado) mover, ou arrastar um comando para a rea de scripts. Para isso, s clicar em cima do objeto desejado, segurar e mov-lo para a rea de Script.

Quando abrimos o Scratch ele abre diretamente na ABA Movimento. Observe a figura acima e tente fazer o mesmo. Clique no comando mova 10 passos e solte na rea de script. Para executar este simples comando, clique sobre ele. Observar que aps o clique no comando mova 10 passos, nosso Sprite se mover. Observe que as coordenadas mudaro tambm. Perceba que alguns comandos, como os do exemplo acima tem campos de edio, por exemplo, e para alterar o valor, clica-se no espao da rea branca e escreve-se o novo nmero. Portanto, pratique clicando no numero 10, e altere para -10. Pressione novamente o comando e perceber que nosso Sprite e as coordenadas voltaro para o lugar de origem.

1.6.

Trabalhando com a aba Movimento

J que sabemos agora como mover um comando para a rea de scripts e sabemos como execut-lo, vamos ento aprender sobre cada uma das abas, e seus respectivos comandos. Conforme nossa progresso no contedo, faremos exerccios que pegaro elementos de outras abas para aprimorar mais nossos conhecimentos. Comearemos pela aba Movimento. Esta aba realmente onde podemos fazer nossos Sprites andarem, ou seja, se movimentarem pelo palco.

1.6.1. Trabalhando com o mova


Comearemos a usar o comando mais comum e primordial para o Scratch, ou seja, o mova. O comando mova, como visto acima, o comando que d o movimento para frente ou para trs do nosso Sprite. Se for para frente, coloca-se o passo positivo, por exemplo, mova 10 passos, caso para trs, ou seja, de costas, no caso do nosso Sprite padro, coloca-se mova -10 passos. Para testar, altere o nmero de passos do comando que est na rea de Script e observe o que acontece na rea do sistema de coordenadas. Para alter-lo, clique uma vez em cima do numeral 10 e substitua por -10.

1.6.2. Trabalhando com o vire


Percebe-se que com o mova, o nosso objeto somente se movimenta no eixo X (ou seja, para frente e para trs). Precisamos de alguma ferramenta que faa com que ele faa o movimento entre o eixo Y tambm. Para isso, iremos utilizar a rotao atravs do comando Vire. Lembre-se que temos um sistema de coordenadas e de direo. Visto estes dois sistemas anteriormente, podemos dizer que o comando mova est diretamente ligado ao sistema de coordenadas e o comando vire est ligado diretamente ligado ao sistema de direo, ou seja, com o vire trabalhamos o giro, o qual ser dado em graus. Para testar, mova os dois comandos de vire (Figura ao lado) para a rea de Script. Faa o teste clicando algumas vezes no primeiro vire e observe que nosso Sprite vai girando. Observe tambm em quantos graus est o objeto nas informaes do Sprite. Ateno: Volte para o tpico Mostrando sistema de coordenadas e orientaes e perceba que o sistema de graus no corresponde ao que normalmente usamos. Tente girar para um lado e para o outro e veja o que acontece. Aps fazer os testes, deixe o Sprite na direo 90. Dica: Podemos testar o uso de um comando sem colocar na rea de script. Para isso, somente clique em cima em um dos dois comando (Pode clicar primeiramente no de cima e depois no de baixo). Observe o que acontece e depois volte para a direo 90.

1.6.3. Alterando o numero de graus e passos no comando


Como j foi comentado no tpico 2.4.1, podemos alterar ou o numero de passos ou o numero de graus. A primeira alternativa modificar o numero diretamente no prprio bloco de comandos. A segunda alterar dentro da rea de Script. A diferena entre a primeira e a segunda que, se modificarmos dentro do bloco de comandos, se arrastarmos o comando para dentro da rea de Script, todos eles sairo com aquele nmero. Por exemplo, se trocarmos o 10 de mova 10 passos por 20, qualquer comando igual a este que arrastarmos para rea de Script, sair no mais com o 10 e sim com o 20. Diferentemente, se alterarmos um que j est dentro da rea de Script, ser alterado somente aquele comando. Estas alteraes serviro para outros comandos que usam o mesmo conceito.

1.6.4. Movendo e virando


J que temos a noo inicial do mova n passos e vire m graus, onde N e M so numerais

quaisquer que vo simbolizar o nmero de graus e passos dados, vamos comear a dar uma movimentao maior ao nosso Sprite. Mova diversos comandos de mova 10 passos e vire 15 graus, modificando para valores diferentes. Clique neles e v observando o comportamento do Sprite se movimentando na tela.

1.6.5. Mostrando como voltar para a posio inicial


Possivelmente como seu Sprite deve ter se movimentado bastante no exerccio anterior, ele deve estar totalmente desorientado, por exemplo, imagine que nosso Sprite est com: x:191 y:-177 direo: -130 (Faa o teste para ver onde nosos Sprite vai estar). Se for observar, pode notar que nosso objeto est totalmente perdido. Seria uma das maneiras de arrumar melhor nosso Sprite: clicar nele e arrastar para x:0 y:0, porm iria ficar trabalhoso, ter que ficar mudando o numero de graus, e tambm um pouco de X e Y para chegar na direo e coordenadas exatas x:0 y:0 direo: 90. Vamos facilitar as coisas usando mais comandos dentro da aba movimento. Observe a figura ao lado e veja estes comandos. Arraste-os para a rea de Script e clique em ambos. Como percebe, a forma fcil de voltar a posio inicial. Veremos que daqui para frente, alguns comandos tem "pull-down", por , um comando que veremos mais a frente como: clique na seta do comando aponte para a direo para ver o menu. Escolha a opo desejada clicando nela.

1.6.6. Trabalhando mais com a posio e a orientao


Podemos explorar outros blocos ainda dentro de movimento, como por exemplo: fazer com que o nosso Sprite deslize por uma certa quantidade de segundos pelo palco; fazer com que ele mude o valor de x e/ou y andando uma certa quantidade de passos; fazer com que ele mude a posio do x e/ou y pelo valor determinado; fazer com que seja mostrado dentro do palco a posio de X e/ou Y e/ou direo; fazer com que se o Objeto tocar na borda ele volte; Volte ao tpico 2.4. e tente descobrir quais so os comandos que executam cada uma das aes acima. Dialogue junto com seus colegas e junto com o seu Instrutor a melhor maneira de utiliz-los

1.7.

Trabalhando em blocos

At agora, trabalhamos praticamente com comandos individuais, porm, teremos que comear a aprender como junt-los para formar um Script. Ou seja, para ficar mais claro, um Script vai ser um conjunto de aes que vamos reunir para fazer nosso Sprite se movimentar. Para isso, vamos abrir um novo projeto sem salvar o anterior. Clique em Arquivo > Novo. Aparecer uma janela para salvar o projeto atual, porm como no vamos utiliz-lo, clique em no e aparecer um novo projeto. Agora, arraste dois blocos de aes e coloque um bem prximo ao outro. Quando soltar, perceber que como se fosse um im, os dois ficaro grudados. Observe a figura ao lado e monte este grupo de aes e execute. Perceba o que acontece.

1.8.

Retirando uma ao de um bloco

Para a retirada de uma ao do bloco simples: segure esta ao e puxe-a para baixo, ento perceber que ele vai se desprender do bloco.

1.9.

Removendo uma ao

Digamos que no desejamos mais uma ao ou um Script (que como j sabemos um conjunto de aes) do nosso projeto. Necessitamos ento remov-la! Para retirar a ao da rea de Script, simplesmente pegamos o bloco no mais desejado e puxamos de volta para o bloco de aes. Com isso, percebemos que o grupo ou a ao vai desaparecer.

1.10.

Renomeando um objeto

Observe dentro da rea de informaes de Script que temos escrito objeto1. Para alterar o nome do objeto para gato, ento clique em cima e d um duplo clique e modifique para o nome desejado. Observe que dentro da rea de objetos usados o nome tambm foi modificado.

1.11. Trabalhando com aba aparncia 1.11.1. Trabalhando com Trajes


Cada Sprite pode ter diferentes aspectos que so como se fossem partes de um movimento, o que se chama de Trajes. Clicando-se na aba Trajes e no separador "Trajes" podemos ver quantos aspectos o Sprite tem. Podemos atravs disso, pintar um novo Traje, importar um novo traje ou ainda usar a cmera (Webcam) para fotografar para o Traje. Caso haja interesse em Mexer no Sprite, podemos: editar, copiar ou apagar o Sprite. Com os trajes e os comandos do exemplo abaixo, podemos criar animaes. Para a opo de traje temos os comandos mude para o prximo traje e prximo traje, alm de poder mostrar no palco qual o traje que est sendo usado (Observe-os na aba aparncia e tente manipul-los com eles). Posteriormente abordaremos melhor sobre como manipular com os Sprites.

1.11.2. Trabalhando com Diga e Pense


Podemos fazer nossos objetos Falarem ou Pensarem atravs dos comandos diga e pense onde pode ser falado rapidamente ou por alguns segundos. Arrasta para a rea de Blocos um dos quatro comandos da categoria "Aparncia" que permitem a criao de bales com as falas. Podemos alterar o que queremos que o sprite diga ou pense no prprio comando. Podemos ainda definir o tempo de durao das falas, ou usar comandos sem tempo definido.

1.11.3. Mudando os efeitos


Podemos ter vrios tipos de efeitos para alterar o nosso sprite, como por exemplo. Cor: Modifica a cor do nosso sprite; Olho de peixe: Modifica o formato, fazendo com que se o valor colocado for muito grande, fica com a forma de um olho de peixe; Girar: Deforma nosso sprite em forma de redemoinho; Pixelar: Faz com que nosso sprite se deforme at desaparecer, dependendo do que for feito; Mosaico: Faz nosso objeto se multiplicar em pequenos tamanhos; Brilho: Modifica o brilho do nosso sprite; Fantasma: Faz com que nosso sprite v desaparecendo. Para realizar uma destas aes acima, arraste para a rea de script Mude o efeito e escolha o que quer que acontea, usando o menu "pull-down" (Observe a figura ao lado). Caso esteja s testando, ou no seu projeto queira tirar (limpar) os efeitos, clique no comando:

Nota: Tanto nestes blocos de efeito como em outros, podemos ter blocos com por e outros com para. Por exemplo: na aba movimento temos o bloco mude x por e mude x para. Neste primeiro caso, cada vez que clicamos no bloco, o valor de x vai sendo incrementado, dependendo do seu valor, ou seja, digamos que temos mude x por 10, ento toda vez que clicamos, o x vai sendo incrementado em 10. Com o mude x para o valor de x ser constante para aquele valor determinado, ou seja, se colocarmos um bloco mude x para 10, no importa quantas vezes clicamos, pois ele sempre ficar na posio 10.

1.11.4. Modificando os tamanhos


Modifica o tamanho do nosso Sprite. Estes comandos equivalem ao crescer objeto e encolher o objeto (visto anteriormente). Podemos mostrar no Palco a porcentagem que ele est, alterar para certa porcentagem o tamanho, ou que ele v aumentando ao clicar.

1.11.5. Aparecendo / desaparecendo


Estes comandos fazem com que o Script aparea e desaparea.

1.11.6. Trabalhando com camadas


Para os casos em que se precisa alterar a ordem dos sprites, por exemplo, um sobrepor o outro ou uma forma, temos a opo de fazer isso atravs dos dois comandos ao lado, onde podemos fazer com que o nosso objeto suba uma camada (primeira ao), ou podemos determinar o numero de camadas a serem alteradas (atravs da segunda ao).

1.12.

Trabalhando com a aba de som (adicionando som)

J aprendemos at agora como dar movimento para o nosso objeto e modificar parmetros da aparncia dele. Vamos comear a colocar sons neste nosso objeto. Podemos primeiramente importar um arquivo j existente da prpria biblioteca do Scratch ou gravar um som, podendo executar, parar ou excluir.

1.12.1. Trabalhando com o comando Toque o som


Comearemos com o comando toque o som onde tocar o som que queremos, seja ele uma gravao feita, ou um som j gravado. Para usar o som escolhido na sua programao escolha o bloco toque o som e encaixe no seu script.

Ateno: se o som no funcionar, verifique se este recurso funciona no seu computador (se o som est ligado e existem caixas de som funcionando).

1.12.2. Trabalhando com Toque o tambor e Toque a nota


Para colocar som no script (um som de instrumento ou outro), voc pode usar o comando Toque o tambor. Ele fica disponvel na categoria som. Voc pode usar este bloco de comando sozinho ou agrupado com outros comandos, como mostrado anteriormente em outros scripts. Como j sabemos e s clicar e arrastar o bloco para a rea de edio de Scripts. Se for o caso, encaixe este bloco com os j existentes no script. Para ver o funcionamento, d um duplo clique sobre o grupo de blocos.

Para escolher o som desejado, clique na seta destacada e escolha entre as opes do menu.

1.13. Ensaiando um p de dana


Aprendemos anteriormente os recursos de movimento e toque. Usaremos esses conhecimentos para fazer um movimento que engloba movimento e som. Primeiramente arraste dois comandos mova e um comando toque o tambor. Altere um dos mova para o valor -10, como mostra a figura abaixo.

Depois tambm possvel acrescentar outro bloco de toque o tambor aps o segundo movimento. Vamos ento incrementar um pouco mais, e colocar outro toque, como mostra a imagem abaixo. D um duplo clique sobre o Script e perceba o que acontece.

Agora, implemente o Script semelhante ao da figura ao lado, introduzindo o bloco sempre localizado na seco Controle. Clique em cima e veja o que acontece. Para interromper o programa use o boto vermelho no canto superior direito do palco, ou clique novamente sobre o script.

1.14. Trabalhando com a aba caneta


At agora aprendemos como modificar a aparncia do nosso personagem, faz-lo falar e at tocar um som. Agora importante comear a pensar: como seria fazer com que fique registrado na tela algo quando o nosso elemento se mexer? Por exemplo, podemos querer desenhar figuras geomtricas, como quadrados, tringulos, entre outros. Por isso, vamos aprender um pouquinho sobre a aba caneta e seus componentes.

1.14.1. Usando o Abaixar, levantar, carimbe e limpe


Estas so as principais aes desta aba. Atravs delas podemos fazer com que nosso objeto, ao passar, deixe algum rastro da sua passagem, ou em determinado momento deixe de passar (como na construo de um caminho): usar o carimbe que marca a passagem do elemento ( marcado no palco uma imagem do elemento), ou ainda pode limpar tudo, deixando a rea limpa. o

1.14.2. Mudando a cor, o tom e o tamanho da caneta


Podemos alm de fazer nosso objeto desenhar na tela, alterar os parmetros desta linha, por exemplo, mudar a cor da caneta para uma cor especifica, ou variar o valor da caneta (utilizar os trs primeiros comandos ao lado). possvel ainda fazer a modificao do tom desta caneta (Para isso, utilize os dois blocos seguintes ao lado), onde vai variar a tonalidade da cor escolhida para mais escura ou mais clara. Por ultimo, mudar o tamanho do trao, podendo ser maior ou menor, dependendo do valor registrado.

1.15. Trabalhando com a aba controle


Como prprio nome j sugere, a aba controle permite a quem est fazendo os scripts um controle maior sobre o que est fazendo, onde poder fazer com que um bloco seja inicializado ao pressionar uma tecla, ou desde a inicializao de todo o programa. At outras aes como executar vrias vezes uma determinada ao. Veremos abaixo mais sobre.

1.15.1. Usando o quando


Atravs destes comandos, possvel normalmente iniciar um bloco quando, por exemplo, o programa for iniciado, ou quando o objeto for pressionado, ou ainda quando for pressionada uma tecla (determinada por quem fez o script). Ao lado, temos os principais comandos que ficam no topo de cada script.

1.15.2. Usando os controles se / se...seno


Atravs destes blocos possvel fazer o teste de condies, um caso bem clssico seria fazer a verificao se um objeto est tocando no outro, ou na borda (Ser visto mais a frente). Portanto, nestes comandos normalmente existe um conjunto de outras instrues dentro. Temos ento, se for satisfeita a condio, realizar os comandos internos, seno, no realizar.

1.15.3.

Uso do controle sempre

Como foi visto anteriormente, possvel programar no Scratch que uma ou mais aes continuem acontecendo e se repetindo por tempo indeterminado. Para isso, se usa o comando SEMPRE, disponvel na categoria Controle. Clique e arraste o bloco SEMPRE para a rea de edio de scripts. Encaixe o grupo de comandos dentro do bloco SEMPRE.

Para arrastar um conjunto de blocos, clique sobre o primeiro bloco (no topo do conjunto) e arraste tudo. Para parar a programao aps usar o comando SEMPRE, clique no boto vermelho que significa Parar Tudo.

1.15.4. Usando os controles repita / repita at / sempre se


O comando sempre se realizado sempre que a condio seguinte for verdade. Um exemplo seria dizer Sempre se tecla x for pressionada, ou seja, s ser executado o que tiver dentro se o que tiver depois for satisfeito. Neste caso, diferente do caso acima, pois o bloco ser executado sempre, mas neste caso, ele vai executar o que tem dentro do bloco cada vez que a tecla for pressionada. A condio repita j um pouco diferente. O repita faz com que uma ao dentro do bloco seja realizada N vezes, ou seja, repetida at (repita at) uma tecla for pressionada (neste caso quando a tecla for pressionada a ao ir parar).

1.15.5. Usando o pare e espere


Estes comandos (pare e espere) normalmente servem, como o prprio nome j diz, para parar ou para que espere at uma determinada ao. O espere pode servir para que se esperem tantos segundos, ou para esperar at que uma determinada coisa seja feita (pressionado o boto do mouse ou pressionado uma tecla).

1.16. Iniciando e parando um programa


Uma das maneiras de iniciar ou parar os programas atravs dos botes verde inicia o programa e o boto vermelho para um programa. onde, a bandeira

O Scratch tambm possui controles para o incio da execuo dos scripts. Um exemplo a bandeira verde que fica sobre a tela de visualizao das programaes: ela pode ser usada para iniciar o funcionamento de um script. Para isso necessrio que seja colocado no script o bloco de controle que indica .

Clique no bloco e arraste para a rea de edio de scripts. Encaixe o bloco sobre o conjunto j existente, se for o caso. Este controle deve ser o primeiro em um grupo de blocos, pois ele que determina o incio desta execuo. Para testar, clique sobre a bandeira verde que significa Iniciar Scripts. A Bandeira Verde fornece uma maneira conveniente de iniciar vrios scripts ao mesmo tempo. Clica na Bandeira Verde para iniciar todos os blocos como no topo. No "Modo de Apresentao" a Bandeira Verde surge como um pequeno cone no canto superior

direito do monitor. Pressionar a tecla "Enter" tem o mesmo efeito que clicar na Bandeira Verde.

1.17. Usando Teclas Detectando teclas pressionadas


Para iniciar um script, alm de usar a bandeira verde possvel determinar uma tecla do teclado que funcione como disparadora do script. Desta forma, quando a tecla for pressionada o script inicia sua execuo. Para determinar que o incio da execuo ser definido por uma tecla, voc precisa colocar no incio de um script o controle. Arraste o bloco para a rea de edio de script e o encaixe no incio de um conjunto de blocos. Para determinar qual tecla do teclado ser usada para iniciar o script, clique na seta (ver imagem ao lado) e escolha a opo desejada. Voc pode usar um controle inicial de Script diferente para cada conjunto de blocos. assim que se faz para determinar movimentos diferentes de um objeto de acordo com o clique nas setas de direo do teclado.

1.18. Mudando a cor de objeto quando pressionada determinada tecla


Iremos ver de forma prtica a mudana de cor em um pequeno Script. Na figura ao lado temos dois blocos. O primeiro muda o efeito de cor, enquanto o segundo faz retornar para a cor primria. Monte os blocos e veja o que acontece. Em vez de escolher a tecla A, pode escolher outra tecla qualquer. Basta selecionar a tecla pretendida nas opes do prprio bloco.

1.19. Mudando os trajes com controle


Para fazer uma animao no Scratch bastante simples. J vimos algo sobre isso no tpico Trabalhando com trajes, agora veremos melhor como automatizar as coisas atravs do controle. O efeito final o mesmo de uma imagem gif, ou seja, imagens que se mexem, onde aparecem diferentes posies de uma personagem e a troca das imagens das posies produz a idia de animao. Escolha o objeto que ser animado e clique em trajes. Voc pode criar as diferentes posies do objeto desenhando um novo a partir do inicial (fazer uma cpia do original e editar) ou importar as posies. Depois faa o script do objeto que ser animado. Use o bloco SEMPRE e dentro dele o bloco prximo traje. Este bloco faz o objeto alternar entre seus trajes j criados. importante colocar um tempo aps a troca de traje para que seja possvel visualizar a troca, ou isso acontecer muito rpido. Exerccio: Coloque os dois Scripts na rea e tente analis-los. Veja se tem ou no outras possibilidades de fazer isso. Altere estes Scripts para

outras formas e discuta em sala de aula com os colegas e com o instrutor o que foi aprendido

1.20. Tocar na borda e voltar


Quando voc faz algumas programaes no Scratch, importante que o objeto, ao tocar na borda do palco, volte. Um exemplo disso pode ser uma bola que rola, bate na borda e volta; Puxe o bloco mova para a rea de edio de Scripts; Pegue o bloco sempre e coloque na rea de edio de Scripts; Encaixe o mova dentro do sempre; Pegue o bloco se tocar na borda, volte, na categoria Movimento e coloque dentro do SEMPRE; Se voc quiser que a bola comece a andar quando for pressionada pelo mouse (clicada), use o controle da figura ao lado: Voc tambm pode determinar que o Script inicie quando a bandeira verde for pressionada.

1.21. Desenhando uma estrada


O Sprite, ao mover-se, pode deixar rastro. Para tal, antes de mandar executar os comandos de movimento, preciso selecionar o bloco abaixe a caneta. Para que o Sprite deixe de desenhar, use o bloco levante a caneta. Para limpar os efeitos grficos do palco, utilize o bloco limpe.

1.22. Desenhando um quadrado


Observe o Script ao lado e tente fazer o mesmo para criar quadrados. Altere este Script de modo a desenhar quadrados de diferentes tamanhos. Lembre-se que para alterar a posio e orientao do Sprite preciso utilizar os comandos indicados no bloco separado. Exerccio: A partir do Script anterior, faa as alteraes que achar necessrias para desenhar um tringulo, um pentgono, um hexgono, uma circunferncia.

1.23. Trabalhando com a aba Sensores 1.23.1. Comandos tocando em / tocando na / tocando cor
Atravs destes comandos agora podemos utilizar melhor os nossos comandos de controle, por exemplo: saber se o nosso objeto est tocando em uma determinada cor, ou no ponteiro de mouse ou na borda, ou se uma cor est tocando em outra cor. Para testar, construa algum script usando o bloco ao lado com o controle SE.

1.23.2. Comandos pergunte e resposta


possvel tambm fazer perguntas e exibir as respostas por algum tempo no nosso palco. Vamos construir a estrutura ao lado e veja o resultado.

1.23.3. Comandos mouse x e mouse y


Estes dois comandos tm como caracterstica informar os valores de x e y. Se quisermos que, ao movermos o mouse, a cor do nosso sprite seja modificada, ou que outro efeito acontea quando o mouse se mover pela tela. Devemos utilizar a configurao da imagem a seguir. Observe-a e tente fazer alteraes com outros efeitos. Outra maneira que podemos utilizar praticamente com o mesmo bloco, mas ao invs de utilizar o Mude o efeito, utilize o diga

1.23.4. Comandos mouse pressionado / tecla pressionada / temporizador


Estes comandos vo identificar alguma ao do teclado ou do mouse. Assim como os exemplos anteriores, temos que ter um comando de controle que normalmente o sempre. Porem, vamos modificar um pouco e fazer a utilizao do comando sempre se, ou seja, atravs disso, a ao no ser feita sempre, e sim s se a tecla ou o mouse for pressionado. Observe os blocos ao lado, faa-os e tente ver o que acontece. J o temporizador funciona como um cronmetro, no qual desde a abertura do programa vai correndo o tempo.

1.24. Movimentando Sprite por Sensores


Para melhor movimentar nosso Sprite, observe a figura ao lado: Tente faz-lo e executar. E veja o que acontece. Observe que este script s vai em uma direo, ou seja, ele move 10 passos somente para a direita. Com base nisso, faa o mesmo por todos os lados (para baixo, para esquerda e para cima). Coloque tambm uma ao para que quando pressionada a tecla P, pare o Script.

1.25. Trabalhando com a aba Operadores


Dentro da abra de operadores, temos primeiramente os operadores de operaes matemticas (soma, subtrao), depois os operadores de comparao (maior, menor e igual), operao de palavras (mostrar o numero de letras, ou para juntar palavras), arredondamento ou mostrar o resto de uma diviso, entre outros. Observe as figuras de comandos abaixo e tente us-los com os blocos estudados at agora.

1.26. Movendo-se com relao ao temporizador


Este exemplo d a ideia de como vamos usar o temporizador. Desde que o Scratch iniciado, o temporizador comea a funcionar. Porm, temos a opo zere temporizador, se quisermos recomear a contagem. Observe o exemplo ao lado e o implemente. Discuta com os colegas o que ele faz e tente ver outras maneiras de usar o temporizador com os conhecimentos adquiridos at aqui

1.27. Fala e Calcular


Como visto anteriormente, o nosso sprite pode falar atravs do comando diga. Como j foi visto, nele poder se determinar o que ser dito e o tempo que essa mensagem ficar aparecendo. Vamos usar um simples script que faa um simples calculo j prdeterminado: Monte o bloco abaixo para ele falar e calcular.

1.28. Trabalhando com a aba Variveis


A aba variveis vai nos proporcionar trabalhar com valores que variam com o tempo, fazendo com que certo valor seja armazenado temporariamente para ser usado futuramente. Atravs da aba varivel, podemos inicialmente criar uma, especificando em seguida o nome desta varivel. No caso ao lado, denominamos nossa varivel com o nomevariveis, onde podemos mudar o valor da varivel para um valor, ou por um valor (neste segundo caso, o que tem em varivel caso seja um valor, ser incrementado a cada passagem, ou clique, pelo bloco)

1.28.1. Usando variveis


Construa um Script que desenhe quadrados cujos lados possam variar de comprimento. Para tal, recorra seco Variveis e defina a varivel comprimento que, neste caso, pode assumir os valores de a 100; Antes de mandar executar o programa, d duplo clique sobre a caixa correspondente varivel, fazendo surgir um menu deslizante; Arraste a bolinha branca, selecionando um valor para o comprimento. 0

1.28.2. Listas
No Scratch possvel criar e manipular listas de itens compostas por nmeros e frases. Para criar uma lista, preciso ir ao bloco de Variveis e depois em "Criar uma Lista" dando um nome a ela. Quando a lista tiver sido criada, vrios blocos iro surgir. Quando se cria uma lista ela fica visvel no palco, mostrando todos os seus itens. possvel editar os itens da lista diretamente no palco. A lista criada vazia, com a indicao de "itens: 0". Para

adicionar itens lista, clica-se no smbolo "mais", no canto inferior esquerdo do mostrador. Como alternativa, pode-se adicionar itens usando comandos simples (exemplo: ) possvel ajustar o tamanho do espao da lista, arrastando-lhe o canto inferior direito. Tem-se ainda a opo de exportar a lista para um documento TXT clicando com o boto direito que ser criado diretamente na pasta de instalao do Scratch. Inversamente, podemos usar a opo disponvel para importar dados para uma lista a partir de qualquer ficheiro TXT com um item por linha.

1.29. Caracteres
Os conjuntos de caracteres podem ser formados usando letras, algarismos ou outros caracteres; eles podem ser guardados em variveis ou listas e comparados atravs dos seguintes comandos:

A comparao feita atravs dos primeiros caracteres. Os algarismos so os mais pequenos, seguidos dos caracteres especiais, das letras maisculas e finalmente das letras minsculas, nessa ordem. No caso dos primeiros caracteres serem iguais, so comparados aos segundos caracteres e assim sucessivamente. Porm, se um dos conjuntos apenas tiver algarismos, ento ser tratado como nmero e a comparao no ser possvel.

1.30. Criando um pequeno aplicativo


Usando todos os conhecimentos anteriores, vamos criar um miniaplicativo que ter os seguintes elementos: uma bola, a figura de dois jogadores (Jog 1 e Jog 2) e onde cada um pode fazer gol no outro. Primeiramente, vamos escolher os nossos Sprites, portanto, escolha o Sprite do arquivo beachball1 dentro da pasta things. Depois, encolha o objeto para ficar em um tamanho relativamente pequeno e mude seu nome para Bola. O objeto1 ser o nosso juiz, ento nomeie para Juiz. Escolha tambm os Scriptes bat1-a e bat-1b, renomeando, respectivamente, para: Jog. 1 e Jog. 2. Diminua todos os objetos para ficarem praticamente do mesmo tamanho da bola. Observe

na figura ao lado, para se ter por base, o tamanho real e o reduzido. Na imagem abaixo temos a idia de como ficaro os nossos elementos. Vamos comear a programao da nossa bola. Primeiramente vamos dar o movimento a esta bola, portanto, clique na bola na rea de Sprites e coloque o Script ao lado.

Para muitas programaes, jogos e histrias importante usar testes. Podemos fazer uma bola bater em um objeto e quando ela bater, voltar. Mas como ela vai saber que bateu? Como determinar o que acontece quando ela bate? Vamos comear pela programao do Jogador 1(Jog 1). E para isso monte o Script ao lado. Aps montado, duplique o Script e troque Jog 1 por Jog 2 e a direo 45 pela direo -45. Clique na Bandeira Verde e veja o que acontece. Perceba que quando a bola toca no Jogador 1, ela vai na direo 45 e quando toca no Jogador 2, ele vai na direo -45. Podemos tambm fazer com que a bola s se movimente quando clicada nela, para isso, use o controle quando Bola clicado. No Script perceba que como tem o se tocar na borda, volte, quando toca na borda (qualquer borda do palco) ela volta na direo contrria. Veja que foram feitos trs Scripts separados: um para o movimento da bola e outros para o movimento dos jogadores. Tambm possvel fazer tudo junto, usando apenas um controle de incio do Script e apenas um bloco SEMPRE. Exerccio: Modificar os Scripts, para que os trs se tornem um s. Agora vamos complementar o nosso projeto. O desafio fazer uma bola ir na direo do gol oposto e se bater nele, dizer Ponto para o Jogador 1 ou Ponto para o Jogador 2. Para este exemplo foram importados os objetos button e buttonPressed e chamados de Gol 1 e Gol 2. Rotacionamos os botes para ficar como mostra a figura ao lado. Vamos agora fazer com que nossa bola sempre parta de um ponto especifico, ou seja, que parta toda vez que iniciar do ponto x:0 y:0 apontando para a direo 0 graus. Implemente isso entre os comandos quando e sempre. Agora, devemos fazer com que quando tocar em um dos Gols, ele diga isso. Acrescente na rea de edio de Scripts o bloco se, seno que fica na categoria Controle. Coloque no espao dose o sensor tocando em ... e selecione o Gol 1. Voc pode colocar dentro do seno o comando MOVA para que a bola ande se no tocar no Gol 1. Mas se deixar o seno vazio, no acontecer nada quando a bola no tocar no Gol 1. Dentro do blocose coloque a ao que deve ocorrer quando a bola tocar o gol, ou seja, coloque o bloco Ponto para o Jogador 2 por 2 segundos. Coloque o bloco dentro de um bloco SEMPRE para que este teste seja feito o tempo todo. Depois, coloque um controle que determine o incio do Script. Observe o exemplo da figura ao lado.

Duplique o bloco e troque Gol 1 por Gol 2 e Ponto para o Jogador 2 por Ponto para o Jogador 1 Exerccio: Faa com que o Script se movimente para todos os lados e que fique mudando de traje.

1.31. Abrindo projetos j existentes


Podemos ainda visualizar projetos j existentes. Para isso, clicamos no menu arquivo > Abrir... Clica-se em exemplos, ento s escolher o que desejar.

1.32. Compartilhando
Para fazer o compartilhamento, devemos colocar o login e a senha com que se registrou no Scratch e, tambm, o nome do projeto. Podem-se assinalar vrias etiquetas, para que o projeto seja localizado de forma mais rpida. Depois podemos tambm escrever algumas notas sobre o projeto,como, instrues de utilizao. Finalmente clicamos em OK para envi-lo.