Пользователей: 0
Гостей: 304
Всего: 304

» Подробно
» Сегодня


Привет, Гость!

Ник


Пароль


Запомнить?




» Добавить в избранное

» Сделать стартовой

Главная
Форум
Обзор игры
Мир Зоны
Файлы
Галерея
Разное



...


Форумы > Специализированные > Hard & Soft > Программирование на C# (C Sharp)

Страница 8 из 9Первая«56789 »
Быстрый переход:


 

Автор Сообщение
erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
16-04-2010 19:36 GMT3 часа #1227459   Split
singapur22
вот и я так же думаю. Но ведь как то можно грузить файлы на сервера... и метод вроде именно для этого. Разве что надо как то по другому задавать адрес ...


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
16-04-2010 19:51 GMT3 часа #1227477   Split
erlik Даже не представляю, как это делается. Полагаю, что возможно всё делается правильно. Только нужно учитывать, что почти все хостинги имеют методы защиты от автозагрузок. Возможно это результат их действия. А ты чё, решил в банеры податься?


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
16-04-2010 19:56 GMT3 часа #1227483   Split
singapur22
Да я просто хотел с веб приложениями разобраться - вот и пробую разные методы.
написал например почтовый клиент для отправки писем без захода на свой ящик - однако оказалось что мой провайдер заблокировал 25 порт SMTP сервера - и отправить нифига ниче не получилось - тоже блин защищаются от спамеров
хотел потом сделать автозагрузчик - чтобы не надо было каждый раз лазить на сайты файлообменников которыми я пользуюсь - а сразу их адреса ввести в форму для выбора например в комбобоксе и затем через диалоговое окно загружать файлы. Было бы удобно.
Однако и здесь засада..


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
16-04-2010 22:41 GMT3 часа #1227610   Split
erlik А ты как хотел? Естественно хостинги должны иметь в первую очередь защиту от спамеров. Иначе сам понимешь к чему может привести маленькая шалость простого пользователя, просто знающего как поставить автозагрузку на файлообменник

//////////////////////////////////////////////////////////////

Обалдеть. Столько времени вожусь с C#, и только щас узнал про различия форм операторов:

++x //префиксная операция увеличения (операция/назначение)

x++ //постфиксная операция увеличения (назначение/операция)

erlik Признайся, ты об этом знал!

Сообщение было успешно отредактировано singapur22 (16-04-2010 22:41 GMT3 часа, назад)

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
17-04-2010 00:41 GMT3 часа #1227837   Split
singapur22
вообще то действительно знал - просто в книге Шилдта это на 81 странице в главе про арифметические операторы. А Шилдта я уже дочитал до 600 стр - если не считать пропущенных глав про препроцессор и компоновочные файлы (правда ко многим главам приходится снова и снова возвращаться - доходит не сразу)


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
17-04-2010 20:13 GMT3 часа #1228372   Split
singapur22
Обнаружил одну странную вещь тестируя метод Union() из линк.
Для обычных последовательностей он работает на ура - то есть хоть числа хоть строки - он четко выбирает из двух последовательностей все элементы из обоих без своих копий если они есть в одной и другой и копирует без повторов в новую последовательность.

Однако при тесте на именах файлов которые принадлежат разным папкам - не работает.
как то выходит что для него одноименные файлы из разных папок это разные строки.

Причем я пользовался методом который возвращает только имя и расширение файла
Код:
DirectoryInfo dir = new DirectoryInfo(@"D:\test2");
        FileInfo[] files = dir.GetFiles();
        DirectoryInfo dir2 = new DirectoryInfo(@"D:\test3");
        FileInfo[] files2 = dir2.GetFiles();

если пользоваться
Код:
string[] subdir = Directory.GetFiles(@"D:\test2");
        string[] subdir2 = Directory.GetFiles(@"D:\test3");

то имеем полный путь до файла в строке типа D:\папка\файл.doc
и при сравнении строк D:\папка\name1.doc и C:\папка\name1.doc тут конечно само собой для него они будут разные. Хотя файлы то и одинаковые.

Но первый метод выводит только имя.расширение - без буквы диска и имени папки.
Однако и такие строки Union() (если одноименные файлы из разных папок) считает как различные и тоже их копирует в новую последовательность. Странно...
Пришлось идти обходным путем - сначала объединить два массива строк(с указанием полного пути),
а затем обрезать у файлов путь и расширение через for и метод System.IO.Path.GetFileNameWithoutExtension(путь)
(хотя можно и вручную обрезать - скажем только путь - оставив расширение).
И только потом прогнать через Union().

