L’uso dei timers (NSTimer) nello sviluppo di applicazioni per Apple iPhone è molto frequente e non solo nella realizzazione di giochi. Uno dei problemi con cui ci si può scontrare è l’asincronicità del timer stesso, che può portare, durante l’arresto di uno o più timer, al crash della nostra applicazione. Quando si vuole fermare uno o più timer, nei casi in cui repeats è impostato a YES, si invoca la invalidate che, appunto, arresta il timer.
Articoli con Tag ‘trick’
Very short trick: fermare NSTimer
Very short snippet: PHP slug
Chi sviluppa in WordPress conosce sicuramente il termine slug, solitamente utilizzato per indicare quelle stringhe di testo che non contengono spazi o altri caratteri “strani”. In pratica una stringa URL friendly, cioè in grado di essere utilizzata all’interno di un URL.
Very short trick: CSS condizionali e ottimizzazione
L’uso delle condizioni all’interno del browser viene spesso utilizzato per decidere quale foglio di stile caricare in base al tipo di browser. Ad esempio possiamo utilizzare questo codice per caricare un particolare foglio di stile quando il browser è Internet Explorer 6:
Very short trick: pagine genitori e pagine figlie in WordPress
In WordPress alternativamente ai post sono disponibili le pagine che, se pur simili, hanno alcune importanti differenze con i “Post” (articoli) veri e propri. In praticolare una pagina può avere delle sotto pagine (“figli”), similmente a quello che accade con le categorie. Ecco alcuni script utili per districarsi nella loro gestione e manipolazione:
Very short trick: aggiustare le date tramite MySQL
Può capitare di trovarsi nell’impossibilità di modificare l’impostazione dell’orario su un Web Server o lavorare su una tabella MySQL dove un campo TIMESTAMP è impostato su ON UPDATE CURRENT_TIMESTAMP. Così diventa necessario, a fronte di una select, aggiustare l’orario recuperato con il fuso orario corretto. Ad esempio se il nostro server si trova a Los Angeles, con una fuso orario di 9 ore indietro, basta semplicemente utilizzare:
1 2 | SELECT DATE_ADD( campo_timestamp, INTERVAL 9 HOUR) AS `local_timestamp` FROM mytable |
Il campo campo_timestamp contiene la data reale del server mentre l’alias local_timestamp è la stessa data 9 ore avanti.
Very short trick: disabilitare il ridimensionamento di una textarea su Safari
In tutti i browser sviluppati partendo dal motore di rendering WebKit (come apputo Safari o Google Chrome), i campi textarea mostrano, in basso a destra, la caratteristica funzionalità di resizing. Se questa particolarità può risultare davvero utile in certi casi, in altri si trasforma in un elemento fastidioso.
Very short trick: prendere elementi casuali da un array in PHP
La funzione shuffle() di PHP “mescola” letteralmente gli elementi di un array:
Very short trick: ADDED_TO_STAGE
Come abbiamo visto più volte, nel costruttore di una classe che estende un MovieClip può essere necessario aggiungere l’evento ADDED_TO_STAGE per capire quando il nostro MovieClip è disegnato effettivamente sulla stage:
Very short trick: duplicare o clonare una o più righe in MySQL
Per duplicare totalmente il contenuto di una tabella su se stessa basta usare:
1 | INSERT INTO MYTABLE SELECT * FROM MYTABLE |
È possibile anche utilizzare la clausa di WHERE se necessario:
1 | INSERT INTO MYTABLE SELECT * FROM MYTABLE WHERE a=b |
Nel caso la tabella possiede qualche indice o chiave univoca, che provocherebbe un errore, è possibile filtrare i campi da duplicare:
1 | INSERT INTO MYTABLE (field1, field2, ...) SELECT field1, field2, ... FROM MYTABLE |
Addirittura è possibile duplicare un record e modificare un valore, ad esempio duplico un campo e gli aggiungo 1:
1 | INSERT INTO MYTABLE (field1, field2, ...) SELECT (field1+1), field2, ... FROM MYTABLE |
Very short trick: addEventListener() AS3, un handler più eventi
In Actionscript 3.0 è necessario utilizzare addEventListener() per intercettare un qualsiasi evento:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | /** * Dato un MovieClip mc, si impostano eventi e handler */ mc.addEventListener( MouseEvent.CLICK, on_click ); mc.addEventListener( MouseEvent.ROLL_OVER, on_roll_over ); mc.addEventListener( MouseEvent.ROLL_OUT, on_roll_out ); /** * Funzioni di hander per gli eventi sopra indicati */ function on_click( e:MouseEvent ):void { // click } function on_roll_over( e:MouseEvent ):void { // roll over } function on_roll_out( e:MouseEvent ):void { // roll out } |






Ultimi Commenti
Giovambattista Fazioli: @ale: Come indicato @Kevin vedi sul repo di GitHub: https://github.com/gfazioli/Ch roma-Key
Giovambattista Fazioli: @Kevin: See https://github.com/gfazioli/Ch roma-Key
Kevin: Very nice example – would like to see the .fla too!
Ludovica: Ciao! Ti spiego il mio dubbio. Quando scrivo un post non inserisco immagini nell’articolo (se così...
Marco: ciao @Giovambattista Fazioli, grazie per tutte le delucidazioni di questa ottima guida. Avrei un quesito da...