lunedì 29 giugno 2015

Open invisible

Oggi vediamo un comando che non è presente nel dizionario: open invisible.
Questo comando vi permette di aprire uno stack in modalità invisibile, in questo modo potete avviare una finestra senza farla vedere all'utente.
Ad esempio se volete stampare, potete preparare il formato della pagina, avviare lo stack e le pagine senza farle vedere.
Ecco un esempio di codice:


open invisible stack "untitled 2"

mi raccomando di utilizzare il nome dello stack, e non il numero, altrimenti potreste avere effetti spiacevoli.
Se vogliamo aprire nuovamente lo stack, dobbiamo prima richiuderlo, con il comando close:


close stack "untitled 2"


Questa modalità vi può essere utile anche per crearvi degli stack libreria, contenenti codice da avviare senza far vedere lo stack all'utente.

giovedì 25 giugno 2015

Message box

Il message box è quel terminale in cui possiamo digitare direttamente dei comandi per vedere cosa succede:
Per far apparire il message box possiamo premere il pulsante message box di livecode o premete CTRL+M.
Il message box ha diversi pulsanti e oggi esamineremo cosa fanno.
Il primo pulsante è il terminale vero e proprio, tutto quello scritto nel message box veiene eseguito, ad esempio un comando put senza la variabile in cui mettere il valore fa apparire il valore nella seconda metà della finestra, che rappresenta l'output. Per fare seguire il codice basta premere il pulsante invo della tastiera.
Tutto quello che digitate fa riferimento alla card e allo stack corrente, quindi potete utilizzare messaggi e funzioni presenti nello stack corrente. E' possibile cambiare lo stack a cui fa riferimento il message box premendo sul menu delle card/stack e selezionare quello che desideriamo.

Potete anche utilizzare il codice presente solo in un particolare oggetto usando 
Il secondo pulsante fa apparire il terminale che accetta più righe di codice alla volta, in questo caso per fare seguire il codice scritto bisogna premere il pulsante invio del tastierino numerico.
I comandi possono anche essere più di uno su una riga, basta separarli col punto e virgola (;).
Esempio:

answer "Ciao" ; answer " a tutti"


Il message box mantiene in memoria i vecchi comandi, basta premere le frecce su e giù della tastiera per scorrere tutti i comandi già eseguiti.
Quando digitate un comando potete scriverlo come se partisse da un controllo, in alto a destra ci sono due pulsanti:

a seconda del pulsante selezionato, il controllo che sarà considerato sarà quello su cui il mouse si trova sopra, o quello del controllo selezionato. In questo modo potete testare i messaggi a sconda dal controllo da cui partono. 
Il terzo pulsante del message box mostra tutte le proprietà globali di livecode:

Mentre il quarto pulsante mostra le variabili di  sistema:
Il quinto pulsante mostra la lista dei messaggi (pending messages) che dovranno essere attivati.
Il quinto e il sesto pulsante servono a vedere il front script e il back script:
Il settimo serve per aggiungere o eliminare degli stack di supporto allo stack corrente, come delle librerie aggiuntive:

lunedì 15 giugno 2015

Martin Mystère

Incredibile a dirsi, ma un programmatore italiano ha creato un'app per iOS riguardo il fumetto Martin Mystère usando livecode.
La descrizione dell'app è:
Grazie a questa App potete tuffarvi in un passato non tanto lontano in cui il computer più potente aveva meno pixel e meno colori dell'iPhone che portiamo nelle nostre tasche e usare gli stessi strumenti usati dal Detective dell'Impossibile agli albori dell'informatica moderna.
Ecco alcune immagini:
Potete scaricarlo gratuitamente da qui: https://itunes.apple.com/it/app/martin-mystere-mystery-database/id573311946?l=en&mt=8
Sono emozionato, Martin Mystère è un fumetto che nasce nel 1982 e ancora oggi ha tantissimi fan, se volete saperne di più sul fumetto potete leggere qui: http://www.sergiobonelli.it/sezioni/13/martin-mystere

martedì 9 giugno 2015

Creare un messanger per facebook in 1 minuto

Questo è un trucco che ho visto fare in altri linguaggi di programmazione e lo propongo anche in livecode. Esiste il sito www.messenger.com che è un pagina web che fa da client chat per facebook.
Quindi basta usare un browser per avere il nostro client di chat. Con livecode possiamo creare un programma di chat per computer:

senza neanche dover mettere un controllo, basta inserire nel codice della card:

On OpenCard
   put the windowid of this stack into tID
   put revBrowserOpenCef(tID,"http://www.messenger.com") into browserid
   set the curbrow of this card to browserid
   put the rect of this card into temp
   revBrowserSet browserid,"rect", temp
   revBrowserSet browserid,"showBorder","true"   
end OpenCard

function browserid
   put the curbrow of this card into temp
   return temp
end browserid

on ChiudiBrowser      
   revBrowserClose BrowserId()   
end ChiudiBrowser

on CloseStack
   chiudibrowser
end CloseStack

Finito!

lunedì 8 giugno 2015

Impiariamo a scrivere in tedesco

Oggi presentiamo un programmino per imparare a scrivere in tedesco. Prodotto Andreas Stämpfli è un gioco carino in cui gli animali in stile cartone ci chiedo di scrivere le parole e poi ci vengono corrette.
Il programma e una sua demo sono scaricabili da questa pagina: http://www.rechtschreib-zoo.ch/index1.html
Chiaramente il tutto è stato fatto con Livecode, in questo modo gira su tutte le piattaforme (Win, Mac, Linux).

giovedì 4 giugno 2015

Lego Mindstorm

Lego Mindostorm è un sistema della Lego corredato di motori, sensori e un'unità programmabile.
Benchè ormai la lego fornisca un software per programmarlo, in certi casi più veloce scrivere da noi il programma che deve essere caricato oppure creare un'interfaccia su misura per quello che ci serve.
Livecode vi permette di connettervi al lego mindstorm, programmarlo e controllarlo.
Il fotografo Ian Wood a sfruttato il lego mindstorm per creare un sistema automatico per riprese panoramiche:
E ha messo a disposizione il programma da lui realizzato per poterlo studiare e modificare: http://tinyurl.com/obhe3fa


mercoledì 3 giugno 2015

Creare un pulsante spaventoso

Per creare un pulsante che dia un senso di inquietudine, tipo che pulsa, si possono scrivere pochie righe di livecode. Ad esempio per questo effetto:

basta utilizzare questo codice:

local tSize, tDirection

on mouseEnter
   # Set the pulse speed and animation basics
   set the idlerate to 40
   put "up" into tDirection
   put 1 into tSize   
   # Apply the outer glow (we'll only change the size in the
   # next handler)
   lock screen
   set the outerglow["opacity"] of me to 255
   set the outerglow["color"] of me to "0,0,0"
   set the outerglow["size"] of me to tSize   
   set the colorOverlay["color"] of me to "0,0,0"
   set the colorOverlay["opacity"] of me to "45"
   unlock screen
end mouseEnter

on mouseLeave
   # When the mouse leaves the buttons we simply clear the effect
   set the outerGlow of me to empty
   set the colorOverlay of me to empty   
end mouseLeave

on mouseWithin
   # Increment / decrement the size of the glow
   if tDirection is "up" then
      add 1 to tSize
   else
      subtract 1 from tSize
   end if   
   # Calculate the new direction of the pulse
   if tSize > 20 then
      put 19 into tSize
      put "down" into tDirection
   else if tSize < 0 then
      put 0 into tSize
      put "up" into tDirection
   end if   
   #Set the new size of the glow
   set the outerglow["size"] of me to tSize
end mouseWithin

E voi che effetti potreste fare?