Вот интересно почему так выходит...


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
17-04-2010 21:33 GMT3 часа #1228468   Split
erlik Абсолютно без понятия.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
19-04-2010 00:08 GMT3 часа #1229624   Split
erlik Есть хорошая новость. Нашёл библиотеку Lua(Lua51.dll; LuaInterface.dll) для C#.

Скачать: _http://luaforge.net/frs/download.php/3968/LuaInterface_2.0.3.7z

Англоязычный мануал с примером вложения Lua в проект языка C#: _http://www.gamedev.net/reference/articles/article2275.asp



Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
19-04-2010 16:44 GMT3 часа #1229872   Split
singapur22
Это хорошая новость - а то на Киберфоруме вчера кто то задал вопрос есть ли скриптовые языки для C# и и все дружно промолчали. Значит и с lua можно работать. Это радует - так как lua забывать не хочется.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
19-04-2010 18:14 GMT3 часа #1229939   Split
erlik
Цитата
так как lua забывать не хочется
Вот именно. Осталось изучить поглубже библиотеку, и всё будет в ажуре


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
20-04-2010 13:18 GMT3 часа #1230574   Split
singapur22
Может ты уже встречал , но я тут вчера с удивлением для себя обнаружил что в шарпе помимо обычных числовых типов int, double, byte, float и т.д. есть еще int? ,double?, byte? ,float? и т.д. которые в отличие от первых способны принимать значения null
Даже не знаю для чего это может понадобится...

...Еще долго не мог понять то что выделено в коде зеленым
int [] s = {1,2,3,4,5,6,7,8,9};

var f = s.Where((p,i)=> (i&1)==1); // выбирает из таблицы только числа с нечетными индексами.
Потом все таки вспомнил про поразрядные операторы &, |, и ^ Но как это работает все равно не понимаю....


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
20-04-2010 17:23 GMT3 часа #1230720   Split
erlik
Цитата
int? ,double?, byte? ,float? и т.д. которые в отличие от первых способны принимать значения null
Да. Было дело, читал про них информацию. Но применять их пока нигде не приходилось.

Цитата
(i&1)
С подобными операторами у меня вообще туго. Предпочитаю работать со словами. Я и в lua то никогда не понимал все подобные кодировки распарсивания строк.

Кстати. При настройке lua в C#, пришлось углубиться в пространство имён System.Reflection. Является членом сборки mscorlib.
Ты с ним не работал?
Я понял так, что с помощью данного пространства имён можно подключить любой скриптовый (и не только) язык к проекту C#. Имеет довольно таки глубокий анализ для получения информации и управления атрибутами кода создаваемой программы.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
20-04-2010 17:42 GMT3 часа #1230734   Split
singapur22
про System.Reflection только слышал - собирался тоже как-нить поковырять его, но пока не дошло до этого. Разбираю пока linq по полной программе -даже книжку скачал про все линки - to object, to xml, to dataset и т.д.

Кстати понял почему у меня Union() не пашет при использовании FileInfo - оказывается когда объекты упаковываются в обертку какого-нить класса то при сравнении их на равенство сравниваются ссылки на объекты, а не сами объекты - и компаратор их определяет как неэквивалентные друг другу даже если значение одинаковое.
Вот пример:
Код:
FileInfo info = new FileInfo("файл.doc");
        FileInfo info2 = new FileInfo("файл.doc");

        string namefile = "файл.doc";
        string namefile2 = "файл.doc";

        Console.WriteLine("Равны ли файлы? {0} ", info == info2);  // здесь будет false
        Console.WriteLine("Равны ли файлы? {0} ", namefile == namefile2); // а здесь true

тоже самое будет если упаковать int в Object
то есть сравнение 3==3 будет true
а сравнение (Object)3==(Object)3 false


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
20-04-2010 18:42 GMT3 часа #1230780   Split
erlik
Цитата
Кстати понял почему у меня Union() не пашет при использовании FileInfo
Оно и понятно. Классовые объекты на прямую сравнивать нельзя. Для них существует специальный базовый метод:

obj1.Equals(obj2)

Возврашает true, если объекты obj1 и obj2 равны.

