Вопрос

Моя цель состоит в том, чтобы получить лучшее понимание характеристик C # и становится более комфортной созданием простых приложений. Я довольно компетентен с Flash (ActionScript 3), и нашел старую игру Tic-Tac-Toe, которую я написал. Я начал задаваться вопросом о портировании этого кода в приложение C #. Не зная много о C #, мне интересно, насколько сложно будет миграция.

С одной стороны, основная игровая логика синтаксически аналогична, и поэтому будет легко в порту.

Однако, насколько касается графики, я даже не знаю, с чего начать. До сих пор я только разобрался в формате Windows Forms и консоли в C #.

Мне интересно, если эти концепции Flash имеют аналогичные аналоги в C #, или если процедуры и синтаксис радикально отличаются:

  • Размещение графических элементов на сцену
  • Рендеринг строк из начальных / координат
  • Прослушиватели событий на клипы
  • Поднимите изображение внутри графического элемента (или, в мою версию Flash, NextFrame () в кино-клипе)
Это было полезно?

Решение

Вы можете попробовать разработать вашу маленькую игру, используя Silverlight. Приложения Silverlight, кодированные с использованием C # и XAML, довольно похожи в форме с помощью Flash Applications, и вы должны найти все необходимое без проблем.

Поэтому я предлагаю вам загрузить Sizerlight SDK (бесплатно) и попробовать.

Другие советы

Во-первых, вспышка - это для WPF (достаточно близко), так как ActionScript - C #.

Модель WPF / Silverlight намного похоже на гибкость, что она прошивка. Все добавляется к дереву пользовательского интерфейса в качестве объекта, даже линии.

Аналогично, добавляя обработчики событий для элементов управления (например, кнопка Click) можно сделать в «коде позади» (код, который живет с видом), но рекомендация состоит в том, чтобы использовать шаблон MVVM. Если вы новичок в концепции разделения опасений и тестирования подразделения, не стесняйтесь начать с более простых «кода за» методом.

В то время как WPF и Silverlight очень похожи, я бы порекомендовал начать с Silverlight, поскольку SDK и доступные образцы богаты. Вы можете легко переместить на WPF позже (хотя портирование приложения из Silverlight к WPF не автоматически).

Ознакомьтесь с изображениями, как вы упомянули, будут сделаны через «визуальные состояния» в Silverlight (или, возможно, изменяющий ссылку на изображение, что более «Hacky»).

Посмотрите на следующие ссылки, чтобы начать:

Если вы смотрите специально для игры и тому подобное, вы можете посмотреть в бесплатную структуру XNA. Тем не менее, будут различия, поскольку Flash дает вам гораздо больше способностей «настроить» вещи заранее и изменить их.

  • Размещение графических элементов на сцену

    Если вы идете на маршрут XNA, вы будете рисовать спрайты, используя spritebatch, вы говорите им, где и как рисовать, и вот где они пойдут

  • Рендеринг строк из начальных / координат

    В формах Windows вы можете сделать это через простую систему. Вызов Windows. Однако, если вы хотите сделать это в XNA, вам также придется сделать квадрат 1 пикселя и растянуть / повернуть его к тому, что вы хотите или использовать 3D примитивы ( Хотя это ограничит вас с 1 пиксельной линией)

  • Прослушиватели событий на клипы

    Посмотрите в делегаты, но на самом деле нет эквивалента для клипов фильмов к своим знаниям

  • Поднимите изображение внутри графического элемента (или, в мою версию Flash, NextFrame () в кино-клипе)

    Это довольно просто, в зависимости от того, что вы имеете в виду. Если вы хотите, скажем, анимируйте спрайт. Вы можете сделать это, переместив исходный прямоугольник или изменение текстуры спрашивания. Если вы имеете в виду экран в целом, в основном это в основном обрабатывается для вас при условии, что вы используете SPRITEBATCH. В формах Windows вам придется делать больше о себе, но базовые концепции одинаковы.

В целом это не так уж плохо, но если это не звучит привлекательный, проверить Silverlight. Это в основном C # в стиле Flash, поэтому вы можете проще найти переход.

Удачи и надеюсь, что это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top