Mole Mash V2 com camadas de Sprite (2023)

O que você está construindo

Mole Mash V2 com camadas de Sprite (1)

Este tutorial mostra como construir um jogo semelhante ao jogo de arcade Whac-A-Mole™. O objetivo é tocar em uma toupeira que sai aleatoriamente de um dos cinco buracos fixos. Cada vez que você consegue, sua pontuação aumenta em um ponto.

Para destacar os recursos do App InventorQualquer componentee ImageSpriteCamada Z, este aplicativo adota uma abordagem um pouco diferente daTutorial original do Mole Mash, que vocênão precisater concluído para concluir este. Você deve, no entanto, estar familiarizado com os fundamentos do App Inventor, usando o Designer para construir uma interface de usuário e usando o Editor de Blocos para codificar o comportamento de um aplicativo. Se você não estiver familiarizado com o básico, tente percorrer alguns dostutoriais básicosantes de continuar.

Introdução

Este tutorial inclui:

  1. Adicionando componentes no Designer
  2. UsandoQualquer componentefuncionalidade para obter e definir propriedades de componentes ImageSprite
  3. Controlando o jogo com oRelógiocomponente
  4. Usando SpriteCamada Zpara garantir que um ImageSprite apareça na frente de outro

Começando

Abrirai2.appinventor.mit.edue iniciar um novo projeto. Defina a telaTítulopropriedade para um nome apropriado, como "Mole Mash". Baixe os arquivos de imagem abaixo (criados por Yun Miao) para o seu computador clicando com o botão direito sobre eles e, em seguida, adicione-os ao seu projeto pressionando o botão "Carregar arquivo ..." no painel Mídia.

Buraco:
Verruga:

Mole Mash V2 com camadas de Sprite (4)

Configure os componentes

A interface do usuário conterá um total de 6 ImageSprites: 5 buracos imóveis e 1 toupeira. A toupeira se moverá em cima dos buracos. Use o Designer para criar a interface do usuário. Quando terminar, deve ser parecido com a imagem abaixo. Não se preocupe em alinhar os buracos uniformemente. Você especificará suas localizações através de seusXeSpropriedades. Instruções adicionais estão abaixo da imagem.

Mole Mash V2 com camadas de Sprite (5)

A seguir está a lista de componentes que você adicionará:

Tipo de componenteGrupo de paletasComo você vai nomeá-loFinalidade do Componente
TelaDesenho e AnimaçãoGameCanvasO campo de jogo
ImagemSprite(5)Desenho e AnimaçãoBuraco1 ... Buraco5Buracos de onde a toupeira pode aparecer
ImagemSpriteDesenho e AnimaçãoVerrugaA toupeira
Arranjo HorizontalDisposiçãoArranjo de pontuaçãoPara exibir a pontuação
RótuloInterface de usuárioScoreTextLabelPara segurar "Pontuação:"
RótuloInterface de usuárioScoreValueLabelPara manter a pontuação (número de vezes que a toupeira foi atingida)
RelógioInterface de usuárioRelógio MolePara controlar o movimento da toupeira
Sommeios de comunicaçãoCampainhaVibrar quando a toupeira é tocada

Faça as seguintes alterações nas propriedades dos componentes:

ComponenteAção
Tela1DefinirCor de fundopara Verde. DefinirLargurapara 320 pixels. DefinirAlturapara 320 pixels.
Buraco1DefinirXpara 20 eSpara 60 (canto superior esquerdo).
Buraco2DefinirXpara 130 eSa 60 (centro superior).
Buraco3DefinirXpara 240 eSa 60 (canto superior direito)
Buraco4DefinirXpara 75 eSpara 140 (canto inferior esquerdo).
Buraco5DefinirXpara 185 eSpara 140 (canto inferior direito).
VerrugaDefinirFotopara "mole.png". DefinirZpara 2 para que a toupeira apareça na frente da outraImagensSprites, que tem o padrãoZvalor de 1.
ScoreTextLabelDefinirTextopontuar: ".
ScoreTextValueDefinirTextopara "0".

Não se preocupe agora em definir oFotopropriedade para os buracos; definiremos a propriedade no Blocks Editor.