А то, что true возвращается при сравнении namefile == namefile2, то оно и понятно, так как данные переменные в твоём случае имеют строковые значения.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
20-04-2010 18:59 GMT3 часа #1230791   Split
singapur22
ну дак я о чем - метод Directory.GetFiles() возвращает массив имен файлов в виде массива строк, а метод
DirectoryInfo в виде массива объектов класса FileInfo. Только я этому поначалу никакого значения не придавал - думал ну FileInfo и что с того - такой же массив - обход делается как и прочие.
А Equals (в линк такой же метод есть для сравнения) для объединения массивов не годится - ну по крайней мере не знаю как его применить в линк запросе для моего случая. А делать через for - значит отказаться от компактности linq.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
20-04-2010 19:23 GMT3 часа #1230804   Split
erlik Не понял. И что именно тебе мешает его применить. Почему нельзя просто заменить:

obj1 == obj2

на

obj1.Equals(obj2)

?


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
20-04-2010 19:31 GMT3 часа #1230809   Split
singapur22
var fn2 = files.Union(files2); // объединяет элементы массивов (или точнее последовательности) без копий - если конечно сравниваются не объекты.
files и files2 это массивы объектов класса FileInfo содержащие относительные имена файлов
здесь никак нельзя применить компаратор (хотя дефолтный, хоть свой) для сравнения без преобразования(распаковки) объектов из оболочки класса. А FileInfo преобразовываться в string не желает as string [] не работает.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
20-04-2010 19:43 GMT3 часа #1230821   Split
erlik Понятно. Тогда остаётся только foreach(), или не допускать загрузку одного и того же файла в разные объекты, без веской на то причины.
Вообще, при работе с содержимым объектов, когда сам объект не имеет особого значения, а нужно только его содержимое, предпочтительно использовать Content.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
20-04-2010 20:03 GMT3 часа #1230844   Split
singapur22
да тут я обошелся указанным в посте #1228372 способом.
просто когда допер почему сравнения не получалось при получения имен файлов через FileInfo - думал может как то конвертнуть объекты класса FileInfo в string можно... но не нашел как.
хотя в книжке по линк видел самодельный метод конвертации последовательности объектов одного типа в последовательность объектов другого типа.
Но не знаю применим ли он - не разбирал его еще.

кстати files.Equals(files2) для объектов FileInfo все равно false выдает
а если
Object obj = 1; Object obj2 = 1;
obj.Equals(obj2) то все верно - true


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
20-04-2010 20:31 GMT3 часа #1230858   Split
erlik А как же метод:

obj.ToString();

?

Пытаюсь разобраться с обращением к методам в C#, из lua файла.
Вроде с прямым обращением разобрался. Ну, не настолько конечно он прямой, но всётаки результат есть. А вот как бы мне востановить принцип обращения к методам, как в Сталкере? Типа alife():create(...), и тому подобные. Как вообще производятся подобные обращения? Я так полагаю, что alife(), это такой же метод, но просто через него производится обращение к методам другого класса. Вот в это я както не могу вникнуть.

Сообщение было успешно отредактировано singapur22 (20-04-2010 20:31 GMT3 часа, назад)

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
20-04-2010 20:47 GMT3 часа #1230895   Split
singapur22
Ты тоже гений - я к этой же мысли пришел.

В итоге
var fn2 = Convert(files).Union(Convert(files2));

а вот метод
Код:
    public string[] Convert(FileInfo [] mass)
    {
        string[] m = new string[mass.Length];
        for (int i = 0; i < mass.Length; i++)
        {
            m[i] = mass[i].ToString();
        }
        return m;
    }



alife():create(...) насколько я понимаю здесь используется луашная нотация обращения к методам классам через двоеточие. То есть один метод класса вызывает другой и т.д. В шарпе ведь также - только через точку.
А через точку в сталкере видимо обращаются к свойствам класса - как в шарпе.
...Я тоже об этой теме как то думал - но не особо пока въехал - тут ведь надо вспоминать как в луа классы создаются.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
21-04-2010 11:53 GMT3 часа #1230935   Split
erlik В принципе, я немного понял. Нужно было просто проанализировать файл lua_help.script. Построение здесь думаю такое:


1. методы namespace //производят обращение к базовым методам базовых классов разных пространств имён
2. методы class //методы обращения к базовым методам разных классов
3. методы void //собственно прямое обращение к методам
4. property //собственно прямое обращение к свойствам классовых переменных {get;set;}

