Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 | 4 | 5 | 6 | 7 |

 

  Вопрос: Пилю игру мечты :) Добавлено: 03.02.13 11:29  

Автор вопроса:  Mikle

Ответить

  Ответы Всего ответов: 92  

Номер ответа: 46
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #46 Добавлено: 21.02.13 15:38
Mikle пишет:
Когда не хватало встроенных контролов - есть же WinAPI.

Есть функция WinAPI для диалога открытия файла. Но нет функции чтоб отобразить на форме нормальный грид. Или чтоб работать с FTP сервером. Или чтоб анализировать строку регулярными выражениями. Или парсить XML. Или....

Mikle пишет:
Не надо путать синтаксис с API. Да, для работы с файлами используется устаревшая конструкция "Open", есть ещё несколько устаревших псевдометодов - "Print", "Pset", "Line". Но это всего лишь устаревший синтаксис, а не функциональность.

Ты хочешь сказать, что синтаксис не поменялся, а функциональность поменялась? Вынужден тебя огорчить, функциональность там точно та же что и была в QB, и ограничена она теми же пятью методами, которые ты написал. Да, реализация в QB и VB отличается, но собственно кого волнует какая там реализация, если в 2013 году там нельзя написать File.ReadAllText("c:\1.txt";)?

Mikle пишет:
Нет, за счёт того, что в таком большом фреймворке до сих пор не нашлось места для 3D графики. Вот тут и приходится таскать за собой что-то левое.
На счёт того, что SharpDX можно не инсталлировать, я пока не нашёл подтверждения.

А что в VB6 нашлось место для 3D графики? Там и для 2D места-то не нашлось. И вообще в какой серьезной платформе общего назначения нашлось место для 3D графике в коробке?
Если зачем-то сильно хочется 3D графику из коробки .NET, то, как это ни странно, она там есть.
http://www.youtube.com/watch?v=GzrAS9SGj2k

Насчет SharpDX - я не собираюсь тебе искать какая-то подтверждения. Но тот факт, что он работает под Windows Phone 8 и Windows RT дает основания полагать, что инсталляции он не требует.

Mikle пишет:
Перечитай мой прошлый ответ, в отладчике это легко прерывается.

Не могу проверить правдивость этого высказывания.
А вот vito, похоже с тобой не согласен. Следовательно, мы как минимум приходим к выводу, что есть некоторые issue, связанный с отладчиком, и на его исправление можно не надеяться.

Mikle пишет:

В VB6 в Immediate Window мы имеем нечто вроде диалогового старинного бейсика. Предположим, мы отлавливаем трудновоспроизводимую ошибку, вот наконец мы поймали этот момент, прямо на паузе можно написать в Immediate Window что-то типа:

For i = 0 To UBound(Ar): Debug.Print i, Ar(i): Next i

И это выполнится! Так мы просмотрели содержимое массива Ar(), это мог бы быть не массив, а объект, мы просмотрели его свойства.

В .NET можно
1) Навести мышку на массив в окне редактора кода, и появится всплывающая подсказка, в которой можно просмотреть все его элементы
2) Забить этот массив в окно Watch и также просмотреть список его элементов
3) В окне Immediate написать ? myArray и все элементы по очереди выведутся в консоли
Все это так же справедливо и для свойств/полей.

Mikle пишет:
Нужно что-то большее, чем простой цикл - пожалуйста! Прямо в коде программы, ПРЯМО НА ПАУЗЕ пишем всё, что нам нужно в новую процедуру Sub и вызываем её прямо из Immediate Window. Можно заранее заготовить в проекте пустую форму для диагностики, и ПРЯМО НА ПАУЗЕ мы можем разместить в ней какой угодно код диагностики с визуализацией графиками, таблицами и т. п., а потом в Immediate Window просто написать:

Form2.Show

Так что я допускаю, что VB6 в каких-то аспектах отладки проигрывает Visual Studio .NET, но не "По всем остальным пунктам".

