Ciao,
il codice non va perchè la funzione deve essere dichiarata prima di usarla, quindi o usi una forward declaration oppure scrivi la funzione prima del bottone!!
Scusa ma davo per scontato che sapessi questa cosa quando ho postato l’esempio.
Lo stesso vale anche per il tuo codice, questa è la ragione per cui quando dichiari la tua funzione in local il codice non funziona.
Questo è il mio esempio di prima scritto correttamente e funzionante con la tua aggiunta:
[lua]
local widget = require( “widget” )
local button1
local titolo = display.newText(“Questo testo cambierà!”, 0, 0, native.systemFont, 40)
titolo:setTextColor(240, 34, 0)
titolo.x = display.contentWidth/2
titolo.y = display.contentHeight/2
local function miaFunzione(event)
– Cambia il testo sul bottone:
button1:setLabel( “Nuova Label!” )
– cambia il testo nella scritta
titolo.text = “Benvenuti!!!”
titolo:setTextColor(50, 90, 40)
end
– Create the button
button1 = widget.newButton
{
left = display.contentWidth/2 - 90,
top = display.contentHeight - 100,
width = 180,
height = 50,
defaultFile = “buttonBlue.png”,
overFile = “buttonBlueOver.png”,
id = “1”,
label = “Label Bottone”,
onRelease = miaFunzione
}
[/lua]
I file .png li puoi trovare negli esempi di codice delle Sample Apps del simulatore nella cartella SampleCode, oppure puoi usare i tuoi png.
Tap è una modalità di evento che indica il tocco in un unico stato diversamente da “touch” che ne usa 3.
native.systemFont indica la font nativa di sistema, se usi come argomento “nil” cioè “valore nullo” corona sostituirà il valore nullo con il default native.systemFont, in pratica non doverebbe cambiare nulla.
Ribadisco comunque che il modo più semplice x creare un pulsante è usare la widget library
CIao
Ale