и т. д.

Конструкции обращения будут подобных видов:

namespace():class():void() //обращение к методу

namespace():class() //создание нового объекта определённого класса

namespace():class().property //обращение к свойству определённой переменной, определённого класса.

и т. д.

Как реганить и вызывать методы и свойства из основного класса, в котором производится регистрация этих методов и свойств, я разобрался. Всё довольно просто, и обращение выглядит так:

Name()

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

Мда. Сложновато будет . Но я думаю мы это осилим. Будем разбираться дальше.

//---------------------------------------------------------------------------

Ура!!! Есть результат. Фактически, регистрировать каждый нужный метод, или свойство не требуется, если только они не являются элементами статического класса. Достаточно создать и зареганить метод возвращающий объект нужного класса. Далее обращение к методам и переменным возвращаемого объекта происходит стандартным способом, используемым в Lua Сталкера.


Получается, что в Сталкере, например тот же метод alife() возвращает объект мира игры, и все связанные с ним методы и свойства фактическую регистрацию в lua не проходят, так как это не к чему. Метод alife(), это получается некий мост между кодом lua и объектом в C#.

Сообщение было успешно отредактировано singapur22 (21-04-2010 11:53 GMT3 часа, назад)

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Cos
[20] Сталкер
Онлайн статус=0  Профиль    




Посты: 2692
Откуда:
Занятие:
Возраст:

20-04-2010 23:51 GMT3 часа #1231113   Split
singapur22 erlik
Цитата
Потом все таки вспомнил про поразрядные операторы &, |, и ^ Но как это работает все равно не понимаю....

Никакого ООП, одна булева математика .

&& / bitand - логическое "и". Только 1 и 1 дают 1.
if (a && b) ... //Правда только если a и b (оба) отличны от нуля.

& / and - побитове лог. "и" - аналогично, только может быть применимо к любому отдельному биту в переменной.
if(a & 0x01) ... //Правда только если бит 0 в a не равне нулю.

|| / or - логическое "или". Только 0 и 0 дают 0.
if(a || b) ... //Правда только если a либо b отличны от нуля. Т.е.
1 || 1 = 1,
1 || 0 = 1,
0 || 1 = 1
и только 0 || 0 = 0.

| / bitor - побитовое лог. "или". Аналогично как в примере с && и &.

^ / xor - побитовое лог. "исключающее или". c = a ^ b // c = 1 только если a != b, Т.е.
0 ^ 0 = 0
1 ^ 0 = 1
0 ^ 1 = 1
1 ^ 1 = 0

a = a ^ 0x01 // Изменить значение нулевого бита a в противоположное, (toggle).

Далее, помимо лог. операций как наследие от ASM'а и C/C++ есть операторы сдвига "<<", ">>" - нужны для сдвига битов в переменных.


singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
21-04-2010 16:55 GMT3 часа #1231147   Split
Cos В полном курсе. Я перепутал математические и логические операторы с парсерами строк в lua.

//---------------------------------------------------------

Вооо! Вот и разобрались с DirectX. Оказалось не настолько сложно, как кажется поначалу. По крайней мере, создание трёхмерной графики без использования уже настроенных библиотек Media3D, или из разряда XNA, мы всё таки осилили. Поехали дальше.

Так глядишь и мечта связанная с разработкой собственного 3D движка окажется реально-осуществимой.

Сообщение было успешно отредактировано singapur22 (21-04-2010 16:55 GMT3 часа, назад)

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
22-04-2010 22:54 GMT3 часа #1232329   Split
При разборе DirectX.DirectSound на 3D проектировании (DirectSound3D), столкнулся с проблемой, связанной с установкой звукового эффекта дистанции (уменьшение величины громкости звучания, с увеличение расстояния между слушателем и источником звука). А проблема заключается в том, что при установке максимальной дистанции, ключ минимальной громкости звучания остаётся в дефолтовом состоянии (примерно 1000 метров). Тоесть, получаю такой эффект, что чем меньше величина максимальной дистанции, тем выше величина минимальной громкости звучания. Чтобы точнее понять, что я имею ввиду, набросал небольшой график:

_http://photo.sibnet.ru/upload/imgbig/127195384420.jpg