То, что в Visual Studio в immediate нельзя написать что угодно - объясняется тем, что VB.NET и C# это компилируемые языки, и интерпретировать их практически невозможно.
Но у меня есть хорошая новость - в дополнении к Visual Studio Roslyn появилась возможность выполнять C#/VB.NET в специально отведенной для этого консоли, как в режиме отладки, так и когда отладчик остановлен.
И там тоже можно написать

Form form = new Form();
Button button = new Button { Text="Click me"};
form.Controls.Add(button);
button.Click+= (o,e) => MessageBox.Show("Clicked";);
form.Show();

Но нужно и тебе быть до конца откровенным. Не любоe изменение кода в отладчике VB6 позволит продолжать выполнение программы. Можно сделать изменения, которые вступят в силу только после перезапуска. В .NET таких случаев будет гораздо больше чем в VB6

Ответить

Номер ответа: 47
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #47
Добавлено: 21.02.13 15:53
Вам полотенце принести?

Ответить

Номер ответа: 48
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #48
Добавлено: 21.02.13 15:53
Artyom ухты. Существуют реальные приложения с использованием трёхмерных окон?

Ответить

Номер ответа: 49
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #49 Добавлено: 21.02.13 15:57
Я уже редко что-то пишу под винду, но обычно если что и надо, то выбираю между vb6 и .net когда есть задача нормально работать с потоками. Т.е. если нужны потоки - однозначно .net
Ну а если потоки не нужны, простая форма пару кнопок - тогда можно и vb6 взять. Благо куча готовых cls/bas заготовок на все случаи жизни, масса оберток над WinAPI которые сильно упрощают жизнь. Чтобы вызвать диалог сохранения файла, я просто подключаю нужный bas файл (в который уже не заглядывал лет 5) и вызываю 1 функцию. Просто и это работает :)

Ответить

Номер ответа: 50
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #50 Добавлено: 21.02.13 15:59
> LamerOnLine
+1 :)

Очень странно наблюдать за тем, кто на полном серьёзе сравнивает продукты с 15 летней разницей.

Ответить

Номер ответа: 51
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #51 Добавлено: 21.02.13 16:15
Качнул демку которую выложил Mikle. Очень понравилось =)
На моем 4-ех летнем ноуте на энергосберегающем режиме работает очень шустро. (80-140 fps в углу). Сам с DX никогда не работал, всегда хотел узнать, как там дела с потоками обстоят? Т.е. все это крутится в одном потоке? А если нужно параллельно что-то вычислять? Или это все DX на себя берет?

А вообще, Mikle, раскрывай сорцы, отправляй в примеры на сайт. Я думаю многим будет интересно.
Что касается игры, я считаю, графика далеко не главное! Я например с удовольствием люблю иногда побегать в CS 1.6. Знаю людей который любят попрыгать в кваке. Просто игра должна быть продуманная и сделана с душей =)

Ответить

Номер ответа: 52
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #52 Добавлено: 21.02.13 17:02
Winand пишет:
Artyom ухты. Существуют реальные приложения с использованием трёхмерных окон?

А что двухмерные окна уже не удовлетворяют поставленную задачу? Я где-то видел, что возможности 3D используются как эффект при навигации между разделами приложения. Но в остальном все двухмерное.

Ответить

Номер ответа: 53
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #53 Добавлено: 21.02.13 17:06
User Unknown пишет:
Очень странно наблюдать за тем, кто на полном серьёзе сравнивает продукты с 15 летней разницей

Это не я начал. Я только написал, что программа на у меня не запускается, и тут как заверте...

Ответить

Номер ответа: 54
Автор ответа:
 Mikle



Вопросов: 5
Ответов: 134
 Профиль | | #54 Добавлено: 21.02.13 18:13
HACKER
Т.е. все это крутится в одном потоке? А если нужно параллельно что-то вычислять? Или это все DX на себя берет?

