Pregunta

Mi objetivo es obtener una mejor comprensión de las características de C #, y ser más cómoda la creación de aplicaciones sencillas. Soy bastante competente con Flash (ActionScript 3), y encontré un viejo juego de Tic-Tac-Toe que había escrito. Empecé pensando en portar este código en una aplicación C #. Sin saber mucho acerca de C #, me pregunto cuán difícil sería la migración.

Por un lado, la lógica del juego subyacente es sintácticamente similares, y por lo tanto sería fácil de portar.

Sin embargo, en lo que se refiere a los gráficos, yo no sé ni por dónde empezar. Hasta ahora, sólo he yo expuestas a las formas de Windows y la consola de aplicaciones en C #.

Me pregunto si estos conceptos Flash tienen análogos similares en C #, o si los procedimientos y la sintaxis son radicalmente diferentes:

  • La colocación de los elementos gráficos en un escenario
  • Rendering líneas de coordenadas de inicio / final
  • Los detectores de eventos en clips de película
  • Intercambio de la imagen dentro de un elemento gráfico (o, en mi versión Flash, nextFrame () en un clip de película)
¿Fue útil?

Solución

Es posible que desee probar desarrollando su pequeño juego usando Silverlight. aplicaciones Silverlight, codificados usando C # y XAML, son bastante similares en forma con aplicaciones flash, y usted debe encontrar todo lo que necesita sin problemas.

Así que sugiero que descargar el SDK de Silverlight (libre) y darle una oportunidad.

Otros consejos

En primer lugar, Flash es WPF (lo suficientemente cerca) como ActionScript es C #.

El modelo WPF / Silverlight es mucho más similar a la flexión que es a Flash. Todo se añade al árbol de UI como un objeto, incluso las líneas.

Del mismo modo, la adición de controladores de eventos a los controles (como un clic de botón) se puede hacer en el "detrás de código" (el código que vive con la vista), pero la recomendación es usar el patrón MVVM. Si eres nuevo en los conceptos de separación de las preocupaciones y las pruebas unitarias, no dude en comenzar con el "código detrás" más simple método.

Mientras WPF y Silverlight son muy similares, yo recomiendo empezar con Silverlight como el SDK y muestras disponibles son más ricos. Puede mover fácilmente en WPF más adelante (aunque portar una aplicación de Silverlight para WPF no es automática).

El intercambio de imágenes, como usted ha mencionado, se llevaría a cabo a través de "Visual Unidos" en Silverlight (o posiblemente el cambio de la imagen de referencia, que es más "hacky").

Tener un vistazo a los siguientes enlaces para empezar:

Si usted está buscando específicamente para hacer juegos y similares, es posible que desee buscar en el marco de XNA libre. Sin embargo, habrá diferencias como Flash le da mucha más capacidad de "crear" cosas de antemano y modificarlos.

  • La colocación de los elementos gráficos en un escenario

      

    Si vas a la ruta XNA, le dibujo sprites mediante el SpriteBatch, se les dice dónde y cómo dibujar y ahí es donde van a ir

  • Rendering líneas de coordenadas de inicio / final

      

    En las formas de Windows Puede hacerlo a través de una simple llamada System.Drawing, sin embargo si usted desea hacer esto en XNA, usted tendrá que hacer un cuadrado de 1 pixel y estiramiento / girarlo a lo que quiere, o el uso primitivas 3D (aunque esto se limitará a una línea de 1 píxel)

  • Los detectores de eventos en clips de película

      

    Mira en delegados, pero en realidad no hay un equivalente para clips de película que yo sepa

  • Intercambio de la imagen dentro de un elemento gráfico (o, en mi versión Flash, nextFrame () en un clip de película)

      

    Esto es bastante simple, dependiendo de a qué se refiere. Si desea, por ejemplo, animar un sprite. Usted puede hacer esto mediante el movimiento del rectángulo de origen o el cambio de la textura de la spritesheet. Si se refiere a la pantalla en su conjunto, esto es sobre todo manejado para usted siempre utiliza el SpriteBatch. En formas de las ventanas que tendrá que hacer más de lo mismo, pero los conceptos básicos son los mismos.

En general, no es tan malo, pero si eso no suena atractiva la salida Silverlight. Se trata básicamente de C # de estilo de destello lo que es posible la transición más fácil.

Buena suerte y espero que esto ayude.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top