Adicione comportamentos aos componentes

Aqui está uma visão geral do que precisamos para criar blocos:

  1. Crie variável global:
    • buracos: uma lista de ImageSprites buracos
  2. Quando o aplicativo é iniciado:
    • Preencha a lista de buracos.
    • Defina cada buracoFotopropriedade para "hole.png".
    • Mova a toupeira aleatoriamente para um buraco.
  3. Crie um procedimentoMoveMolepara:
    • Definir variável localburaco atualpara um buraco aleatório da listaburacos.
    • Mova a toupeira para o local deburaco atual.
  4. QuandoMoleClock.Timergatilhos:
    • ChamarMoveMolepara mover a toupeira aleatoriamente.
  5. Implemente um manipulador que faça o seguinte quando a toupeira for tocada:
    • Adicione um à pontuação.
    • Faça o telefone vibrar brevemente.
    • ChamarMoveMole.

Para prosseguir, mude para o Editor de Blocos.

Criando Variáveis

Crie a variável e nomeie-aburacos. Por enquanto, daremos a ele um valor inicial "fictício" de uma lista vazia. Definiremos o valor inicial real noTela1.Inicializarmanipulador de eventos, que é executado sempre que o aplicativo carrega a tela. Aqui está uma imagem e uma lista dos blocos que você precisará:

Mole Mash V2 com camadas de Sprite (6)

Tipo de blocoGavetaPropósito
inicializar buracos globais paraVariáveisMantenha uma lista de ImageSprites buracos.
criar lista vaziaListasCrie uma lista vazia, para ser preenchida quando o programa for iniciado.

Comentários (criados clicando com o botão direito em um bloco) são incentivados, mas não obrigatórios.

Iniciando o aplicativo

O primeiro evento a ocorrer em qualquer aplicativo éTela1.Inicializar, então colocaremos o código de inicialização nesse manipulador. Especificamente, adicionaremos os componentes do furo à listaburacos, defina cada buracoFotopropriedade para "hole.png" e chameMoveMole. Como ainda não escrevemos o MoveMole, criaremos um procedimento vazio com esse nome, que preencheremos posteriormente.

Abaixo está uma tabela dos blocos que você precisa criar. Observe que a gaveta "Any ImageSprite" é encontrada na guia "Qualquer componente" na parte inferior da lista de blocos no Editor de blocos.

Mole Mash V2 com camadas de Sprite (7)

Tipo de blocoGavetaPropósito
Tela1.InicializarTela1Especifique o que deve acontecer quando o aplicativo for iniciado.
adicionar itens à listaListasAdicione os seguintes valores a ...
obter buracos globaisVariáveis...a lista de buracos
Buraco1Buraco1-o buraco superior esquerdo
Buraco2Buraco2-o furo central superior
Buraco3Buraco3-o buraco superior direito
Buraco4Buraco4-o buraco inferior esquerdo
Buraco5Buraco5-o buraco inferior direito
para cada buraco na listaAo controleIterar através doburacoslista.
defina ImageSprite.Picture do componente ... paraQualquer ImageSpriteDefina a propriedade Picture de...
obter buraco globalVariáveis...o actualburacoImagemSprite
" "(buraco.png)Texto...para a imagem do buraco vazio.
para procedimento(MoveMole)ProcedimentosCrie um procedimento, a ser preenchido posteriormente, para movimentação da toupeira.
ligue para MoveMoleProcedimentosChame MoveMole para fazer a primeira colocação da toupeira.

Compare opara cadabloco para os blocos equivalentes que seriam necessários sem ele:

Mole Mash V2 com camadas de Sprite (8)

O conjunto esquerdo de blocos não é apenas mais curto, mas também menos repetitivo, poupando o programador de copiar e colar sem pensar e facilitando a modificação, por exemplo, se o nome da imagem for alterado.

Movendo a toupeira

Agora vamos preencher o corpo do procedimentoMoveMole, que chamaremos quando o programa iniciar, quando a toupeira for tocada e quando nosso cronômetro disparar a cada segundo. O procedimento deve escolher um buraco aleatório e mover a toupeira sobre ele. Aqui estão os blocos compilados e uma tabela dos blocos utilizados:

