Действительно ли Silverlight 2.0 является жизнеспособной платформой разработки игр?

1111 Это не то, как должно работать наследование классов. Вы хотите наследовать что-то, только если дочерний класс собирается использовать достаточное количество атрибутов / методов в родительском классе. Если дочерний класс имеет заметно отличающуюся структуру, он должен быть собственным классом.

В любом случае, как упомянуто @jasonharper, в какой-то момент вам нужно будет указать направление, к которому относится экземпляр Variable, к какому экземпляру Model, так что вы, скорее всего, получите что-то вроде этого:

varA = Variable(mdl, ...)
# or this
mdl.varA = Variable(...)

При первом способе вы сохранили бы метод в своем классе Variable:

class Foo:
    def __init__(self):
        self.vars = []

class Bar:
    def __init__(self, foo_instance, **kwargs):
        foo_instance.vars.append(self)

f = Foo()
b = Bar(f, hello='hey')
f.vars
# [<__main__.Bar object at 0x03F6B4B0>]

Со вторым способом вы можете добавить Variable экземпляров в list каждый раз, когда он добавляется:

class Foo:
    def __init__(self):
        self.vars = []
    def __setattr__(self, name, val):
        self.__dict__.update({name: val})
        if not name == 'vars':  # to prevent a recursive loop
            self.vars.append(val)

f = Foo()
f.vars
# []

f.a = 'bar'
f.vars
# ['bar']

Конечно, проще было бы просто смотреть прямо в __dict__ каждый раз, когда вы хотите vars: [1115 ]

class Bar:
    @property
    def vars(self):
        # Or you can return .items() if you want both the name and the value
        return list(self.__dict__.values())

b = Bar()
b.a = 'hello'
b.vars
# ['hello']

Оба они будут работать одинаково, даже если вы присвоили атрибуты своим собственным экземплярам класса.

9
задан pearcewg 13 December 2008 в 15:12
поделиться

5 ответов

Silverlight является очень жизнеспособной платформой для 2D веб-Игр.

Я создал Дайвера с ним, и впечатление разработки было очень приятно. Я близко к выпуску моей второй игры, и на этот раз опыт dev был еще лучше, потому что инструменты были вне беты.

Единственный недостаток, который я вижу прямо сейчас, является отсутствием поддержки веб-игровыми порталами и сайтами для хранения дохода от рекламы как MochiAds

Без поддержки со стороны подобных сайтов будут немного ограничены Ваши опции делать деньги от Ваших игр. Ваш наилучший вариант для делания денег прямо сейчас состоит в том, чтобы разместить Ваши игры на Вашем собственном сайте с учетной записью Google adSense.

Я ожидаю, что порталы веб-игры и другие сервисы веб-игры добавят поддержку Silverlight, после того как плагин становится более повсеместным, и мы достигаем переломного момента в количестве игр Silverlight и разработчиков игр.

Мой совет: переход - в! Чем большего количества людей разработка игры Silverliht, тем более быстрый мы достигнем этот переломный момент.

6
ответ дан 4 December 2019 в 13:50
поделиться

Так как Silverlight 2 испытывает недостаток в 3D поддержке, или исказите, преобразовывает или растровое управление, Вы в значительной степени ограничены 2D играми спрайта, но Вы могли сделать хорошую случайную игру или даже основанную на физике игру с помощью Механизма Физики Farseer или чего-то подобного. Игра LineRider была портирована от Flash до Silverlight по причинам производительности, начиная с выполнения платформы .NET в браузере может дать Вам увеличение производительности по Flash. Таким образом, если Ваша игра в вычислительном отношении интенсивна, это могла бы быть правильная платформа для Вас теперь.

С некоторой 3D поддержкой, аппаратным ускорением и растровым управлением, происходящим в Silverlight 3, я думаю, что это затем будет очень востребованная веб-игровая платформа.

Даже без этих функций, Innoveware сделал очень впечатляющий порт Quake к Silverlight, Вы видите его здесь:

http://www.innoveware.com/quakelight.html

Автор использует некоторые взломы, чтобы сделать растеризацию строки развертки к битовому массиву для его дисплея, это станет намного легче в Silverlight 3.

6
ответ дан 4 December 2019 в 13:50
поделиться

я думаю, что основной проблемой с Silverlight сегодня является свое очень низкое проникновение браузера по сравнению с Flash. Даже FlashPlayer 10, который отсутствовал меньше 6 месяцев, превосходит принятие Silverlight. Существуют все основания полагать, что это могло изменяться со временем, особенно на платформах Windows, и конечно потому что армия программистов.NET является солидной. Но прямо сейчас Ваша игра была бы в зависимости от пользователей, соглашающихся устанавливать загрузку - что-то, что это не всегда легко. Принимая во внимание, что, если они были к YouTube, скажем, затем, они собираются иметь Flash.

0
ответ дан 4 December 2019 в 13:50
поделиться

Ну, Silverlight может использоваться для разработки игр, точно так же, как Java может использоваться.

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

И почему бы не использовать его так или иначе? Это было вокруг в течение многих лет, Вы, вероятно, сможете получить много кода кода, который можно просто использовать, и это ДОКАЗАНО как игровая платформа для сети.

Удача с Вашей разработкой игр. Это - большая забава :)

2
ответ дан 4 December 2019 в 13:50
поделиться

Можно сделать маленькую игру, Вы видите некоторую учебную игру здесь. Это имеет некоторый проект с открытым исходным кодом для 3-го механизма. Но я не делаю вещи, которая является основной целью Silverlight :)

1
ответ дан 4 December 2019 в 13:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: