ITBazar, informatica 100%

l’informatica alla portata di tutti!

Archivio per 'Flash'


Giochi flash: Oggi sei il conducente della metropolitana M3 di Milano!

Inviato da Domenico Dibello il 9 Maggio 2008

Gioco in flash, della linea M3, metropolitana di Milano ATM

Un programmatore di nome Alberto Zanot ha avuto un’idea molto originale, ossia quella di creare un Simulatore in Flash per guidare la linea M3 (gialla) della metropolitana di Milano. Il gioco è molto originale, è possibile accelerare, frenare, aprire le porte per far salire i passeggeri, proprio come si fosse nei panni del conducente, buon divertimento, non fate troppo ritardo e attenti a non sballottare troppo i passeggeri

Sito: www.o-zoners.com

Pubblicato in Flash, Linux, Svago | Nessun Commento »

Installare e usare Dreamweaver su Linux in pochi minuti con wine-doors

Inviato da Domenico Dibello il 17 Aprile 2008

wine-doors

Linux è ormai maturo, un sistema operativo completo e molto più “User Friendly” di quanto non lo fosse anni fa. Qualsiasi software per Windows può essere rimpiazzato senza problemi da un suo corrispondente OpenSource che a volte è di qualità superiore rispetto al suo rivale commerciale. K3B è una suite per la masterizzazione all’altezza di Nero Burning, esteticamente anche più accattivante, OpenOffice è un degno sostituto di Ms Office, e ci sarebbero altre decine di esempi…

Nel repertorio degli editor HTML però, non sono riuscito a trovarne uno all’altezza di Dreamweaver, padrone indiscusso della categoria. Perciò adesso spiego la procedura per installare Dreamweaver su Ubuntu Linux in pochi minuti e senza neanche averlo mai scaricato. Questa soluzione si chiama wine-doors.

  1. Installiamo WINE: sudo apt-get install wine
  2. Scarichiamo l’ultima versione di wine-doors in formato .deb dal sito ufficiale download page
  3. Installiamo wine-doors con un bel: sudo dpkg -i wine-doors_0.1.2_all.deb
  4. Installiamo Dreamweaver dalla comoda interfaccia mostrata in figura

Ho letto su numerisi Blog che wine-tools non funziona per niente, però si riferivano a versioni più vecchie del programma. Io ho personalmente installato Dreamweaver su Ubuntu Gutsy senza grandi sforzi e funziona TUTTO a meraviglia eseguendo il programma come root, con qualche modifica ai permessi anche come normale utente. Nell’elenco sono disponibili alri programmi, se qualcuno li ha installati e provati può lasciare un commento per farci sapere se funziona tutto correttamente.

Pubblicato in Flash, ITbazar, Linux, Microsoft, Tutorial, Windows | 1 Commento »

Flex 3: Inserire un’immagine o un component in un Datagrid

Inviato da Domenico Dibello il 11 Aprile 2008


Il datagrid è uno dei componenti più utilizzati quando si sviluppa in Flex, infatti non è soltanto una tabella, ma racchiude molteplici caratteristiche avanzate, può svolgere la funzione di form per l’inserimento e la modifica dei dati consentendo di interagire con i database e come ogni controllo Flex può essere popolato facilmente tramite binding con un file XML.
In questo articolo vedremo come inserire un’immagine o un generico componente in un datagrid.
In questa porzione di codice creiamo il datagrid, e lo associamo al file XML “filexml”.
Il punto fondamentale è la colonna ICONA, nella quale inseriremo delle immagini invece del testo. Per far ciò basta creare un <mx:itemrender>, al suo interno un <mx:component> e quindi inserire l’oggetto da noi desiderato. Possiamo inserire anche un nostro componente, creandolo dal menù Flex. Se il componente da noi creato si chiama comp1, dovremo inserire all’interno di <mx:component> nel datagrid <ns:comp1>. Nell’esempio sottostante invece, ho inserito semplicemente un’immagine, ma non c’è nessuna differenza, il procedimento è identico.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<mx:datagrid x="10" y="5" dataprovider="{filexml.item}" rowheight="64">
		<mx:columns>
			<mx:datagridcolumn headertext="Icona" datafield="icona">
			<mx:itemrenderer>
				<mx:component>
					<mx:image source="{data.icona}">
					</mx:image>
				</mx:component>
			</mx:itemrenderer>
			</mx:datagridcolumn>
			<mx:datagridcolumn headertext="Directory" datafield="dir">
			<mx:datagridcolumn headertext="Descrizione" datafield="descrizione">
</mx:columns>
</mx:datagrid>

Sopra potete vedere l’esempio appena realizzato, e visualizzare l’intero codice sorgente dell’esempio col tasto destro del mouse.

Pubblicato in Flash, Flex, ITbazar, Webmaster | Nessun Commento »

Un semplice scambio di dati tra Php e Flex/Flash

Inviato da Domenico Dibello il 12 Marzo 2008

Flex è la miglior tecnologia client side oggi disponibile, esteticamente di grande effetto, e ricca di componenti già pronti da popolare con sorgenti XML. Php è uno tra i linguaggio di scripting server side più utilizzati, con una vastissima documentazione una estrema facilità di utilizzo ed una affidabilità ormai collaudata.
Questo esempio è una dimostrazione di quanto sia facile creare una pagina in Flex con un back-end PHP, può essere una valida alternativo ai classici Form HTML.

Quello che vi propongo è semplicissima messaggeria, l’utente può lasciare un messaggio e firmarlo.
Ecco qui l’esempio realizzato e funzionante.


 

Vediamo prima come è strutturato il codice della pagina PHP che permette il salvataggio dei messaggi nel file e il listing dello stesso ma in formato XML

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
 
$nome = $_POST['nome'];
$messaggio = $_POST['messaggio'];
 
//Se l'utente ha passato delle variabili tramite POST...
if($nome && $messaggio)	 
{	
	$f=fopen("messaggi.txt","a");	
	//Apro il file messaggi.txt in scrittura (a=append)
	fwrite($f,"$nome#$messaggio\n"); 
	//Scrivo nome e messaggio inserendo il separatore "#"
	fclose($f); 	//Chiudo il file
}
 
//Leggo l'intero contenuto del file nella variabile $testo
$testo=file_get_contents("messaggi.txt");
 
 
//Adesso stampo il contenuto del file in formato XML
echo "<main>";
$tnome = strtok($testo,"#");  
//Leggo fino al separatore (token) "#"
 
while($tnome !== false)	
{	echo "<item>";	
	echo "<nome>$tnome</nome>"; 	
	$tmessaggio=strtok("\n"); //Leggo fino al carattere "a capo"
	echo "<messaggio>$tmessaggio</messaggio>";		
	echo "</item>";
	$tnome=strtok("#");	//Leggo fino al carattere "#"
}
echo "</main>";
 
?>

Questa pagina che chiameremo messaggeria.php, si occupa di scrivere i messaggi inseriti dagli utenti nel file messaggi.txt che verrà salvato sul server. Se l’utente (nel nostro caso tramite Flex) passa tramite POST le variabili nome e messaggi, lo script messaggeria.php salva nome e messaggio nel file di testo e poi stampa il contenuto del file in formato XML.

La pagina visitata con un browser da in output qualcosa del tipo…

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<main>
	<item>
		<nome>
			Bill Gates
		</nome>
		<messaggio>
			Windows Vista va una favola
		</messaggio>
	</item>
	<item>
		<nome>
			Linus Torvals
		</nome>
		<messaggio>
			Anche Linux non se la cava male
		</messaggio>
	</item>
</main>

Spero che la parte PHP sia abbastanza chiara, in caso contrario vi esorto a lasciare un commento con le vostre domande!

Adesso vediamo come costruire la parte Flex:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
<mx:HTTPService fault="crea_fallito()" 
	        result="crea_feedback()" 
                id="creaRequest"
                url="http://www.itbazar.org/wfkjbn/messaggeria.php" 
                useProxy="false" 
                method="POST">
 
        <mx:request xmlns="">
            <nome>{nome.text}</nome>
            <messaggio>{messaggio.text}</messaggio>
        </mx:request>
</mx:HTTPService>
 
 
<mx:DataGrid x="18.5" y="10" width="343.5" height="143" 
	     id="datagrid1" 
             dataProvider="{creaRequest.lastResult.main.item}" >
	<mx:columns>
		<mx:DataGridColumn headerText="Nome" dataField="nome"/>
		<mx:DataGridColumn headerText="Messaggio" dataField="messaggio"/>			
	</mx:columns>
</mx:DataGrid>

