Domanda

Il mio obiettivo è quello di ottenere una migliore comprensione delle caratteristiche di C #, e diventare più confortevole la creazione di applicazioni semplici. Io sono abbastanza competente con Flash (Actionscript 3), e ho trovato un vecchio gioco Tic-Tac-Toe che avevo scritto. Ho cominciato a pensare porting di questo codice in un'applicazione C #. Non sapendo molto su C #, mi chiedo quanto sia difficile la migrazione sarebbe.

Da un lato, la logica di gioco sottostante è sintatticamente simile, e quindi sarebbe facile da port.

Tuttavia, per quanto riguarda la grafica sono interessati, io non so nemmeno da dove cominciare. Finora, mi sono esposto solo per Windows Form e Console applicazioni in C #.

Mi chiedo se questi concetti Flash hanno analoghi simili in C #, o se le procedure e la sintassi sono radicalmente diversi:

  • Posizionamento di elementi grafici su un palco
  • Rendering linee da coordinate di inizio / fine
  • I listener di eventi su filmati
  • Scambiare l'immagine all'interno di un elemento grafico (o, nella mia versione Flash, nextFrame () in un clip filmato)
È stato utile?

Soluzione

Si potrebbe voler provare sviluppando il vostro piccolo gioco utilizzando Silverlight. applicazioni Silverlight, codificati utilizzando C # e XAML, sono piuttosto simili in forma con le applicazioni Flash, e si dovrebbe trovare tutto il necessario senza problemi.

Quindi vi consiglio di scaricare l'SDK di Silverlight (gratuito) e fare un tentativo.

Altri suggerimenti

In primo luogo, Flash è quello di WPF (abbastanza vicino) come ActionScript è quello di C #.

Il modello WPF / Silverlight è molto più simile a Flex che è a Flash. Tutto è aggiunto alla struttura dell'interfaccia utente come un oggetto, anche le linee.

Allo stesso modo, l'aggiunta di gestori di eventi ai controlli (come un clic del pulsante) può essere fatto in "codice dietro" (il codice che vive con la vista), ma la raccomandazione è di usare il modello MVVM. Se siete nuovi a concetti di separazione degli interessi e dei test di unità, sentitevi liberi di iniziare con il "code-behind" più semplice metodo.

Mentre WPF e Silverlight sono molto simili, io consiglierei di partire con Silverlight, come l'SDK e campioni disponibili sono più ricchi. Si può facilmente passare WPF in seguito (anche se il porting di un'applicazione da Silverlight per WPF non è automatica).

Lo scambio immagini, come lei ha ricordato, sarebbe stato fatto tramite "Visual Uniti" in Silverlight (o, eventualmente, cambiare l'immagine di riferimento, che è più "hacky").

Date un'occhiata ai seguenti link per iniziare:

Se stai cercando specificamente per fare giochi e simili, si potrebbe desiderare di esaminare il framework XNA libero. Tuttavia, ci saranno differenze come Flash ti dà molto di più la capacità di "set up" le cose in anticipo e modificarli.

  • Posizionamento di elementi grafici su un palco

      

    Se si va via XNA, sarete disegnando sprite utilizzando lo SpriteBatch, è dire loro dove e come disegnare e questo è dove andranno

  • Rendering linee da coordinate di inizio / fine

      

    In forme finestre si può fare questo tramite una semplice chiamata System.Drawing, se si desidera farlo in XNA, si sia necessario fare un quadrato di 1 pixel e stretch / ruotarlo per ciò che si vuole, o l'uso 3D primitive (Anche se questo limiterà a una linea di 1 pixel)

  • I listener di eventi su filmati

      

    Se vuoi nella delegati, ma in realtà non c'è un equivalente per filmati a mia conoscenza

  • Scambiare l'immagine all'interno di un elemento grafico (o, nella mia versione Flash, nextFrame () in un clip filmato)

      

    Questo è abbastanza semplice, a seconda di quello che vuoi dire. Se si desidera, ad esempio, animare uno sprite. È possibile farlo spostando il rettangolo di origine o la modifica della consistenza del spritesheet. Se vuoi dire lo schermo nel suo complesso, questo è per lo più gestito per voi se si utilizza lo SpriteBatch. In Windows forme dovrete fare di più di voi stessi, ma i concetti di base sono gli stessi.

Nel complesso non è poi così male, ma se questo non sembrare attraente check-out Silverlight. Si tratta fondamentalmente di C # lampo stile così si può trovare la transizione più facile.

In bocca al lupo e spero che questo aiuta.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top