I pagamenti "in-app" sono delle opzioni sbloccabili solo dietro pagamento. I pagamenti in-app si possono mettere sia un'app gratuita sia in una a pagamento. Questo sistema risulta molto comodo per diffondere i nostri programmi e poi farci pagare per delle funzioni aggiuntive o dopo un certo periodo di tempo.
Questo sistema è implementabile con livecode anche su iOS, e a questa pagina trovate una guida con tanto di file scaricabile: http://lessons.livecode.com/m/4069/l/186807-how-do-i-implement-in-app-purchases-in-livecode-apple-appstore
mercoledì 30 dicembre 2015
martedì 29 dicembre 2015
Percepire più pulsanti premuti
Molte volte, soprattutto quando si scrivono videogiochi, è importante riuscire a capire se l'utente stia premendo contemporaneamente dei pulsanti, ad esempio due tasti frecce insieme per far spostare in diagonale un personaggio.
In livecode è possibile utilizzando la funzione keysdown():
Nell'esempio avrete la finestra dei messaggi che si aprirà mostrandovi i numeri dei tasti premuti, separati da virgola.
Ad esempio freccia destra e freccia in basso premuti insieme sono: "65363,65364".
In questo modo potrete gestire qualsiasi combinazione di tasti senza problemi.
In livecode è possibile utilizzando la funzione keysdown():
on keydown
put keysdown() into msg
end keydown
on arrowkey
put keysdown() into msg
end arrowkey
Nell'esempio avrete la finestra dei messaggi che si aprirà mostrandovi i numeri dei tasti premuti, separati da virgola.
Ad esempio freccia destra e freccia in basso premuti insieme sono: "65363,65364".
In questo modo potrete gestire qualsiasi combinazione di tasti senza problemi.
lunedì 28 dicembre 2015
Fare un'app per iPhone in 3 minuti
Il video seguente è un esempio per fare una app per iPhone in 3 minuti usando livecode, questo video è stato presentanto alla conferenza MacTech del 2011:
giovedì 24 dicembre 2015
Animazione con le GIF
In un altro posto abbiamo visto come creare animazioni e sfruttarle per fare videogiochi (http://livecodeitalia.blogspot.it/2014/05/come-creare-un_14.html), oggi vedremo come fare prima usando le GIF animate.
Ad esempio prendiamo due sfondi animati come i seguenti:
Ora scegliano due animazioni, una per il personaggio da fermo e una per il personaggio quando fa un'attività:
A questo punto importatele nel vostro programma: File -> Import as control -> Image file. A ogni immagine sarà assegnato da livecode un numero ID nella finestra delle proprietà (ad esempio 1012), annotiamoli per usarli dopo.
Create due pulsanti, uno per lo sfondo che chiameremo sfondoPrincipale e uno per il personaggio, che chiameremo Ryu. Ovviamente dalle proprietà levate show name, Three D, border, hilite border.
Fatto ciò possiamo creare un pulsante per cambiare lo sfondo col seguente codice:
Mentre per il personaggio, possiamo creare un altro pulsante col seguente codice, sapendo che l'animazione dell'attacco dura 600 millisecondi:
Resetta è un messaggio del pulsante Ryu per rimettere l'animazione standard:
Per ora abbiamo associato gli eventi ai click delmouse, ma si possono associare a ciò che preferiamo.
Il risultato è il seguente:
Utilizzare le GIF permette di suddividere il lavoro fra programmatori e disegnatori. I disegnatori devono solo dire al programmatore quanto durano le animazioni, che è un valore impostabile nella GIF. Inoltre, come avete visto, usare le GIF richiede molto meno codice.
Ad esempio prendiamo due sfondi animati come i seguenti:
Ora scegliano due animazioni, una per il personaggio da fermo e una per il personaggio quando fa un'attività:
A questo punto importatele nel vostro programma: File -> Import as control -> Image file. A ogni immagine sarà assegnato da livecode un numero ID nella finestra delle proprietà (ad esempio 1012), annotiamoli per usarli dopo.
Create due pulsanti, uno per lo sfondo che chiameremo sfondoPrincipale e uno per il personaggio, che chiameremo Ryu. Ovviamente dalle proprietà levate show name, Three D, border, hilite border.
Fatto ciò possiamo creare un pulsante per cambiare lo sfondo col seguente codice:
on mouseUp
if the icon of button "sfondoprincipale" is 1012 then
set the icon of button "sfondoprincipale" to 1013
else
set the icon of button "sfondoprincipale" to 1012
end if
end mouseUp
Mentre per il personaggio, possiamo creare un altro pulsante col seguente codice, sapendo che l'animazione dell'attacco dura 600 millisecondi:
on mouseUp
lock screen
set the currentframe of image "street_fighter_005_rev5.gif" to 1
set the repeatCount of image "street_fighter_005_rev5.gif" to 1
set the icon of button "ryu" to 1018
unlock screen
send "resetta" to button "ryu" in 600 millisec
end mouseUp
Resetta è un messaggio del pulsante Ryu per rimettere l'animazione standard:
on resetta
set the icon of me to 1019
end resetta
Per ora abbiamo associato gli eventi ai click delmouse, ma si possono associare a ciò che preferiamo.
Il risultato è il seguente:
Utilizzare le GIF permette di suddividere il lavoro fra programmatori e disegnatori. I disegnatori devono solo dire al programmatore quanto durano le animazioni, che è un valore impostabile nella GIF. Inoltre, come avete visto, usare le GIF richiede molto meno codice.
venerdì 18 dicembre 2015
Contare le ricorrenze delle parole di un testo
Immaginiamo di dover sapere quante volte le parole sono state ripetute in un testo, ad esempio nella frase "Tre tigri contro tre tigri" abbiamo che la parola tre e la parola tigri sono ripetute due volte.
In livecode fare il conteggio delle ripetizioni di tutte le parole è velocissimo, basta il seguente codice:
in questo modo otteniamo un array dove ogni elemento è individuato dalla parola e contiene il numero di ripetizioni. Questo conto è velocissimo, per tutta la divina commedia livecode impiega meno di 1 secondo!
Sempre utilizzando la frase "Tre tigri contro tre tigri", otterremo:
Ad esempio per la divina commedia abbiamo:
In livecode fare il conteggio delle ripetizioni di tutte le parole è velocissimo, basta il seguente codice:
repeat for each word tWord in testo
add 1 to conteggio[tWord]
end repeat
in questo modo otteniamo un array dove ogni elemento è individuato dalla parola e contiene il numero di ripetizioni. Questo conto è velocissimo, per tutta la divina commedia livecode impiega meno di 1 secondo!
Sempre utilizzando la frase "Tre tigri contro tre tigri", otterremo:
- conteggio["tre"] = 2
- conteggio["tigri"] = 2
- conteggio["contro"] = 1
Il seguente codice prende il testo contenuto in un campo e mette il conteggio in un secondo campo, ordinandolo per numero di ricorrenze:
repeat for each word tWord in field 1
add 1 to conteggio[tWord]
end repeat
combine conteggio using return and ":"
set itemdel to ":"
sort lines of conteggio numeric by item 2 of each
put conteggio into field 2
Ad esempio per la divina commedia abbiamo:
martedì 15 dicembre 2015
Rinominare automaticamente i nuovi controlli
Quando usiamo livecode per scrivere un programma, tutti i nuovi bottoni hanno come nome "button", i campi di testo "field" e così via...
In realtà hanno anche un nome univoco che è il numero di ID, ma non è semplice da ricordare.
Se volessimo che ogni nuovo controllo abbia già un nome univoco semplice e immediato possiamo usare questa estensione gratuita per livecode scaricabile da link qui di seguito: ControlNamer
Avviando questo programma vi apparirà una finestra con un solo pulsante per attivare o disattivare l'estensione:
Se l'attiverete, ogni nuovo controllo avrà un nome diverso, tipo: button1, button2, button3, ecc.
In questo modo potrete orientarvi subito quando lavorate con finestre con moltissimi controlli identici.
In realtà hanno anche un nome univoco che è il numero di ID, ma non è semplice da ricordare.
Se volessimo che ogni nuovo controllo abbia già un nome univoco semplice e immediato possiamo usare questa estensione gratuita per livecode scaricabile da link qui di seguito: ControlNamer
Avviando questo programma vi apparirà una finestra con un solo pulsante per attivare o disattivare l'estensione:
Se l'attiverete, ogni nuovo controllo avrà un nome diverso, tipo: button1, button2, button3, ecc.
In questo modo potrete orientarvi subito quando lavorate con finestre con moltissimi controlli identici.
venerdì 11 dicembre 2015
Usare i cookie col livecode server
Se usiamo livecode anche come server, è importante saper utilizzare i cookie. Oggi vediamo come fare.
Se vogliamo creare un cookie temporaneo che si cancella quando si chiude il browser, questo è il codice da inserire nella pagina html:
se invece vogliamo un cookie che rimanga per del tempo sul computer dell'utente, dobbiamo specificare la durata indicando la data di termine in secondi UNIX , ad esempio:
Per leggere i cookie, basta utilizzare la variabile $_COOKIE che contiene tutti i cookie in un array.
Esempio:
Con questi esempi la variabile temp contiene "Questo cookie dura un anno".
Il ciclo if è solo un controllo per verificare che l'utente abbia dei cookie.
Se vogliamo creare un cookie temporaneo che si cancella quando si chiude il browser, questo è il codice da inserire nella pagina html:
<?lc
put cookie "sessioncookie" for "/" with "Questo cookie si cancella quando si chiude il browser"
?>
se invece vogliamo un cookie che rimanga per del tempo sul computer dell'utente, dobbiamo specificare la durata indicando la data di termine in secondi UNIX , ad esempio:
<?lc
put cookie "yearcookie" for "/" with "Questo cookie dura un anno" until (the seconds + 60 * 60 * 24 * 365)
?>
Per leggere i cookie, basta utilizzare la variabile $_COOKIE che contiene tutti i cookie in un array.
Esempio:
<?lc
put $_COOKIE into tCookiesArray
if tCookiesArray is an array then
put tCookiesArray["yearcookie"] into temp
end if
?>
Con questi esempi la variabile temp contiene "Questo cookie dura un anno".
Il ciclo if è solo un controllo per verificare che l'utente abbia dei cookie.
mercoledì 9 dicembre 2015
Servizi aggiuntivi livecode
La società livecode, oltre ad offrire livecode gratuitamente o a pagamento a seconda delle vostre esigenze, offre dei servizi aggiunti per quelle società o persone che hanno bisogno di qualcosa di più.
A questa pagina trovate le varie possibilità offerte: https://livecode.com/livecode-services/
Ecco i servizi più comuni offerti:
A questa pagina trovate le varie possibilità offerte: https://livecode.com/livecode-services/
Ecco i servizi più comuni offerti:
Nuove funzionalità (Add a Feature)
Potete richiedere di aggiungere a livecode delle funzionalità, queste aggiunte, se non rientrano in quelle già pensate da nel prospetto annuale, saranno aggiunte quanto prima.
Una giornata con un programmatore (Architecture Advice)
Potete prenotare una giornata con un programmatore, che vi spieghi alcune tecniche o trovi delle soluzioni ai vostri problemi.
Correzione urgente di bug (Priority Bug Fix)
Potete richiedere di correggere un bug prima di altri. Se quel bug per voi è critico, può risparmiarvi parecchi problemi.Revisione del vostro codice (Code Review)
Potete chiedere di controllare e correggere il vostro codice.
Corso di formazione personalizzato (Customized Training)
Potete richiedere della formazione specifica su certi argomenti.
lunedì 7 dicembre 2015
Avviare programmi minimizzati
La tecnica che mostro qui di seguito non è esclusiva per livecode, ma può essere utile saperlo anche per i programmatori di livecode. Se vi serve di avviare un programma in background, ma che non ha delle opzioni specifiche, su Windows potere fare in modo che comunque si avvi in background con il comando start /min, ecco qui di seguito un esempio:
come vedete potete anche lanciare programmi che nel percorso o nel nome abbiano degli spazi; in tal caso dovete usare la parola quote, che rappresenta le virgolette, da mettere dopo c:\.
put shell("START /MIN C:\" & quote & "Programmi\Free SMTP Server\localsrv.exe" & quote)
come vedete potete anche lanciare programmi che nel percorso o nel nome abbiano degli spazi; in tal caso dovete usare la parola quote, che rappresenta le virgolette, da mettere dopo c:\.
mercoledì 2 dicembre 2015
Conferenza annuale Livecode 2016
E' stata pubblicata la data e il lugo della conferenza annuale Livecode 2016.
Quest'anno si terrà in Edimburgo (Scozia) dal 2 al 4 Agosto 2016.
In questi tre giorni dedicati a livecode potrete incontrare altri sviluppatori, divertirvi al festival Fringe di Edimburgo e inoltre prenotare una giornata con uno dei programmatori di livecode in modo che vi aiuti nel vostro progetto. In pratica è come se lo assumeste per una giornata.
Qui potete vedere i dettagli dell'evento: https://livecode.com/edinburgh-2016/
Qui potete prenotare un programmatore tutto per voi: https://livecode.com/edinburgh-2016/developer-day/
Quest'anno si terrà in Edimburgo (Scozia) dal 2 al 4 Agosto 2016.
In questi tre giorni dedicati a livecode potrete incontrare altri sviluppatori, divertirvi al festival Fringe di Edimburgo e inoltre prenotare una giornata con uno dei programmatori di livecode in modo che vi aiuti nel vostro progetto. In pratica è come se lo assumeste per una giornata.
Qui potete vedere i dettagli dell'evento: https://livecode.com/edinburgh-2016/
Qui potete prenotare un programmatore tutto per voi: https://livecode.com/edinburgh-2016/developer-day/
Iscriviti a:
Post (Atom)