Il blocco HTTPService permette al client Flex di inviare una richiesta (creaRequest) alla pagina “url” con il metodo POST (cioè esattamente come un form HTML) le due variabili nome e messaggio, prendendo i valori dal testo inserito dall’utente in due textbox.

Il DataGrid invece, cioè la tabella dell’esempio, ha come fonte il file XML ricavato dall’HTTPService, questa “fonte” tecnicamente si chiama dataProvider. Ogni riga della tabella quindi sara popolata con il contenuto del tag del nostro file XML.
HeaderText è il titolo della colonna che può essere scelto liberamente, dataField invece deve coincidere con un tag XML contenuto nel tag superiore .

A questo punto ogni volta che vogliamo aggiornare i dati dobbiamo solo inviare un creaRequest.send();

Pubblicato in Flash, Flex, Guide, ITbazar, Internet, Linux, Php, Tutorial | Nessun Commento »

Web 2.0: AJAX è il passato che ritorna, Flex è il futuro.

Inviato da Domenico Dibello il 1 Marzo 2008

Adobe Flex 3 Logo
Adobe Flex 3 - Logo

Cos’è il Web 2.0? Niente di concreto, è un’idea, un nuovo modo di concepire internet, o semplicemente la naturale evoluzione dell’informatica e della tecnologia che si ripercuote anche sul web.

Uno dei concetti fondamentali del Web 2.0 sono le RIA, Rich Internet Applications, come dice la definizione stessa delle “Applicazioni Internet”. Dunque nel Web 2.0 i siti internet assumono l’aspetto, le funzioni, i comportamenti e quindi la potenza di un’ applicazione desktop, diventando Internet Applications. A questo punto qualcuno ha pensato di fondere le caratteristiche di web e desktop creando un’unica piattaforma per scrivere applicazioni che funzionino come Internet Applications e come Applicazioni Desktop, stiamo parlando di Adobe Flex 3.

Flex è un framework che consente di creare moderne applicazioni Web utilizzando la tecnologia Flash, ma con particolare attenzione all’aspetto funzionale piuttosto che grafico. Allo stesso tempo Flex può generare applicazioni cosiddette AIR, cioè applicazioni desktop classiche, esteticamente di grande effetto ma veloci da sviluppare grazie al massiccio utilizzo di componenti per tutte le esigenze (Datagrid, Filesystem, Tree, Grafici, repeater,…) già pronti e XML.

Una serie di motivi per cui, Flex è la scelta giusta per creare RIA ed Ajax non lo è.

  • Chi usa Ajax deve creare ulteriore codice per mantenere una compatibilità con tutti i browser, perchè essendo basato su Javascript viene interpretato da ogni client in un modo diverso. Lo sviluppatore ha l’onere di effettuare una serie di controlli per mantenere tale compatibilità, riducendo le potenzialità del linguaggio. Inoltre con il release di nuove versioni dei browser lo sviluppatore deve ricontrollare se tale compatibilità è rimasta invariata. Java invece è pesante, lo sviluppo è laborioso e complesso, l’utente deve aver installato una Java Virutal Machine, non presente su tutti i computer, molto lenta da scaricare e di difficile installazione su sistemi non windows. Flex si basa sul plugin Flash Player presente ormai su tutti i browser e su tutti i sistemi operativi, il plugin è leggero da scaricare e il tutto avviene in maniera automatica, compresi i futuri aggiornamenti dello stesso.

  • Ajax è un ritorno al passato. Dal punto di vista dello sviluppo, dopo essere passati dalle funzioni, alla programmazione ad oggetti e alla programmazione ad eventi si ritorna allo “Spaghetti Code”. Righe di codice confuse e disordinate sparse qua e la nelle pagine web, i concetti di riusabilità, modularità, scalabilità vanno a farsi benedire. Faccio un esempio, sviluppando con Ajax spesso il tasto “Indietro” del browser non funziona, per evitare ciò Google nelle sue Google Maps ha create un IFrame invisibile in cui viene inviato il risultato della XMLHttpRequest . Questa soluzione non è per niente elegante, anzi contribuisce a generare confusione e a rendere il codice “usa e getta”. Flex è in linea con il moderno concetto di sviluppo, utilizzando in modo massiccio XML, Classi, Componenti, al pari di Java o di qualsiasi altra piattaforma di ultima concezione.

  • Flex è opensource, un particolare molto importante per chi crede in questa filosofia, ciò significa che potenzialmente milioni di utenti possono contribuire al miglioramento del codice e alla scoperta di possibili bug in tempi brevi. Opensource vuol dire anche trasparenza di conseguenza sicurezza e affidabilità.

  • Flex è flessibile. Nonostante il si basi sulla tecnologia Flash, permette e incoraggia l’utilizzo di CSS in modo da avvicinarsi alla programmazione web tradizionale e mantenere una omogeneità tra le varie “pagine” e la possibilità di effettuare veloci modifiche in futuro. Inoltre Flex permette di incorporare al suo interno praticamente qualsiasi cosa, dai controlli giù presenti a filmati Flash a elementi multimediali di vario genere.

