forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   С# (http://forum.boolean.name/forumdisplay.php?f=128)
-   -   Вопросы по XNA. (http://forum.boolean.name/showthread.php?t=16854)

wppt 11.01.2013 13:27

Ответ: Вопросы по XNA.
 
ну возми там какую-нибудь игру - саундтрек или картинки какие из нее просто так не выудишь - все это хранится в спец. файлах, которые "распаковываются" уже на этапах работы программы - вовремя загрузки, к примеру

pax 11.01.2013 13:45

Ответ: Вопросы по XNA.
 
Ну вот "спец архив" будет у тебя, из которого ты сможешь распаковывать когда захочешь. Назови его data.pak и все)

wppt 11.01.2013 15:18

Ответ: Вопросы по XNA.
 
Вот еще кое-что - как дела обстоят с декомпиляцией игр? У меня например, программа есть, она декомпилирует код в команды вирт. машины и преобразует их в обычный С#. Смотри, чего пожелаешь. Есть ли возможность усложнить декомпиляцию?

pax 11.01.2013 15:20

Ответ: Вопросы по XNA.
 
Смотри в сторону обфускаторов.

wppt 12.01.2013 13:45

Ответ: Вопросы по XNA.
 
а ты сам каким-нибудь пользуешься? Какой мог бы посоветовать?

pax 12.01.2013 13:50

Ответ: Вопросы по XNA.
 
Для Unity я пользуюсь платным, для С# пользовался Eazfuscator'ом, но он недавно стал платным. Чаще пользуюсь бесплатными фичами встроенного в студию Dotfuscator'а

wppt 13.01.2013 13:04

что-то не видел там встроенного обфуксатора.

Вот еще вопрос - почему так падает производительность при использовании SpriteBatch.Draw(...)?

Мне нужно отрисовать множество мелких частей одной текстуры, в соответствии с содержанием "карты". Вот, что я делаю

Код:

for (int i = 0; i < fld.scope.Length; i++)
    spriteBatch.Draw(texture, new Rectangle((i % a.w) * b.w + 85,(i / a.h) * b.h + 200, b.w, b.h), new Rectangle(8 * a.scp[i], 0, b.w, b.h), Color.White);

Всего получается около 1280 элементов, но их будет больше!

Раньше как-то об этом не задумывался:

1. Можно ли поместить ресурсы в exe? Как тогда их загружать и пользоваться ими?
2. Как сделать так, чтобы по нажатию клавиши, действие выполнилось 1 раз, даже если она все еще нажата, и больше не выполнялось до следующего нажатия?

а и еще - как подключить dll без создания ссылки в студии?

pax 01.02.2013 10:30

Ответ: Вопросы по XNA.
 
1. http://msdn.microsoft.com/ru-ru/libr...(v=vs.90).aspx
2. Лови момент изменения с "не нажата" на "нажата" (т.е. храни предыдущее состояние кнопки).

по dll - можно по форме плагинов. Загрузить сборку в текущий домен приложения. Найти в ней типы, которые надо подключить (в плагинах нужные типы реализуют какой-то интерфейс). Создать экземпляр заданного типа с помощью класса Activator ну и т.д.

moka 01.02.2013 14:48

Ответ: Вопросы по XNA.
 
wppt, используй кнопку "Правка" в нижнем правом углу под своими сообщениями, если ещё никто не ответил. Чтобы не плодить подряд посты.
Объединяй их в одно.

wppt 01.02.2013 16:50

Ответ: Вопросы по XNA.
 
Цитата:

Сообщение от pax (Сообщение 251331)
1. http://msdn.microsoft.com/ru-ru/libr...(v=vs.90).aspx
2. Лови момент изменения с "не нажата" на "нажата" (т.е. храни предыдущее состояние кнопки).

по dll - можно по форме плагинов. Загрузить сборку в текущий домен приложения. Найти в ней типы, которые надо подключить (в плагинах нужные типы реализуют какой-то интерфейс). Создать экземпляр заданного типа с помощью класса Activator ну и т.д.

Спасибо за ответ, по поводу ресурсов: а как потом, выводить спрайт? Средствами xna? Texture это ж вроде тип xna, как его привести к загруженному изображению, например? Или я все усложняю? Я просто этим не занимался, не рублю...
А вот что насчет шрифтов(не spritefont)? Видел пример с загрузкой шрифта, но там используются типы rectangle и color - это абсолютно одно и то же, что в xna? Или придется еще подумать над этим?

Dream 01.02.2013 18:07

Ответ: Вопросы по XNA.
 
Цитата:

Сообщение от wppt (Сообщение 251351)
Спасибо за ответ, по поводу ресурсов: а как потом, выводить спрайт? Средствами xna? Texture это ж вроде тип xna, как его привести к загруженному изображению, например? Или я все усложняю? Я просто этим не занимался, не рублю...
А вот что насчет шрифтов(не spritefont)? Видел пример с загрузкой шрифта, но там используются типы rectangle и color - это абсолютно одно и то же, что в xna? Или придется еще подумать над этим?

Texture2D.LoadFromStream или как то так есть метод, который грузит тектуру из любого Stream. Насчёт шрифтов - есть Pipelinы для загрузки шрифтов из текстур, то их нужно будет дерать в Content менеджере.

wppt 02.02.2013 13:18

Ответ: Вопросы по XNA.
 
спасибо, как раз таки нашел примерчик... вроде все очень просто!

ІГРОГРАЙКО 21.02.2013 22:31

Ответ: Вопросы по XNA.
 
Народ!
Пожалуйста! Посоветуйте мне литературу, статьи, туториалы по созданию 2D игор типа "AngryBirds" на XNA!

pax 22.02.2013 01:51

Ответ: Вопросы по XNA.
 
Как тот так http://farseerphysics.codeplex.com/

wppt 22.02.2013 20:40

Ответ: Вопросы по XNA.
 
Нужна помощь!
Пытаюсь загрузить спрайт из ресурсов...

Код:

Texture2D.FromStream(graphicsD, Assembly.GetCallingAssembly().GetManifestResourceStream("WindowsGame1.Resources.sprite.png"));
Но что-то идет не так и спрайт не выводится... при выходе из программы пишет, что
"Попытка чтения или записи в защищенную память. Это часто свидетельствует о том, что другая память повреждена."
Как справиться?


Так же недавно узнал про такую штуку - dynamic типы...
Как понимаю, память для них выделяется во время выполнения? А если использовать одну переменную для совершенно разных целей (например сначала как строку, а потом, чего уж, как текстуру?)? Экономия будет? Как с производительностью?


Часовой пояс GMT +4, время: 12:56.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot