Sunteți pe pagina 1din 7

Programao com a engine Stencyl

Nesse tutorial: instanciar atores e varivel global.

2- Criando atores
At o momento, quando era preciso adicionar algum ator na cena, escolhamos o ator e posicionvamos o ator onde era preciso. Poderamos at mesmo modificar via cdigo a posio inicial do ator. Se fosse preciso adicionvamos vrias instancias do ator na cena. Em adio a essa forma manual de adicionar atores, esse tutorial mostrar como fazer a incluso de atores na cena via cdigo.

2.1- Instanciar um ator


Inicialmente irei mostrar como codificar a instanciao de um ator (incluso de um ator na cena). Cada vez que a instruo for adicionada a uma cena, um novo ator ser criado. Mas uma vez utilizarei o ator Balloon encontrado na StencylForge. Para iniciar essa codificao com a Stencyl, crie um novo jogo em branco (Blank Game) com resoluo 640x480. No StencylForge localize o ator Balloon.

Figura 1. Ator Balloon encontrado na StencylForge Aps fazer o download do ator retornaremos a edio do jogo e, na opo Scenes, crie uma nova cena (chamei a minha cena de cena1). Tendo criado a cena preciso editar os eventos da cena recm criada. Para isso, entre na cena e depois em Events. Tenha certeza de estar entrando no evento da cena pois no estamos mais editando os eventos no ator. Adicione um novo evento de criao: na opo Events, clique em Add Event, depois em Basics, e por fim When creating. Em seguida v a Pallete, na opo Scene, e em Actors localize a opo . A Figura 2 mostra onde esto as opes na Pallete.

Figura 2. Elementos da interface para acessar a criao de ator Adicione ao bloco do evento bsico de criao (when created) a instruo . Clique na opo Actor Type e selecione o ator Balloon, para que seja criado um ator do tipo Balloon. A instruo de criao do ator solicita as coordenadas X e Y do ator. Informe o valor 10 em X e Y. Isso posicionar o ator no canto superior esquerdo da cena. Observe na Figura 3 como ficou o cdigo.

Figura 3. Cdigo para instanciar o ator quando a cena criada Executando o cdigo (clicando em Test Game na parte superior direita da Stencyl), j possvel ver a aplicao at agora, onde o ator (uma bola) aparece no canto superior esquerdo da cena (posio 10,10 da cena).

2.2- Instanciando vrios atores


Para adicionar vrios atores precisaramos adicionar vrias vezes a instruo . Na Figura 4 mostrado o cdigo que adiciona 3 instancias do ator na cena. Alm de trabalhoso, fazer dessa forma no permite flexibilidade no jogo onde o nmero de atores na cena poderia variar conforme o desempenho do jogador, ou outra variao determinada pelo design do jogo. Sendo assim, apresento uma nova estrutura para o fluxo do jogo que a repetio de aes.

Figura 4. Cdigo para instanciar 3 atores quando a cena criada

So vrias as opes de repetio disponveis na Stencyl (chamadas de Looping), mas irei mostrar nesse tutorial apenas o bloco que permite repetir certo nmero de vezes. Utilizarei essa estrutura de repetio para adicionar 5 atores na cena. Para isso, adicione um bloco repeat 0 times no evento de criao da cena. Para criar um repeat 0 times, acesse a Palette (olhar no canto inferior direito). Altere para a aba Flow e depois clique em Looping. A primeira opo a que procuramos. Ela espera um parmetro que o nmero de vezes que a repetio deve ocorrer. Esse nmero de vezes ir substituir o valor zero visualizvel. Na Figura 5 possvel visualizar nas reas marcada onde est cada item.

Figura 5. Elementos da interface para acessar a estrutura de repetio fixa Adicione o bloco no evento de criao da cena e informe o valor 5 como parmetro. Dentro do bloco do repeat 0 times, adicione a instruo

. No podemos deixar fixos os valores para X e Y na instruo, seno os 5 atores sero criados um em cima do outro, ento iremos informar valores aleatrios para as coordenadas dos atores. Para informar as coordenadas para a criao dos atores, iremos utilizar valores aleatrios. Para isso, clique , na e especificao depois da coordenada Math e X por no fim

selecione

. A instruo random que sortear um nmero dentro de um intervalo. Como primeiro valor deve ser fornecido zero e como segundo valor a largura da cena (j que a coordenada X controla o posicionamento horizontal do ator). Faa o mesmo com relao ao Y, mas informando zero e a altura da cena (j que a coordenada Y controla o posicionamento vertical do ator).

Como criei a cena com tamanho 640x480, para a largura deveria ser especificado 640 e para a altura o valor 480, mas mais interessante pedir para o prprio cdigo descobrir qual o valor de largura e altura da cena. Fazemos isso atravs da instruo . Quando clicar no segundo parmetro da instruo , selecione a opo Scene e nela ser visto .A

Figura 6 mostra a codificao que adiciona 5 atores na cena utilizando coordenadas aleatrias.

Figura 6. Cdigo para instanciar 5 atores quando a cena criada Executando vrias vezes o cdigo (clicando em Test Game na parte superior direita do Stencyl) podemos ver que os atores so adicionados em locais diferentes a cada execuo.

3- Escopo das variveis


No primeiro tutorial foi criada uma varivel (que a Stencyl chama de atributo) no ator. Essa varivel se chamava sentido. Essa varivel foi criada no conceito chamado de varivel local, ou varivel de escopo local, que significa que a varivel s existe para a instncia do ator. Mas existe como criar uma varivel que pode ser compartilhada por todos os elementos do jogo. Esse tipo de varivel denominada, nos conceitos de programao, como varivel global, j a Stencyl chama de atributo do jogo (game attribute).

3.1- Criar uma varivel local


Para explicar o conceito de varivel global, inicialmente codificaremos uma varivel de escopo local para depois perceber a diferena com ela. Faremos um experimento com o objetivo de contar quantas vezes o ator foi clicado e mostrar esse nmero de cliques no ator. Considerando que voc j sabe manipular atributos na Stencyl (j que foi abordado no primeiro tutorial), no serei to detalhista nesse pedao do tutorial, mas voc pode acompanhar o pequeno vdeo associado a ele em: http://youtu.be/wZoWOrrt24U.

A codificao deve ser feita nos eventos do ator. Crie um atributo chamado click e no evento bsico de criao do ator faa o valor do atributo receber zero (para iniciar com o nmero de cliques zerado). Em seguida faremos com que, a cada vez que o jogador clicar sobre o ator, aumentaremos o valor no atributo click em uma unidade. Para isso, adicione um evento bsico de atualizao no ator e depois um bloco if, onde a condio o input do mouse com a ao was released on, que far entrar no bloco if quando o clique do mouse for liberado. Dentro do bloco if adicione uma instruo para fazer o nmero de cliques aumentar. Por fim, adicione um evento bsico de desenhar e adicione a instruo para fazer aparecer o nmero de cliques em cima do ator. A Figura 7 mostra como fica a codificao desses elementos.

Figura 7. Cdigo para contar o nmero de cliques em um ator Executando o cdigo voc ver os 5 atores criados e, em cima deles, o nmero de cliques recebidos por cada ator. Clicando em algum dos atores o indicador do nmero de cliques (controlados pelo atributo click) dele aumenta. Perceba que o valor do atributo click individual de cada instancia do ator e no de todos os atores.

3.2- Criar uma varivel global


Agora ser criada uma nova varivel que deve controlar quantos cliques j ocorreram no total, no apenas para cada ator. Para isso precisaremos de uma varivel global, que na Stencyl chamada de Atributo do jogo. Estando na edio de eventos da cena, crie uma varivel para armazenar o nmero de cliques total realizados. Na Pallete, selecione a opo Attributes e em seguida a aba Game Attributes. Sero mostradas as opes de atributos do jogo onde possvel localizar o boto

Create New Game Attribute (veja os elementos na Figura 8). Em seguida ser exibida a janela ilustrada na Figura 9, onde voc deve especificar um nome para o atributo (chamei de clicks), uma categoria (utilizada para classificar os atributos quando temos muitos, deixei como Default pois somente ser criado um atributo) e o tipo do atributo (que precisa ser numrico para contar o nmero de cliques) e por fim o valor inicial que foi deixado em zero.

Figura 8. Elementos da interface para criar um atributo global

Figura 9. Cdigo para instanciar 5 atores quando a cena criada Tendo confirmada a criao do atributo, a Pallete exibir as opes conforme a Figura 10. Crie um evento bsico de desenho na cena e mande mostrar o valor do atributo do jogo recm criado na coordenada 10,10. A Figura 10 mostra como ficar o cdigo. Para adicionar a varivel global clicks na instruo , preciso acessar o Game Attributes e arrastar para o texto o nome da varivel encontrado na opo Number Getters (marcado na Figura 11).

Figura 10. Cdigo para mostrar o valor da varivel global na cena

Figura 11. Elementos da interface para as variveis globais Edite o evento bsico de atualizao do ator e adicione ao bloco if a instruo para fazer aumentar o nmero de cliques do jogo. Isso feito atravs da instruo , que voc encontra no Game Attributes (rever Figura 11). Caso voc no veja a instruo no Game Attributes do ator (conforme a Figura 11) s uma questo de atualizao. Feche a edio do ator e abra ela de novo. Aps adicionar o ao bloco if, coloque como valor para o atributo

uma soma, onde o primeiro valor da soma ser a quantidade atual de cliques e o segundo valor o nmero 1.

Figura 12. Cdigo para contabilizar os cliques no ator e para todos os atores Executando o cdigo possvel ver os 5 atores posicionados aleatoriamente na cena e seu respectivo nmero de cliques sobre eles. Alm disso, possvel visualizar no canto superior esquerdo da tela outro contador que mostra o nmero de cliques recebidos por todos os atores.

S-ar putea să vă placă și