Упрощенно говоря, после отправки Direct3D нужных команд следуют команды EndScene и Present, только тогда запускается прорисовка 3D в фоновом режиме, в это время мы можем считать физику, опрашивать кравиатуру и т. п.
раскрывай сорцы

Я их не скрываю, просто недоделку не охота выкладывать, но вот моя предыдущая игра с сорцами:
http://tuapse-mikle.narod.ru/AoS2.zip
Artyom
Не буду подробно расписывать. Естественно, на паузе можно внести не любое изменение, а только то, которое не повлияет на логику работы остановленного фрагмента.
Естественно, в VB6 никто не включал встроенную работу с 3D, но он и не тащит с собой фреймворков, и прилепить ему 3D совсем не сложно, что я и сделал.

Ответить

Номер ответа: 55
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #55 Добавлено: 21.02.13 21:21
Mikle, я сейчас посмотрел, SharpDX лежит на nuget. Следовательно, он не требует инсталляции и скорее всего представляет собой набор DLL файлов
То есть, с приложением нужно будет поставлять эти dll. Либо же внедрить их в exe файл как ресурсы и при запуске программы загружать их из ресурсов в домен приложения, если наличие внешней dll просто никак не дает жить

Mikle пишет:
Естественно, в VB6 никто не включал встроенную работу с 3D, но он и не тащит с собой фреймворков, и прилепить ему 3D совсем не сложно, что я и сделал.

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

1) Управляемая обертка для DirectX встроена в .NET Framework, но выходит новая версия DirectX. Жизненный цикл у этих продуктов не синхронный, поэтому все придется ждать, пока выйдет новая версия .NET Framework?
2) Управляемая обертка написана под последнюю версию DirectX (11 или что там), а мне надо таргетинг на максимум 9 версию. Что делать, вести в библиотеке классов несколько разных веток API для разных версий DirectX?
3) Процент людей, пишущих игры на .NET не сравним с процентом людей, пишущих веб-сайты на .NET. Поэтому добавление какой-то элементарной фичи в ASP.NET MVC, типа Task-based асинхронных методов, даст на порядки больше профита чем разработка гораздо большей по объему управляемой обертки для DirectX

Востребованные задачи, связанные с графикой (конкретно - разработки UI для офисных приложений) в коробке .NET решены с большим запасом, так что мало кто в обиде.

Ответить

Номер ответа: 56
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #56 Добавлено: 22.02.13 13:30
UU, LOL, Winand и даже HAKER.. все,блин, повылазили на старый добрый холивар! :))) А значит в нем есть польза!
 Уже, наверное, лет 100 никто из вас не пишет на VB6.. однако,судя по всему, старые привычки трудно менять и все так и околачиваются тут :)))))

Ответить

Номер ответа: 57
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #57 Добавлено: 22.02.13 14:53
Оно как чемпионат Мира по онанизму - любопытно даже женатым.

Ответить

Номер ответа: 58
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #58 Добавлено: 22.02.13 16:09
>Уже, наверное, лет 100 никто из вас не пишет на VB6..

Угу, моя любовь сейчас ruby, хотя чаще имею дело с php :(

Ответить

Номер ответа: 59
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #59
Добавлено: 23.02.13 23:52
мне нужно было срочно написать диплом, а быстрее всего это было сделать на Django, что и заставило проникнуться соответствующимя языком. Считаю, что после бейсика на него легко перейти.
Artyom, интересно, в процентном отношении на asp.net много сайтов пишется?

Ответить

Номер ответа: 60
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #60 Добавлено: 24.02.13 13:49
Winand пишет:
Artyom, интересно, в процентном отношении на asp.net много сайтов пишется?

Я не думаю, кто есть официальная статистика на эту тему.

Можно предположить, что большая часть веб-приложений, которые пишутся на .NET - всевозможные корпоративные приложения, а не публичные веб-сайты

Ответить

Страница: 1 | 2 | 3 | 4 | 5 | 6 | 7 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам