Motor de juego 2D CocosSharpCocosSharp 2D Game Engine

CocosSharp es una biblioteca para crear juegos en 2D mediante C# y F#. Es un puerto .NET del motor Cocos2D popular.CocosSharp is a library for building 2D games using C# and F#. It is a .NET port of the popular Cocos2D engine.

Introducción a CocosSharpIntroduction to CocosSharp

El motor de juegos 2D de CocosSharp proporciona tecnología para crear juegos multiplataforma.The CocosSharp 2D game engine provides technology for making cross-platform games. Para obtener una lista completa de las plataformas compatibles, consulte el CocosSharp wiki de GitHub.For a full list of supported platforms see the CocosSharp wiki on GitHub. Use estas guías C# para obtener ejemplos de código, aunque es completamente funcional con CocosSharp F# también.These guides use C# for code samples, although CocosSharp is fully functional with F# as well.

El núcleo de CocosSharp proporcionado por el MonoGame framework, que es en sí mismo una multiplataforma, proporcionar gráficos, administración de Estados de juegos, audio, entrada y una canalización de contenido para la importación de los recursos de API de aceleración de hardware.The core of CocosSharp is provided by the MonoGame framework, which is itself a cross-platform, hardware accelerated API providing graphics, audio, game state management, input, and a content pipeline for importing assets. CocosSharp es una capa de abstracción eficaz idónea para juegos en 2D.CocosSharp is an efficient abstraction layer well suited for 2D games. Además, juegos de mayor tamaño pueden realizar sus propias optimizaciones fuera de sus bibliotecas de core a medida que crece juegos en complejidad.Furthermore, larger games can perform their own optimizations outside of their core libraries as games grows in complexity. En otras palabras, CocosSharp proporciona una combinación de facilidad de uso y rendimiento, permitiendo a los desarrolladores empezar a trabajar rápidamente sin limitar el tamaño del juego o complejidad.In other words, CocosSharp provides a mix of ease of use and performance, enabling developers to get started quickly without limiting game size or complexity.

Este práctico vídeo muestra cómo crear un CocosSharp multiplataforma simple juego:This hands-on video shows how to create a simple cross-platform CocosSharp game:

BouncingGameBouncingGame

BouncingGameBouncingGame

Esta guía describe BouncingGame, incluida la forma de trabajar con contenido de juegos, los diversos elementos visuales que se usa para crear un juego, agregar lógica de juego y mucho más.This guide describes BouncingGame, including how to work with game content, the various visual elements used to build a game, adding game logic, and more.

Juego Fruity corresponden a las fechasFruity Falls game

Juego Fruity captura de pantallaFruity Falls game screenshot

Esta guía describe el juego Fruity caídas, que abarcan CocosSharp comunes y conceptos de desarrollo de juegos, como diseño de juegos, administración de contenido, estado del juego y física.This guide describes the Fruity Falls game, covering common CocosSharp and game development concepts such as physics, content management, game state, and game design.

Juego de tiempo de monedaCoin Time game

Coin captura de pantalla de juego de tiempoCoin Time game screenshot

Tiempo de moneda es una completa plataforma de juego para iOS y Android.Coin Time is a full platformer game for iOS and Android. El objetivo del juego consiste en recopilar todos de monedas en un nivel y, a continuación, llegar a la puerta de salida al tiempo que evita los enemigos y obstáculos.The goal of the game is to collect all of the coins in a level and then reach the exit door while avoiding enemies and obstacles.

Dibujar geometría con CCDrawNodeDrawing geometry with CCDrawNode

Formas dibujadas con CCDrawNodeShapes drawn with CCDrawNode

CCDrawNode proporciona métodos para dibujar objetos simples como líneas, círculos y triángulos.CCDrawNode provides methods for drawing primitive objects such as lines, circles, and triangles.

Animación con CCActionAnimating with CCAction

Una animación con CCActionA CCAction animation

CCAction es una clase base que se puede usar para animar objetos CocosSharp.CCAction is a base class that can be used to animate CocosSharp objects. Esta guía explica integrado CCAction implementaciones para tareas comunes, como la posición, la escala y rotación.This guide covers built-in CCAction implementations for common tasks such as positioning, scaling, and rotating. También examina cómo crear implementaciones personalizadas heredando de CCAction.It also looks at how to create custom implementations by inheriting from CCAction.

Uso de Tiled con CocosSharpUsing Tiled with CocosSharp

Un nivel en un juegoA level in a game

Mosaico es una solución eficaz, flexible y asigna su aplicación es para la creación de icono ortogonal e isométrica para juegos.Tiled is a powerful, flexible, and mature application for creating orthogonal and isometric tile maps for games. CocosSharp proporciona integración incorporada para formato de archivo nativo del mosaico.CocosSharp provides built-in integration for Tiled’s native file format.

Entidades de CocosSharpEntities in CocosSharp

Una nave espacial de un juegoA spaceship from a game

El modelo de entidad es una manera eficaz para organizar el código de juego.The entity pattern is a powerful way to organize game code. Mejora la legibilidad, hace que el código sea más fácil de mantener y aprovecha la funcionalidad integrada de elementos primarios/secundarios.It improves readability, makes code easier to maintain, and leverages built-in parent/child functionality.

Control de varias resoluciones en CocosSharpHandling multiple resolutions in CocosSharp

Una cuadrícula que representa la resolución de pantallaA grid representing screen resolution

Esta guía muestra cómo trabajar con CocosSharp para desarrollar juegos que se muestren correctamente en los dispositivos de distintas resoluciones.This guide shows how to work with CocosSharp to develop games that display properly on devices of varying resolutions.

Canalización de contenido de CocosSharpCocosSharp Content Pipeline

XNBXNB

Las canalizaciones de contenido a menudo se usan en el desarrollo de juegos para optimizar el contenido y darle formato, que se puede cargar en determinado hardware o con determinados marcos de desarrollo de juegos.Content pipelines are often used in game development to optimize content and format it such that it can be loaded on certain hardware or with certain game development frameworks.

Mejorar la velocidad de fotogramas con CCSpriteSheetImproving frame rate with CCSpriteSheet

Un árbol de un CCSpriteSheetA tree from a CCSpriteSheet

CCSpriteSheet Proporciona funcionalidad para combinar y el uso de muchos archivos de imagen en una textura.CCSpriteSheet provides functionality for combining and using many image files in one texture. Reducir recuento de textura puede mejorar los tiempos de carga de un juego y velocidad de fotogramas.Reducing texture count can improve a game’s load times and framerate.

Textura de almacenamiento en caché mediante CCTextureCacheTexture caching using CCTextureCache

Una representación de cómo CocosSharp almacena en memoria caché de imágenesA representation of how CocosSharp caches images

De CocosSharp CCTextureCache clase proporciona una manera estándar para organizar y almacenar en caché para descargar contenido.CocosSharp’s CCTextureCache class provides a standard way to organize, cache, and unload content.

Matemáticas 2D con CocosSharp2D math with CocosSharp

Una imagen que se giranAn image being rotated

Esta guía trata las matemáticas 2D para el desarrollo de juegos.This guide covers 2D mathematics for game development. Usa CocosSharp para mostrar cómo realizar tareas comunes de desarrollo de juegos y explica las matemáticas detrás de estas tareas.It uses CocosSharp to show how to perform common game development tasks and explains the math behind these tasks.

Rendimiento y efectos visuales con CCRenderTexturePerformance and visual effects with CCRenderTexture

Un sprite desde un juegoA sprite from a game

La CCRenderTexture clase proporciona funcionalidad para representar varios objetos de CocosSharp a una textura única.The CCRenderTexture class provides functionality for rendering multiple CocosSharp objects to a single texture. Una vez creada, CCRenderTexture instancias pueden usarse para representar gráficos de forma eficaz y para implementar los efectos visuales.Once created, CCRenderTexture instances can be used to render graphics efficiently and to implement visual effects.