Prova tutti i componenti di Flex 3

Qui puoi provare tutti i componenti Flex e visualizzarne il codice di esempio

Pubblicato in Flash, Flex, ITbazar, Internet, Tecnologia, Webmaster | Nessun Commento »

Come creare un gioco online multiutente (1)

Inviato da Domenico Dibello il 25 Febbraio 2008

gioco carte online 2

Bene, per la serie complichiamoci la vita ecco una nuova serie di guide molto interessanti, l’argomento sarà la creazione in un gioco di carte online multiutente. Quando si da il via ad un progetto di tale portata la cosa principale è buttare giù su carta ogni minimo particolare, la struttura, le classi, i meccanismi, l’interfaccia…

Una volta fatto ciò si può passare alla parte più divertente, programmare!

Alla fine di queste guida che durerà 1 o 2 mesi al massimo chiunque abbia dimestichezza con la programmazione sarà in grado di creare un proprio gioco multiutente!

1. Quali linguaggi utilizzare?

La mia politica sarà quella di non far scaricare al giocatore nessun programma, il gioco avverrà direttamente online. Ecco dunque l’esigenza di un linguaggio client side…Ajax? Java? Flash? Flex?

La risposta è quasi scontata: Flash! Il flash presente una serie di vantaggi rispetto ai concorrenti. Questo linguaggio è stato creato apposta per animazioni interattive, giochi, e quant’altro sia legato alla grafica e all’animazione. Un gioco è qualcosa che deve far divertire l’utente, ragion per cui l’interfaccia grafica deve essere molto curata e accattivante, possibilmente tridimensionale, ma quest’ultimo aspetto non è fondamentale, ci accontenteremo di un 3d finto! ;-) Qualche effetto qui e li…e il gioco è fatto!

2. Linguaggio lato server?

Dunque 100% Flash? Ovviamente questo non è possibile. Il gioco che andiamo a creare è multiutente! Questo vuol dire che ogni giocatore deve “vedere” le mosse effettuate dagli altri utenti, è naturale quindi pensare ad un meccanismo che colleghi i giocatori, nel nostro caso 2 o più giocatori. I clients programmati in Flash dovranno comunicare con un server di gioco, che gestirà l’andamento dello stesso. Il server si occuperà di vedere se i giocatori sono ancora online o se hanno abbandonato il gioco, quali sono le loro mosse o le loro azioni in generale. Quale linguaggio allora per la parte server side? Bhe direi che questo punto non è fondamentale. Clients e server si scambieranno piccole informazioni della serie….

“Il giocatore 1 ha scartato un 3 di picche”

“Il giocatore 2 ha abbandonato la partita”

“Il giocatore 3 scrive: ‘Mi sto divertendo come un pazzo…’”

Tutti gli esempi di questa guida per quanto riguarda il lato server saranno in linguaggio PHP. Ho scelto PHP per 2 ragioni:

  1. In questo modo potrò utilizzare un server Linux
  2. Esistono ottimi framework gratuiti e opensource per far comunicare Flash e PHP…io userò AMFPHP

Se PHP non è tra i vostri linguaggi preferiti potete anche scegliere di usarne uno differente, ASP, Coldfusion (sarebbe l’ideale), ASP.NET, Ruby, Java, e chi più ne ha…..

Ripeto che il server non dovrà fare grandi cose. Il requisito essenziale è quello di potersi connettere ad un database, nel mio esempio userò Mysql ma anche questo è un particolare secondario.

…continua…

Pubblicato in Flash, Guide, Internet, Mysql, Php, Tutorial | Nessun Commento »