Mole Mash V2 com camadas de Sprite (9)

Tipo de blocoGavetaPropósito
inicialize o currentHole local para
(existem dois tipos de 'inicializar local': pegue aquele que cabe no bloco de procedimento)
VariáveisArmazene o valor do furo atual para uso no procedimento.
escolha um item aleatórioListasselecione aleatoriamente um buraco da lista
obter buracos globaisVariáveislista de buracos ImageSprites
ligue para Mole.MoveToVerrugaMova a toupeira para o...
ImageSprite.X do componenteQualquer ImageSprite..x-coordenada de...
obter buraco atual localVariáveis...o buraco escolhido...
ImageSprite.Y do componenteQualquer ImageSprite...e a ​​coordenada y.

Agora precisamos especificar que MoveMole deve ser chamado sempre que o temporizador do MoleClock disparar. Precisamos apenas de dois blocos para fazer isso:

Mole Mash V2 com camadas de Sprite (10)

Tipo de blocoGavetaPropósito
quando MoleClock.TimerRelógio MoleQuando o temporizador dispara...
ligue para MoveMoleProcedimentos...mova a toupeira.

Registrando toques

Finalmente, precisamos de especificar o que acontece quando a toupeira é tocada. Especificamente, queremos:

  1. Aumente a pontuação.
  2. Faça o telefone vibrar brevemente.
  3. Mova a toupeira.

Podemos facilmente traduzi-los em blocos:

Mole Mash V2 com camadas de Sprite (11)

Tipo de blocoGavetaPropósito
quando Mole.TouchedVerrugaQuando a toupeira é tocada...
defina ScoreValueLabel.Text comoScoreValueLabel...atualize a pontuação visível para...
+Matemática...o resultado da adição...
1Matemática...1 [e]...
ScoreValueLabel.TextScoreValueLabel...a pontuação anterior.
ligue para Buzzer. VibrarCampainhaFaça o telefone vibrar por...
100Matemática...100 milissegundos.
ligue para MoveMoleProcedimentosMova a toupeira para um novo local.

Programa Final

Mole Mash V2 com camadas de Sprite (12)

Variações

Aqui estão algumas variações que você pode querer implementar:

  • Adicionando um botão Redefinir para definir a pontuação de volta para 0.
  • Fazer com que a pontuação dependa não apenas do número de acertos, mas também do número de erros e toupeiras escapadas.
  • Aumentar a velocidade do jogo de movimento da toupeira se o jogador estiver indo bem e diminuindo se o jogador estiver indo mal.
  • Adicionando uma segunda toupeira em um cronômetro diferente.

Você pode ver como implementar as duas primeiras variações noTutorial original do Mole Mash.

Análise

Aqui estão alguns dos conceitos abordados neste tutorial:

  • Colocar componentes em umLista.
  • Executar uma operação em cada componente de umListausando opara cadarecursos de bloco e qualquer componente.
  • Colocando umImagemSpriteem cima de outro, usando seuZpropertyt para controlar o que vai na frente.
  • Usando oRelógiocomponente para controlar o jogo.
  • Criando um procedimento e chamando-o de vários lugares.
Feito comMole Mash 2? Voltar para os outros tutoriaisaqui.

Digitalize o aplicativo de amostra para o seu telefone

Digitalize o código de barras a seguir em seu telefone para instalar e executar o aplicativo de amostra.

Mole Mash V2 com camadas de Sprite (13)

Oubaixe o apk

Baixar código-fonte

Se quiser trabalhar com este exemplo no App Inventor, baixe oCódigo fontepara o seu computador, abra o App Inventor e clique emProjetos, escolherImportar projeto (.aia) do meu computador...e selecione o código-fonte que você acabou de baixar.

FAQs

What are the components of mole mash? ›

You'll use these components to make MoleMash: ● A Canvas that serves as a playing field. An ImageSprite that displays a picture of a mole and can move around and sense when it is touched. A Sound that vibrates when the mole is touched. Labels that display “Hits: ”, “Misses: ”, and the actual numbers of hits and misses.

