Definitley Flash через Java для в браузере.Silverlight тоже приличный.Не ожидайте, что Flash или Silverlight будут работать так же хорошо, как XNA, поскольку XNA использует графический процессор с программируемыми шейдерами и т. Д.
Я рекомендую использовать FlashDevelop, если вы не хотите платить за какие-либо инструменты.
Игры в реальном времени во Flash используют цикл.Есть два способа достижения этого.Первый - создать объект Timer и создать для него слушателя.Во-вторых, прослушивание события ENTER_FRAME (которое зависит от установленной вами частоты кадров).Я лично использую второй способ сделать это.Поскольку вы не можете гарантировать частоту кадров, так как рекомендуется корректировать значения с помощью дельты времени.
Самое лучшее во Flash - это множество зрелых движков, здесь я остановлюсь только на 2D.
- Для физики Box2D - это путь, это порт движка C ++ Box2D.Очень мощный.
- Для ввода с клавиатуры захватите этот класс: KeyPoll
- В зависимости от типа игры, игровой движок as3 fixel может быть полезен
Что касается рендеринга, самый простой способ - использовать спрайты и видеоролики.Вы можете рисовать программно, или, если вы используете Adobe Flash Pro, вы можете рисовать их вручную.Альтернативный способ рендеринга - создать растровый объект и нарисовать на нем пиксели.
Думаю, стоило бы вложить деньги в хорошую книгу.Для изучения ActionScript3.0 каждый рекомендует Essential ActionScript 3.0 от Colin Mook.
Для разработки игр: Foundation ActionScript 3.0 Анимация: заставляет вещи двигаться! и AdvancEDАнимация ActionScript 3.0 от Keith Peters великолепна.Вы можете найти его блог по адресу Бит-101
И, наконец, довольно новая книга Основное руководство по Flash-играм выглядит великолепно, но я не читалэто еще.
Также, если вы будете искать в стеке поток, вы найдете похожие вопросы об изучении AS3 со ссылками на онлайн-ресурсы.