Как видно из графика, ключ минимальной дистанции изменяет кривую, в то время как, ключ максимальной дистанции следует вдоль кривой, а минимальная громкость как была на 1000 метров, так там и остаётся. Следовательно полагаю, что где-то должен быть ключ установки дистанции на минимально-допустимую громкость. Вот только где? Никак не могу найти. Может кто с этим уже связывался, и в курсе, как с этим бороться?

Если не трудно, ответьте хотя бы в каком направлении искать решение.

Сообщение было успешно отредактировано singapur22 (22-04-2010 22:54 GMT3 часа, назад)

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
23-04-2010 15:03 GMT3 часа #1232634   Split
singapur22
Ну ты нашел конечно что спросить в DirectX лично я вообще ничего не смыслю. Я же OpenGL начинал изучать - да к тому ж пока забросил(3D графику решил на потом оставить) .
Ты бы к примеру на cyberforum.ru сходил - там куча разделов - в том числе и по графике и играм отдельный раздел - есть много разбросанных по топикам тем-вопросов по DirectX (чтобы найти нужную можно делать поиск тем по ключевым словам) - в общем там более вероятней что-нить нарыть.

добавлено спустя 2 минут

кстати по DirectSound и звуку вообще там 31 тема - только что через поиск посмотрел.

Сообщение было успешно отредактировано erlik (23-04-2010 15:03 GMT3 часа, назад)

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
23-04-2010 16:30 GMT3 часа #1232683   Split
erlik OpenGL --это пережитки истории. С выходом девятого DirectX, он стал неприемлем при написании программ (игр) для Windows. Используй DirectX 9.0, или выше, если вдруг вернёшься к данному вопросу. А вернуться рано, или поздно придётся. Так как это самый оптимальный вариант обращения с аудио и видео картами.

Например, создание своего медиаплеера в обход WMPleyer. Точнее через (Microsoft.DirectX.AudioVideoPlayback). Или создание графического устройства (2D/3D) на самом низком уровне, который возможен в C# и других самостаятельных (не низкоуровневых) языках.

Хотя вопрос между OpenGL и DirectX остаётся горячим уже несколько лет, всётаки предпочтительней использовать DirectX, так как имеет более расширеный круг возможностей, и гораздо больше перспектив на будущее.


По киберфоруму пробегался. Ничего полезного не нашёл. Там в основном все темы основаны на общем описании (что можно почитать и на других форумах), и написании программ (не игр), типа работы со звуками снятыми с микрофона.
Пробегался по многим форумам, и оставил свой вопрос почти во всех. Ответа пока так и не получил.

Сообщение было успешно отредактировано singapur22 (23-04-2010 16:30 GMT3 часа, назад)

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2338
Откуда: Набережные Челны
Занятие: В чем сила, брат? В AutoIT3 и WinAPI.
Возраст: 47

18-03-2015
23-04-2010 16:43 GMT3 часа #1232705   Split
singapur22
не буду спорить - однако DirectX 9.0 вышел еще в 2003 году - с тех пор почему то никто не перестал писать игры на OpenGL - а в марте 2010 вышел OpenGL 4.0
OpenGL как кросс-платформенный программный интерфейс независимый от конкретного языка программирования останется популярным пока Майкрософт не станет абсолютным монополистом.
Так что мнения что лучше, что хуже - это всего следствие обычной войны форматов.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
[10] Житель
Онлайн статус=0  Профиль    




Посты: 2089
Откуда: Рубцовск
Занятие: Проект "Мобила модмейкера"
Возраст: 44

13-08-2011
23-04-2010 17:16 GMT3 часа #1232739   Split
erlik OpenGL vs. DirectX, это тема, требующая отдельной реализации. Поэтому не будем оффтопить. Пусть каждый использует тот мост к видео-аудио картам, который ему больше подходит. Я предпочёл DirectX, так как он гораздо лучше заточен под Windows, и никакие коврижки меня не заставят перейти на OpenGL.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Darien Fx
[1] Странник
Онлайн статус=0  Профиль    




Посты: 1372
Откуда:
Занятие:
Возраст: 30

03-05-2010 15:25 GMT3 часа #1240060   Split
Немного не по теме, извиняйте. Где можно изменить горячие клавиши? А то закомментаривать непривычно...




Форумы > Специализированные > Hard & Soft > Программирование на C# (C Sharp)

Страница 8 из 9Первая«56789 »





???????@Mail.ru Rambler's Top100
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.

Использование материалов сайта возможно с разрешения администрации. Все права защищены. © 2004–2024 «Stalker-Portal.ru»