How do you add scores in App Inventor? ›

To create the "Score: " part of the label, drag out a text block from the Text drawer. Change the block to read "Score: " rather than " ". Use a join block to attach this to a block that gives the value of the score variable. You can find the join block in the Text drawer.

What is event handler in MIT App Inventor? ›

Event Handlers

App Inventor programs describe how the phone should respond to certain events: a button has been pressed, the phone is being shaked, the user is dragging her finger over a canvas, etc. This is specified by event handler blocks, which used the word when.

What's in a mole summary? ›

The mole (n), abbreviated as mol, is a fundamental chemical quantity that characterizes the amount of substance. It is defined that 1 mole of any substance contains 6.02x1023 particles (atoms, molecules, ions, electrons). 6.02x1023 is a unique number, called Avogadro's number.

What is the content of mole concept? ›

A mole is defined as the amount of substance comprising the same number of fundamental entities as the number of atoms present in a pure sample of carbon weighing exactly 12 g or A mole is defined as the amount of a substance that contains exactly 6.0221023 elementary entities of the given substance.

Is there a scoring app? ›

The Scoreboard app is applicable to any points-based game like, football, basketball, baseball, soccer and many more (including board games and other indoor/outdoor games). -accurately manage and keep track of game time & more! Just tap the side that scored to increase their score on the scoreboard!

How do you get 6 character code in MIT App Inventor? ›

From your project on http://ai2.appinventor.mit.edu or http://code.appinventor.mit.edu, select the AI2 Companion from the Connect menu. A QR code and the corresponding 6 character code will appear. Scan the QR code or type in the characters to connect up your device to the website and start testing.

What code does App Inventor use? ›

MIT App Inventor
Original author(s)Hal Abelson, Mark Friedman
Written inJava, Swift, Objective-C, Kawa, Scheme, JavaScript
Operating systemAndroid, iOS
Available in19 languages
10 more rows

What is APK in MIT App Inventor? ›

Android application package file (APK) is the file format to distribute and install application software onto Google's Android operating system. Choose "Download to this Computer" from the drop down menu and the download will start automatically.

How useful is MIT App Inventor? ›

Pros: Open-ended learning supports creativity, plus students can get apps running on a phone or tablet in only a few minutes. Cons: The tools are powerful and could be overwhelming to younger students; more classroom materials would be nice.

Does MIT App Inventor require coding? ›

MIT App Inventor is a free, web-based platform for creating, testing, and sharing mobile apps. Build almost any Android and iOS app with App Inventor using a simple, intuitive, block-based programming language that anyone can learn.

What is the formulation of a mole? ›

One mole of any substance is equal to the Avogadro number. This number as value 6.023 \times 10^{23}. It is useful to measure the products in any chemical reaction. Thus 6.023 \times 10^{23} of atoms, molecules or particles are 1 mol of atoms, molecules or particles.

What is the component mole fraction? ›

What is Mole fraction? Mole fraction represents the number of molecules of a particular component in a mixture divided by the total number of moles in the given mixture. It's a way of expressing the concentration of a solution.

What is the sum of moles of all components? ›

The sum of mole fraction of all components of a solution is unity.

What is mole fraction component solution? ›

The mole fraction, X, of a component in a solution is the ratio of the number of moles of that component to the total number of moles of all components in the solution. To calculate mole fraction, we need to know: The number of moles of each component present in the solution.

Top Articles
Latest Posts
Article information

Author: Cheryll Lueilwitz

Last Updated: 04/09/2023

Views: 5598

Rating: 4.3 / 5 (74 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Cheryll Lueilwitz

Birthday: 1997-12-23

Address: 4653 O'Kon Hill, Lake Juanstad, AR 65469

Phone: +494124489301

Job: Marketing Representative

Hobby: Reading, Ice skating, Foraging, BASE jumping, Hiking, Skateboarding, Kayaking

Introduction: My name is Cheryll Lueilwitz, I am a sparkling, clean, super, lucky, joyous, outstanding, lucky person who loves writing and wants to share my knowledge and understanding with you.