<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>the void. &#187; c sharp</title>
	<atom:link href="http://francescomalatesta.net/tag/c-sharp/feed/" rel="self" type="application/rss+xml" />
	<link>http://francescomalatesta.net</link>
	<description>&#34;La Mia Ignoranza Non Ha Lacune.&#34;</description>
	<lastBuildDate>Tue, 13 Jul 2010 10:42:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Hello World &#8211; Guida SDL.NET</title>
		<link>http://francescomalatesta.net/2009/11/14/hello-world/</link>
		<comments>http://francescomalatesta.net/2009/11/14/hello-world/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 23:24:19 +0000</pubDate>
		<dc:creator>FrancescoMalatesta</dc:creator>
				<category><![CDATA[SDL.NET]]></category>
		<category><![CDATA[c sharp]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[giochi]]></category>
		<category><![CDATA[guida]]></category>
		<category><![CDATA[hello world]]></category>
		<category><![CDATA[programmazione]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://francescomalatesta.net/?p=35</guid>
		<description><![CDATA[Ok, dopo aver installato il nostro SDK è proprio ora di fare qualcosa di concreto. Perlomeno, ci proviamo. Per prima cosa apriamo il nostro Visual C# Express (al momento della scrittura uso la versione 2008, liberamente scaricabile dall&#8217;indirizzo http://www.microsoft.com/express/vcsharp/). Dal menù File, in alto a sinistra, creiamo un nuovo progetto: ci si aprirà una nuova [...]]]></description>
			<content:encoded><![CDATA[<!-- AdSense Now! V1.92 -->
<!-- Post[count: 2] -->
<div class="adsense adsense-leadin" style="text-align:center;margin: 12px;"><script type="text/javascript"><!--
google_ad_client = "pub-7771620956442152";
/* 468x60, creato 30/06/10 */
google_ad_slot = "9180159758";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><p>Ok, dopo aver installato il nostro SDK <strong>è proprio ora di fare qualcosa di concreto</strong>. Perlomeno, ci proviamo. Per prima cosa apriamo il nostro Visual C# Express (al momento della scrittura uso la versione 2008, liberamente scaricabile dall&#8217;indirizzo <a href="http://www.microsoft.com/express/vcsharp/" target="_blank">http://www.microsoft.com/express/vcsharp/</a>).</p>
<p>Dal menù File, in alto a sinistra, <strong>creiamo un nuovo progetto</strong>: ci si aprirà una nuova finestra dove dovremo decidere cosa fare. Selezioniamo “Applicazione Windows Form”, scegliamo il nome per il progetto e clicchiamo su ok, come indicato nella finestra qui di seguito.</p>
<p style="text-align: center;"><a href="http://francescomalatesta.net/wp-content/uploads/2009/11/hw-01.jpg"><img class="size-medium wp-image-36" title="hw-01" src="http://francescomalatesta.net/wp-content/uploads/2009/11/hw-01-300x179.jpg" alt="hw-01" width="300" height="179" /></a></p>
<p>Una volta creato il nostro progetto si aprirà in automatico tutto l&#8217;ambiente di sviluppo, dove dovremo <strong>inserire il nostro codice</strong>. Prima di iniziare a scrivere <em>selvaggiamente</em>, però, ci sono altre piccole operazioni da effettuare.</p>
<ul>
<li>Aggiunta Referenze:</li>
</ul>
<p>Nel Solution Explorer dovremo cliccare con il pulsante destro del mouse su <strong>Riferimenti</strong>, dopodichè scegliere “Aggiungi Riferimento” (immagine poco più giù). Dalla lista che ci comparirà selezionare “SdlDotNet” e cliccare su Ok.</p>
<p style="text-align: center;"><img class="size-full wp-image-37" title="hw-02" src="http://francescomalatesta.net/wp-content/uploads/2009/11/hw-02.jpg" alt="hw-02" width="284" height="317" /></p>
<ul>
<li>Cancellare il Form1:</li>
</ul>
<p>Il file Form1.cs viene creato automaticamente, alla creazione del progetto. <strong>A noi non serve</strong>, per cui provvediamo immediatamente a cancellarlo selezionando il file con il pulsante destro del mouse e cliccando su Elimina.</p>
<ul>
<li>Cancellare il codice dal file Program.cs</li>
</ul>
<p>Niente di più semplice, dovete cancellare il codice del file in questione e sostituirlo con il codice riportato <strong>qui di seguito</strong>.</p>
<p>&#8211; Inizio Codice &#8211;<br />
[code]]czo3Mjk6XCINCnVzaW5nIFN5c3RlbTsNCg0KdXNpbmcgU2RsRG90TmV0LkNvcmU7DQp1c2luZyBTZGxEb3ROZXQuR3JhcGhpY3M7DQp7WyYqJl19DQpuYW1lc3BhY2UgU2RsRG90TmV0RXhhbXBsZXMuU21hbGxEZW1vcw0Kew0KDQogICAgcHVibGljIGNsYXNzIEhlbGxvV29ybGQNCntbJiomXX0gICAgew0KICAgICAgICBbU1RBVGhyZWFkXQ0KICAgICAgICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpDQogICAgICAgIHsNCiAge1smKiZdfSAgICAgICAgICBIZWxsb1dvcmxkIGFwcCA9IG5ldyBIZWxsb1dvcmxkKCk7DQogICAgICAgICAgICBhcHAuR28oKTsNCiAgICAgICB7WyYqJl19IH0NCg0KICAgICAgICBwdWJsaWMgSGVsbG9Xb3JsZCgpDQogICAgICAgIHsNCiAgICAgICAgICAgIFZpZGVvLlNldFZpZGVvTW9kZXtbJiomXX0oNDAwLCAzMDApOw0KICAgICAgICAgICAgVmlkZW8uV2luZG93Q2FwdGlvbiA9IFwiSGVsbG8gV29ybGQhXCI7DQogICAgICAgIH0NCg17WyYqJl19CiAgICAgICAgcHVibGljIHZvaWQgR28oKQ0KICAgICAgICB7DQogICAgICAgICAgICBFdmVudHMuUXVpdCArPSBuZXcgRXZlbnRIYXtbJiomXX1uZGxlcjxRdWl0RXZlbnRBcmdzPih0aGlzLlF1aXQpOw0KICAgICAgICAgICAgRXZlbnRzLlJ1bigpOw0KICAgICAgICB9DQoNCiAge1smKiZdfSAgICAgIHByaXZhdGUgdm9pZCBRdWl0KG9iamVjdCBzZW5kZXIsIFF1aXRFdmVudEFyZ3MgZSkNCiAgICAgICAgew0KICAgICAgICB7WyYqJl19ICAgIEV2ZW50cy5RdWl0QXBwbGljYXRpb24oKTsNCiAgICAgICAgfQ0KICAgIH0NCn0NClwiO3tbJiomXX0=[[/code]<br />
Fatto questo, non vi rimane che salvare il progetto e <strong>premere F5 per avviare la nostra prima applicazione</strong> con SDL.NET! Lo so, non è niente di eccitante.</p>
<p>Se invece il programma vi da degli errori, beh... <strong>vi ricordate cosa ho detto nell'articolo precedente, riguardo le dipendenze</strong>? Dovete avere il <em>file SDL.dll nella stessa cartella del vostro file eseguibile</em>, oltre alle librerie fornite con il package di installazione. Guardate l'immagine di seguito, in modo da capire quali sono i file da includere nella cartella:</p>
<p style="text-align: center;"><img class="size-full wp-image-40" title="hw-03" src="http://francescomalatesta.net/wp-content/uploads/2009/11/hw-03.jpg" alt="hw-03" width="263" height="347" /></p>
<p>Un consiglio: come potete vedere in questa cartella vi sono un infinità di files: se volete, provate a togliere quelli che secondo voi non servono e fate tanti test. In questo modo potrete capire quali sono le dipendenze necessarie per ogni caso. Se invece volete andare sul sicuro, lasciate tutti i files nella cartella e non vi preoccupate <img src='http://francescomalatesta.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Prima di proseguire, <strong>spieghiamo un po quello che abbiamo fatto</strong>:</p>
<p>Tramite le direttive <strong>using</strong> abbiamo incluso i namespace delle “sezioni” della libreria che ci servivano: nel nostro caso abbiamo incluso “Core”, ovvero la base essenziale, e “Graphics”, che come suggerisce il nome serve per la gestione degli aspetti grafici.</p>
<p><strong>Abbiamo creato quindi una piccola classe HelloWorld</strong> con i metodi essenziali alla creazione della nostra base: il costruttore HelloWorld, che si occupa di inizializzare il video ad una risoluzione di 400 x 300 e cambiare il titolo della finestra (WindowCaption) il metodo Go(), che assegna i vari EventHandler agli eventi previsti dalla libreria ed infine il metodo Quit, che regola l'uscita dal programma.</p>
<p>Spero mi perdonerete per questa mia sintetica spiegazione del codice: per ora è tutto quello che dovete sapere per darvi un'idea di base. Nelle prossime lezioni, tuttavia, spiegherò come capire <strong>il sistema degli eventi</strong> e sarete quindi in grado di comprendere e spiegare riga per riga tutto il codice di questo file.</p>
<p>Per ora, invece, è tutto!</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Ffrancescomalatesta.net%2F2009%2F11%2F14%2Fhello-world%2F&amp;linkname=Hello%20World%20%26%238211%3B%20Guida%20SDL.NET"><img src="http://francescomalatesta.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://francescomalatesta.net/2009/11/14/hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La Guida del Principiante ad SDL.NET &#8211; Guida SDL.NET</title>
		<link>http://francescomalatesta.net/2009/11/14/la-guida-del-principiante-ad-sdl-net-guida-sdl-net/</link>
		<comments>http://francescomalatesta.net/2009/11/14/la-guida-del-principiante-ad-sdl-net-guida-sdl-net/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 23:10:45 +0000</pubDate>
		<dc:creator>FrancescoMalatesta</dc:creator>
				<category><![CDATA[SDL.NET]]></category>
		<category><![CDATA[c sharp]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[giochi]]></category>
		<category><![CDATA[guida]]></category>
		<category><![CDATA[introduzione]]></category>
		<category><![CDATA[programmazione]]></category>

		<guid isPermaLink="false">http://francescomalatesta.net/?p=31</guid>
		<description><![CDATA[titolo originale: “The Absolute Newbie Guide to SDL.NET” Dunque, in questo primo articolo dedicato ad SDL.NET introdurremo qualche informazione relativa al suo funzionamento e qualche dato generico. SDL.NET offre l&#8217;accesso ad una libreria multimediale e multipiattaforma, che permette di gestire ad un livello abbastanza alto sia l&#8217;Audio, l&#8217;Input (mouse, tastiera, joystick), grafica 3D (tramite OpenGL) [...]]]></description>
			<content:encoded><![CDATA[<p><em>titolo originale: “The Absolute Newbie Guide to SDL.NET”</em></p>
<p style="text-align: center;"><em><img class="size-full wp-image-33" title="sdldotnet_128x128" src="http://francescomalatesta.net/wp-content/uploads/2009/11/sdldotnet_128x128.png" alt="sdldotnet_128x128" width="128" height="128" /><br />
</em></p>
<p>Dunque, in questo primo articolo dedicato ad SDL.NET introdurremo qualche informazione relativa al suo funzionamento e qualche dato generico. <strong>SDL.NET offre l&#8217;accesso ad una libreria multimediale e multipiattaforma</strong>, che permette di gestire ad un livello abbastanza alto sia l&#8217;Audio, l&#8217;Input (mouse, tastiera, joystick), grafica 3D (tramite OpenGL) e grafica 2D.</p>
<p>Attualmente, l&#8217;home page del progetto è <a href="http://cs-sdl.sourceforge.net/" target="_blank">http://cs-sdl.sourceforge.net/</a>, ed il maintainer al momento in cui scrivo è <strong>David “jendave” Hudson</strong>.</p>
<p>L&#8217;approccio delle API SDL.NET è molto simile al modello sul quale si basa un altro Wrapper, PyGame per il linguaggio di programmazione Python.</p>
<p><strong>Dati Assembly:</strong></p>
<ul>
<li>Nome: SdlDotNet.dll</li>
<li> Namespace: SdlDotNet</li>
</ul>
<p>Note Aggiuntive:</p>
<ul>
<li> Tao.Sdl contiene i binding di basso livello con le sei librerie C originarie (SDL, SDL_image, SDL_ttf, SDL_mixer, SDL_gfx, SMPEG)</li>
</ul>
<p><strong>Contenuti del file Zip:</strong></p>
<ul>
<li>/bin – Assembly;</li>
<li> /examples – Applicazioni demo basate su SDL.NET;</li>
<li> /lib – Dipendenze e librerie originali, il cui uso verrà spiegato successivamente;</li>
<li> /doc – files della documentazione in formato CHM e HTML;</li>
<li> /source – files di informazioni, file delle soluzioni/build;</li>
<li> /source/examples – codici sorgenti delle demo sopra trattate e fornite con il pacchetto;</li>
<li> /source/lib – dipendenze della libreria;</li>
<li> /source/src – codice sorgente di SDL.NET;</li>
<li> /source/setup – script di compilazione;</li>
<li> /soruce/tools – utility e loghi;</li>
<li> /source/tests – unit tests;</li>
</ul>
<p><strong>Dipendenze:</strong></p>
<p>Questi file sotto elencati <em>devono essere necessariamente nella cartella dove si trova l&#8217;eseguibile</em> (il file .exe) del vostro gioco. <strong>A volte non sono necessari tutti, ma solo quelli relativi alle funzioni da voi usate</strong>. Esempio pratico: nel vostro gioco non utilizzate filmati? Allora la libreria SMPEG non sarà un granchè utile nel pacchetto finale.</p>
<p>Comunque sia, ecco la lista dei files che dovrebbero essere inclusi nel percorso del vostro programma:</p>
<ul>
<li> SDL;</li>
<li> SDL_image;</li>
<li> SDL_mixer;</li>
<li> SDL_ttf;</li>
<li> SMPEG;</li>
<li> SDL_gfx;</li>
</ul>
<p>Inoltre saranno necessarie le librerie .NET “Tao.Sdl”.</p>
<p>Installazione del Pacchetto<br />
Per quanto riguarda l&#8217;installazione di SDL.NET <strong>in questa guida tratterò solamente la parte relativa a Windows</strong>, in quanto attualmente uso solo questo sistema operativo ed ho modo di fare qui le prove. Per quanto riguarda Linux e Mac troverete le vostre risposte (in inglese) su: <a href="http://cs-sdl.sourceforge.net/index.php/The_absolute_newbies_guide_to_SDL.NET" target="_blank">http://cs-sdl.sourceforge.net/index.php/The_absolute_newbies_guide_to_SDL.NET</a>.</p>
<p>Sotto Windows potremo installare le nostre librerie tramite 3 soluzioni diverse:</p>
<ol>
<li> Runtime Installer, per gli utenti che non intendono modificare il codice sorgente;</li>
<li> SDK Installer, per coloro che vogliono installare tutto il pacchetto completo di codice sorgente;</li>
<li> Archivio Zip, un&#8217; alternativa all&#8217;installer classico, utile per gestirsi i files come si vuole.</li>
</ol>
<p><strong>Con il Runtime Installer:</strong></p>
<p>Dalla pagina di download del progetto, selezionare la voce SdlDotNet-x.x.x-runtime-setup.exe, dove x.x.x è l&#8217;ultima versione del progetto disponibile. Una volta scaricato il pacchetto, basterà eseguire il doppio click sul file e seguire le istruzioni a schermo.</p>
<p><strong>Con l&#8217; SDK Installer:</strong></p>
<p>Dalla pagina di download del progetto, selezionare la voce SdlDotNet-x.x.x-sdk-setup.exe, dove x.x.x è l&#8217;ultima versione del progetto disponibile. Come per il caso precedente, cliccare due volte sul file appena scaricato e seguire le istruzioni. Per compilare i codici sorgenti basterà usare i files “build.bat”.</p>
<p><strong>Con l&#8217;Archivio Zip:</strong></p>
<p>Dalla pagina di download del progetto, scaricare il file SdlDotNet-x.x.x.zip. Copiare i file in /bin (SdlDotNet.dll e Tao.Sdl.dll) nella cartella della Global Assembly Cache (di solito è c:\winnt\assembly). Copiare i file in /bin/win32deps in una directory a tua scelta (di solito è consigliato C:\winnt\system32). Se si vuole compilare l&#8217;SDL.NET, eseguire il file build.bat.</p>
<p>Nei percorsi poco sopra, winnt potrebbe anche essere la cartella Windows per cui non fatevi disorientare dal nome.</p>
<p>Se non sono stati riscontrati problemi, è tutto regolare e il nostro SDK e bello ed installato! Ora dobbiamo solamente programmarci (solamente eh -.-&#8221;). Procediamo all&#8217;Hello World, forza e coraggio!</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Ffrancescomalatesta.net%2F2009%2F11%2F14%2Fla-guida-del-principiante-ad-sdl-net-guida-sdl-net%2F&amp;linkname=La%20Guida%20del%20Principiante%20ad%20SDL.NET%20%26%238211%3B%20Guida%20SDL.NET"><img src="http://francescomalatesta.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://francescomalatesta.net/2009/11/14/la-guida-del-principiante-ad-sdl-net-guida-sdl-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduzione &#8211; Guida SDL.NET</title>
		<link>http://francescomalatesta.net/2009/11/14/introduzione-guida-sdl-net/</link>
		<comments>http://francescomalatesta.net/2009/11/14/introduzione-guida-sdl-net/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 23:01:07 +0000</pubDate>
		<dc:creator>FrancescoMalatesta</dc:creator>
				<category><![CDATA[SDL.NET]]></category>
		<category><![CDATA[c sharp]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[net]]></category>
		<category><![CDATA[programmazione]]></category>
		<category><![CDATA[sdl]]></category>
		<category><![CDATA[videogiochi]]></category>

		<guid isPermaLink="false">http://francescomalatesta.net/?p=25</guid>
		<description><![CDATA[Ciao a tutti! Se vi trovate qui è perchè, in un modo o nell&#8217;altro, siete interessati alla programmazione di videogiochi. Ciò che analizzeremo è una libreria usata proprio per questo scopo: creare videogiochi. Una libreria, nella sua accezione informatica, è un insieme di funzioni di utilità più o meno comune che sono state appositamente create [...]]]></description>
			<content:encoded><![CDATA[<p>Ciao a tutti! Se vi trovate qui è perchè, in un modo o nell&#8217;altro, siete interessati alla <strong>programmazione di videogiochi</strong>. Ciò che analizzeremo è una libreria usata proprio per questo scopo: creare videogiochi.</p>
<p>Una libreria, nella sua accezione informatica, è un insieme di funzioni di utilità più o meno comune che sono state appositamente create per l&#8217;utilizzo in un programma. <strong>L&#8217;obiettivo principale di una libreria è risparmiare tempo</strong>. Una volta un mio professore disse che l&#8217;informatica è l&#8217;arte del riciclaggio. Nulla di più vero.</p>
<p style="text-align: center;"><img class="size-medium wp-image-26" title="computer_programming" src="http://francescomalatesta.net/wp-content/uploads/2009/11/computer_programming-300x225.jpg" alt="computer_programming" width="300" height="225" /></p>
<p>Una libreria serve proprio a questo: <strong>evitare di reinventare ogni volta la ruota</strong> diminuendo il lavoro del programmatore.</p>
<p>Chiarito questo concetto è necessario che io spieghi quello che voglio fare attraverso questa serie di guide ed articoli: il mio principale obiettivo è <strong>capire</strong> al meglio il funzionamento di questa libreria, <strong>tradurre</strong> i vari articoli presenti sul wiki e, così facendo, <strong>fornire un valido aiuto</strong> a tutti i programmatori italiani interessati a questa nicchia che, per un motivo o per un altro, non masticano bene l&#8217;inglese o vogliono vedere comunque un po di materiale nella loro lingua.</p>
<p>Proverò passo passo tutti i passaggi, sintetizzando dove necessario ma anche spiegando linea per linea dove essenziale. Così facendo sarà facile creare un piccolo progetto ed iniziare a buttare giù qualche idea, creando qualcosa di proprio.</p>
<p>Con questo smetto di parlare a vanvera e inizio a fare qualcosa di utile <img src='http://francescomalatesta.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Spero possa esservi d&#8217;aiuto!</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Ffrancescomalatesta.net%2F2009%2F11%2F14%2Fintroduzione-guida-sdl-net%2F&amp;linkname=Introduzione%20%26%238211%3B%20Guida%20SDL.NET"><img src="http://francescomalatesta.net/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a> </p>]]></content:encoded>
			<wfw:commentRss>http://francescomalatesta.net/2009/11/14/introduzione-guida-sdl-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
