Tutorial Appinventor Minigolf
Tutorial Appinventor Minigolf
Tutorial Appinventor Minigolf
Appinventor
Minigolf
Minigolf
Este ejemplo muestra cmo usar el Fling (deslizamiento) y los gestos TouchUp(tocar) y
TouchDown(soltar).
Para jugar a este minijuego el jugador primero posiciona su pelota en soporte y entonces
puedelanzarlahaciaelagujero,lapelotarebotarcontralosobstculosyparedes.Porcada
lanzamiento el contador de golpes aumentar. La puntuacin total es el nmero de golpes
utilizados.
Parte 1 Crea una nueva App y una pelota que responda a los
lanzamientos
Vamosaconstruirestaaplicacinpor etapas,aadiendounafuncionalidaddeljuegocadavez.
AccedealAppInventorycreaunnuevoproyectoconelnombreMinigolf.Cuandoseabrela
ventana de diseo observa que AppInventor automtica mente nombra la primera pantalla
comoScreen1,peropuedescambiarlo.
En la pantalla de Propiedades (panel de la derecha). Desmarca la Checkbox llamada
Scrollableparaquelapantallanosemuevamientraslaappestenmarcha.Laspantallasen
lasquesepuedehacerscroll(deslizaryquesemueva)notienenunaalturadeterminada.Al
nopermitirelscrollennuestraApptendremosquedefinirla.
Palette
Type
Group
Canvas1
Basic
Nombre
Objetivo
Properties
Canvas1
Elcanvasserelcampo
Height:300
degolf
Width:FillParent
BackgroundColor:Verdeodelcolorque
quieras;)
BallSprite
Animation
GolfBall
Estaeslapelotaquehay
Radius=10
quemeterenelagujero
Color:Blanco(tpico)
Speed:0
Interval:1(ms)
Z=2(asaparecerporencimadelcampoz=0)
BallSprite
Animation
Hole
Esteseraelagujero
Radius=15
Color:negro(porejemplo)
Speed:0
Clock1
Basic
Clock1
Controlarel
TimerAlwaysFires
movimientodelapelota
TimerEnabled
respectodeltiempo
TimerInterval:100
Palette Group
Nombre
Objetivo
Properties
Horizontal
Screen
HorizontalArrangement1
Contiene LabelScore
Place at top
Arrangement
Arrangement
y LabelStroke
of screen
Label1
Basic
Type
LabelScore
Label2
Basic
LabelStroke
EntoncesaadiremosaleventoGolfBall.Flunglosbloquesqueseencuentranrecuadradosen
rojo.
Ylossiguientesbloquesaleventoquecontrolacuandolapelotaentraenelagujero:
Con estos cambios deberas ver los contadores Total Strokes (golpes totales) y This Hole
(este agujero) en la parte superior de la pantalla. Ambos aumentarn una unidad con cada
lanzamientodelapelotaperoelcontadorThisHolesepondra0cuandolapelotaentreen
elhoyo.
Palette
What Youll
Type
Group
Name It
ImageSprite
Animation
Tee
ImageSprite
Animation
LeftSprite
Purpose
Properties
soporte (ctrl+click
antes de lanzarla.
para descargar).
Sube la imagen de la
la izquierda en el Tee
descargar)
(soporte).
ImageSprite
Animation
RightSprite
Sube la imagen de la
descargar
Programa el tamao del canvas y la colocacin de la pelota:
Primero programa la disposicin de los componentes anteriores en pantalla. Lo mejor para
acomodarseatodoslostamaosdepantallaescolocarlosobjetosenlapantallaenrelacin
con el tamao de la pantalla de forma que en pantallas ms grandes las imgenes se vern
ms grandes y si las pantallas son pequeas las imgenes se vern pequeas. De forma que
siempreseverbienindependientementedeltamaoyresolucindelapantalla.
Los bloques de abajo muestran cmo crear la pantalla dinmicamente para que todo est
donde tenga que estar y tenga el tamao que tiene que tener. Empezamos haciendo que el
canvasseadeltamaodelapantallaydespuscolocamoscadaobjetoenrelacinaltamao
delcanvas.Intentacomprenderestosbloquesantesdecontinuar.
Encadapartidaeljugadorpuedeposicionarlapelotaencualquierlugardelteeantesde
lanzarlapelota.Paraprogramaresto,primerotienesqueasegurartedequelapelotanoha
sidolanzadaya.Sielnmerodelanzamientos=0sabemosquesepuedemoverlapelota.
LosbloquesdentrodeClock1.Timersehanmovidoaunnuevoprocedure(mtodo)
llamadoMoveBallOnCourse.
Component
Palette Group
Nombre
Objetivo
Properties
Horizontal
Screen
Horizontal
Contains the
Arrangement2
Arrangement
Arrangement2
Type
Basic
ButtonNewGame
Basic
LabelHoleNum
hole number,
increments by one
each time a hole is
completed.
Label4
Basic
LabelInstruct
Displays instructions
Defineunanuevavariableglobalparatenerunseguimientodelnmerodehoyo:
AadelossiguientesbloquesalmtodoSetupNewHole
Programa el botn New Game (juego nuevo), el cual es muy simple. Cuando se pulsa el
botn tenemos que resetear un montn de variables y por ltimo llamaremos a
SetupNewHole(paraquegenereunnivelaleatorio).
Palette
Type
Group
ImageSprite
Animation
Nombre
Objetivo
Properties
ObstacleSprite1
Sube el obstculo
(rectngulo)
(ctrl+click)
Programaelcomportamientodelobstculoenelblockseditor.Primero,creaelprocedimiento
por el cual cuando la pelota golpee al obstculo. Para ello modificaremos la direccin de la
pelotadelainiciala0lainicialparaquesiemprerebotedeunaformanatural.
Cadavezquesereseteeeljuegoelobstculosecolocaraleatoriamente.Aadeestebloqueal
procedure(mtodo)SetupNewHole:
Y ya est ;). Comparte la apk con tus amigos y prueba el juego para ver que todo funciona
comotienequefuncionar.Enestejuegoseutilizamuchsimolaaleatoriedad,esalgonormal
para que que el juego siempre sea diferente y los jugadores no se aburran as que intenta
introducirlaentusjuegos.
Parte 5: retos
Aquhay3retosquepuedenhacertujuegomejor.
Reto1:programalacolisinentrelabolayelhoyoparaquelabolasoloentresillevapoca
velocidad(comoenlavidareal).
Reto2:Hayunpequeobug(error)cuandolapelotagolpealosladosverticalesdel
obstculo.Piensaencmosolucionaresteproblemaparaquelapelotareboteenladireccin
esperada.
Reto3:Limitaelnmerodehoyosporjuego.Mantnlacuentadelnmerodehoyosyacaba
eljuegodespusdeunnmero.(Unminigolftpicotiene18hoyos).
Resumen:
Elproyectoalfinalquedatalqueas:
Aladerechapodemosverelpanelde
Componentes
AbajopodemosverelBlocksEditorresultante