Category Archives: Componenti

Slider

Un componente Slider è una barra di avanzamento, con cursore scorrevole.
Trascinando il cursore a sinistra o a destra si imposta la posizione e il valore.
Durante il trascinamento del cursore, viene generato l’evento PositionChanged, che restituisce la posizione del cursore sulla barra.

La posizione può essere usata per aggiornare dinamicamente un attributo di un altro componente, come la dimensione del carattere di un componente  TextBox o il raggio di un componente Ball.


Attributi


  1. ColorLeft
  2. ColorRight
    Il colore della barra a sinistra/destra del cursore.
  3. MaxValue
  4. MinValue
    Il valore massimo/minimo del cursore. Una variazione del valore massimo/minimo comporta lo spostamento del cursore al centro del nuovo intervallo e la segnalazione di un evento PositionChanged.
  5. ThumbPosition
    La posizione del cursore sulla barra di scorrimento. Se il valore da impostare è maggiore/minore di MaxValue/MinValue allora assume il valore limite.
  6. ThumbEnabled
    Restituisce/imposta se il cursore è visibile sulla barra (vero/falso).
  7. Visible
    Restituisce/imposta se il componente è visibile sullo schermo (vero/falso).
  8. Width
    Lo spazio orizzontale occupato dal componente

    1. Automatic, ?
    2. Fill parent, tutto lo spazio disponibile
    3. Pixels, il numero di pixel specificati
    4. Percent, la percentuale dello spazio disponibile

Eventi


  1. PositionChanged
    Segnala che la posizione del cursore è cambiata e thumbPosition è la nuova posizione.


Metodi


Nessuno.

TextToSpeech

Il componente TestToSpeech legge a voce alta il testo specificato.

Si può impostare il tono e la velocità della lettura.

Si può inoltre impostare il linguaggio. Si cambia la pronuncia delle parole non la lingua parlata.

Si può impostare anche il codice dello Stato. Cambierà la pronuncia, per esempio British English (GBR) suonerà diverso da US English (USA).

Le lingue e gli stati disponibili dipendono dal dispositivo e possono essere elencati con le proprietà AvailableLanguages e AvailableCountries.


Proprietà


  • AvailableCountries
    • Lista dei codici degli stati disponibili.
  • AvailableLanguages
    • Lista delle lingue disponibili.
      Check the Android developer documentation under supported languages to find the meanings of these abbreviations.
  • Country
    • Restituisce/imposta il codice dello Stato: GBR, ITA, USA, …
    • British English (GBR) potrebbe suonare diverso da US English (USA).
  • Language
    • Restituisce/imposta il codice del linguaggio: fr, en, it, …
    • Si può ottenere un accento francese per una frase inglese.
  • Pitch
    • Imposta il tono: 0=grave, 1=normale, 2=acuto
  • Result
  • SpeechRate
    • Imposta la velocità: 0=lento, 1=normale, 2=veloce

Eventi


  • AfterSpeaking() — Evento successivo alla lettura del messaggio con risultato vero/falso.
  • BeforeSpeaking() — Evento precedente alla lettura del messaggio.


Metodi


  • Speak(testo) — Legge il messaggio specificato.

Canvas

Canvas è un pannello dove è possibile disegnare o muovere degli sprite, inoltre è sensibile al tocco.

Gli attributi BackgroundColor, BackgroundImage, Height, PaintColor, Width possono essere impostati sia in fase di progettazione che nell’editor dei blocchi.
Height e Width sono espressi in pixel e devono contenere valori positivi.

Ogni coordinata di Canvas può essere specificata in valori (x, y), dove

  • x rappresenta il numero di pixels a partire dal bordo sinistro
  • y rappresenta il numero di pixels a partire dal bordo superiore.

Sono disponibili degli eventi che riportano quando e dove Canvas viene toccato o uno sprite (ImageSprite e Ball) vengono trascinati.
Esiste anche la possibilità di disegnare punti, linee, e cerchi.


Proprietà


  • BackgroundColor
  • BackgroundImage
  • Height
  • PaintColor
  • Width

Eventi


Ball

Un’immagine rotonda che può essere posizionata su Canvas dove può

  • reagire a tocchi e trascinamenti
  • interagire con altre immagini, ImageSprite o Ball,
  • reagire ai bordi di Canvas
  • muoversi come da proprietà impostate.

Ad esempio, per far muovere un oggetto Ball di 4 pixels verso l’alto di Canvas ogni 500 millisecondi (mezzo secondo), imposterai le proprietà

  • Speed = 4 [pixels]
  • Interval = 500 [millisecondi],
  • Heading = 90 [gradi]
  • Enabled = True [Vero].

Le proprietà possono essere cambiate in qualsiasi momento.

La differenza tra Ball e ImageSprite è che il secondo componente può mostrare un’immagine qualsiasi, mentre Ball può solo cambiare aspetto attraverso le proprietà PaintColor e Radius.


Properties


  1. Enabled
    Controls whether the sprite moves when its speed is non-zero.
  2. Heading
    Returns the sprite’s heading in degrees above the positive x-axis. Zero degrees is toward the right of the screen; 90 degrees is toward the top of the screen.
  3. Interval
    The interval in milliseconds at which the sprite’s position is updated. For example, if the interval is 50 and the speed is 10, then the sprite will move 10 pixels every 50 milliseconds.
  4. PaintColor
  5. Radius
  6. Speed
    The speed at which the sprite moves. The sprite moves this many pixels every interval.
  7. Visible
    True if the sprite is visible.
  8. X
    The horizontal coordinate of the left edge of the sprite, increasing as the sprite moves to the right.
  9. Y
    The vertical coordinate of the top of the sprite, increasing as the sprite moves down.
  10. Z
    How the sprite should be layered relative to other sprits, with higher-numbered layers in front of lower-numbered layers.

Events


CollidedWith(component other)
Handler for CollidedWith events, called when two sprites collide. Note that checking for collisions with a rotated ImageSprite currently checks against the sprite’s unrotated position. Therefore, collision checking will be inaccurate for tall narrow or short wide sprites that are rotated.
Dragged(number startX, number startY, number prevX, number prevY, number currentX, number currentY)
Handler for Dragged events. On all calls, the starting coordinates are where the screen was first touched, and the “current” coordinates describe the endpoint of the current line segment. On the first call within a given drag, the “previous” coordinates are the same as the starting coordinates; subsequently, they are the “current” coordinates from the prior call. Note that the Sprite won’t actually move anywhere in response to the Dragged event unless MoveTo is specifically called.
EdgeReached(number edge)
Event handler called when the sprite reaches an edge of the screen. If Bounce is then called with that edge, the sprite will appear to bounce off of the edge it reached. Edge here is represented as an integer that indicates one of eight directions north(1), northeast(2), east(3), southeast(4), south (-1), southwest(-2), west(-3), and northwest(-4).

Flung(number x, number y, number speed, number heading, number xvel, number yvel)
When a fling gesture (quick swipe) is made on the sprite: provides the (x,y) position of the start of the fling, relative to the upper left of the canvas. Also provides the speed (pixels per millisecond) and heading (0-360 degrees) of the fling, as well as the x velocity and y velocity components of the fling’s vector.
NoLongerCollidingWith(component other)
Event indicating that a pair of sprites are no longer colliding.
TouchDown(number x, number y)
When the user begins touching the sprite (places finger on sprite and leaves it there): provides the (x,y) position of the touch, relative to the upper left of the canvas
TouchUp(number x, number y)
When the user stops touching the sprite (lifts finger after a TouchDown event): provides the (x,y) position of the touch, relative to the upper left of the canvas
Touched(number x, number y)
When the user touches the sprite and then immediately lifts finger: provides the (x,y) position of the touch, relative to the upper left of the canvas


Methods


Bounce(number edge)
Makes this sprite bounce, as if off a wall. For normal bouncing, the edge argument should be the one returned by EdgeReached.
boolean CollidingWith(component other)
Indicates whether a collision has been registered between this sprite and the passed sprite.
MoveIntoBounds()
Moves the sprite back in bounds if part of it extends out of bounds, having no effect otherwise. If the sprite is too wide to fit on the canvas, this aligns the left side of the sprite with the left side of the canvas. If the sprite is too tall to fit on the canvas, this aligns the top side of the sprite with the top side of the canvas.
MoveTo(number x, number y)
Moves the sprite so that its left top corner is at the specfied x and y coordinates.
PointInDirection(number x, number y)
Turns the sprite to point towards the point with coordinates as (x, y).
PointTowards(component target)
Turns the sprite to point towards a designated target sprite. The new heading will be parallel to the line joining the centerpoints of the two sprites.