<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Всё о создании игр</title>
		<link>https://gcup.ru/</link>
		<description>Форум игроделов</description>
		<lastBuildDate>Wed, 23 Jul 2025 05:33:45 GMT</lastBuildDate>
		<generator>uCoz Web-Service</generator>
		<atom:link href="https://gcup.ru/forum/rss" rel="self" type="application/rss+xml" />
		
		<item>
			<title>Помогите решить задачу по вычислению урона</title>
			<link>https://gcup.ru/forum/7-103892-1</link>
			<pubDate>Wed, 23 Jul 2025 05:33:45 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: Jlexa123&lt;br /&gt;Автор последнего сообщения: Искусительница&lt;br /&gt;Количество ответов: 5</description>
			<content:encoded>1. Посох наносит фиксированный физический урон; &lt;br /&gt;2. К фиксированному урону добавляется бонус урона от текущего здоровья соперника (гоблина) в процентах;&lt;br /&gt;3. Также посох наносит дополнительный урон от огня;&lt;br /&gt;4. У гоблина есть сопротивление к огненному урону, которое выражено в процентах, поэтому часть урона от огня поглотится сопротивление;&lt;br /&gt;5. У гоблина есть броня, которая поглощает часть урона и уменьшает его.&lt;br /&gt;&lt;br /&gt;Сколько hp останется у гоблина после одного удара. Если число получится с десятичной частью, округли его в большую сторону (например если получилось 333,03 значит округленным значением будет 334).&lt;br /&gt;&lt;br /&gt;Известны характеристики моба:&lt;br /&gt;Здоровье 464&lt;br /&gt;Броня моба, которая дает дополнительную защиту в размере 249, а также бонус к сопротивлению огненным предметам 32%.&lt;br /&gt;&lt;br /&gt;Характеристики посоха:&lt;br /&gt;Предмет огненный&lt;br /&gt;Физический урон 203 + 11% от здоровья персонажа + при ударе накладывает эффект горения, который наносит 381 урона. &lt;br /&gt;&lt;br /&gt;Ответы 199.88, 198,199,200,201,251,252,300,301 - неправильные.</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>Jlexa123</dc:creator>
			<guid>https://gcup.ru/forum/7-103892-1</guid>
		</item>
		<item>
			<title>Процедурная анимация - как? Реализм в стиле Detroit: BH</title>
			<link>https://gcup.ru/forum/7-104932-1</link>
			<pubDate>Wed, 23 Jul 2025 05:29:52 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: demoscene&lt;br /&gt;Автор последнего сообщения: Искусительница&lt;br /&gt;Количество ответов: 1</description>
			<content:encoded>Для начала самый простой пример.&lt;br /&gt;Я кликаю мышкой на тарелку. Персонаж должен подойти, нагнуться и взять тарелку.&lt;br /&gt;Но время, затраченное на приближение к тарелке, должно быть минимальным.&lt;br /&gt;При сохранении гладкости анимации. Чем дальше сейчас тарелка, тем шире персонаж будет расставлять ноги.&lt;br /&gt;При приближении к тарелке всё менее и менее широко.&lt;br /&gt;Известно, что АИ трудно заставить даже стоять ровно.&lt;br /&gt;Ручную анимацию можно залить как отдельные кадры, морфинг через glUniform.&lt;br /&gt;Но я хотел, чтобы игру было невозможно пройти дважды одинаково.&lt;br /&gt;----&lt;br /&gt;Более сложный пример. Идёт сим потихоньку, и я РАЗ - хватаю его мышкой и тащу.&lt;br /&gt;Его реакция? Хоть бы реалистично дёргался.&lt;br /&gt;----&lt;br /&gt;Сим играет в шахматы, и вдруг появляется Ктулху.&lt;br /&gt;Что делает сим? Бежит прочь с криком? Звонит 112? Или мочит Ктулху кулаками?&lt;br /&gt;На каком основании осуществляется выбор?&lt;br /&gt;----&lt;br /&gt;Сим хочет купить диван. Я не нянька. Пусть сам идёт и покупает.&lt;br /&gt;Но, он должен выбрать диван, по цвету подходящий к обстановке комнаты. Вот как?&lt;br /&gt;----&lt;br /&gt;Как симы реагируют на щекотку? Беру инструмент &quot;Пёрышко&quot;...&lt;br /&gt;----&lt;br /&gt;typedef struct{&lt;br /&gt;int x;&lt;br /&gt;int y;&lt;br /&gt;int z;&lt;br /&gt;//???!!!&lt;br /&gt;}sim;</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>demoscene</dc:creator>
			<guid>https://gcup.ru/forum/7-104932-1</guid>
		</item>
		<item>
			<title>Выбрать встраиваемый интерпретатор для браузерной игры</title>
			<link>https://gcup.ru/forum/7-104258-1</link>
			<pubDate>Thu, 09 May 2024 10:16:27 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: al_mt&lt;br /&gt;Автор последнего сообщения: al_mt&lt;br /&gt;Количество ответов: 8</description>
			<content:encoded>У мну маленькая идея, игры &quot;для программистов&quot;&lt;br /&gt;В ней надо писать небольшые скрипты для управления ботами. Тащем-то типовая задача, но хотелось бы чтобы:&lt;br /&gt;а) Игра была браузерной&lt;br /&gt;б) Разумеется скрипт должен исполняться безопасно&lt;br /&gt;&lt;br /&gt;Я такие вещи делал для десктопных проектов, а вот для браузерных - нет.&lt;br /&gt;Пока нашел lua.js но может кто поможет советом большей рациональности?</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>al_mt</dc:creator>
			<guid>https://gcup.ru/forum/7-104258-1</guid>
		</item>
		<item>
			<title>Программирование, и как правильно это учить</title>
			<link>https://gcup.ru/forum/7-103935-1</link>
			<pubDate>Mon, 06 Feb 2023 10:03:38 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Ищу помощт от советчиколв сайта&lt;br /&gt;Автор темы: Billguy&lt;br /&gt;Автор последнего сообщения: GMassta&lt;br /&gt;Количество ответов: 8</description>
			<content:encoded>Добрый день. У меня сложилась проблема с обучением в программирование. Что делать если я всё учу, и по туториалам я могу сделать что либо, но когда дело доходит написать что-то самому, то я безсилен, что делать ? Объясню подробнее на примере. Я хотел подучить GDscript для движка Godot, я прошёл базовые темы, но что делать елси я эти знания не могу никак применить? Я не могу написать что-то, что хочу сам. Хотелка у меня не заоблочная, всё просто, но сам сделатьб не могу но хочу. &lt;img rel=&quot;usm&quot; src=&quot;https://gcup.ru/SML/ILoveGcUp.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;lovegcup&quot; /&gt;</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>Billguy</dc:creator>
			<guid>https://gcup.ru/forum/7-103935-1</guid>
		</item>
		<item>
			<title>Антибот системы</title>
			<link>https://gcup.ru/forum/7-103992-1</link>
			<pubDate>Sun, 05 Feb 2023 19:37:07 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: JanCarlo&lt;br /&gt;Автор последнего сообщения: JanCarlo&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Добрый день!&lt;br /&gt;&lt;br /&gt;Есть ли какие то готовые решения на PHP для выявления ботов в браузерной игре, или какие то анализаторы поведенческих факторов игрока и тд?&lt;br /&gt;Видел проекты где были такие автоматизированные системы в действии, но понятно что ни названий, структур и тд небыло.</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>JanCarlo</dc:creator>
			<guid>https://gcup.ru/forum/7-103992-1</guid>
		</item>
		<item>
			<title>Максимально разрешение проекта при соотношении сторон 16:9</title>
			<link>https://gcup.ru/forum/7-103910-1</link>
			<pubDate>Tue, 18 Oct 2022 11:19:34 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Чтобы запускалось на всех устройствах, даже старых.&lt;br /&gt;Автор темы: AndrewVersus&lt;br /&gt;Автор последнего сообщения: TLT&lt;br /&gt;Количество ответов: 3</description>
			<content:encoded>Подскажите, какое максимально разрешение проекта при соотношении сторон 16:9, чтобы запускалось на всех устройствах, даже старых (2015 годов)?</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>AndrewVersus</dc:creator>
			<guid>https://gcup.ru/forum/7-103910-1</guid>
		</item>
		<item>
			<title>Определение страны: Скрипт PHP</title>
			<link>https://gcup.ru/forum/7-103870-1</link>
			<pubDate>Wed, 24 Aug 2022 20:26:35 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Скрипт ПХП.&lt;br /&gt;Автор темы: falcoware&lt;br /&gt;Автор последнего сообщения: falcoware&lt;br /&gt;Количество ответов: 4</description>
			<content:encoded>Привет,&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;if (isset($_GET&amp;#91;&apos;ip&apos;]&amp;#41;&amp;#41;&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;error_reporting(0&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$ip = $_GET&amp;#91;&apos;ip&apos;];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$LongIP = ip2long($ip&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$IPFile = file_get_contents(&quot;GeoIPCountryWhois.csv&quot;&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$convert = explode(&quot;&amp;#92;n&quot;, $IPFile&amp;#41;; //create array separate by new line&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$country = &quot;&quot;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for ($i=0; $i &lt; count($convert&amp;#41;; $i++&amp;#41; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$line = $convert&amp;#91;$i];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$line = str_replace(&apos;&quot;&apos;, &apos;&apos;, $line&amp;#41;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$line = explode(&apos;,&apos;, $line&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$IPLOW = $line&amp;#91;2];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$IPHIGH = $line&amp;#91;3];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$country = $line&amp;#91;4];&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if($LongIP &gt;= $IPLOW &amp;&amp; $LongIP &lt;= $IPHIGH&amp;#41;{ break; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo $country;&lt;br /&gt;}&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;&lt;br /&gt;http://falcopartners.com/countries/GeoIPCountryWhois.csv</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>falcoware</dc:creator>
			<guid>https://gcup.ru/forum/7-103870-1</guid>
		</item>
		<item>
			<title>Помогите скомпилировать библиотеку</title>
			<link>https://gcup.ru/forum/7-103789-1</link>
			<pubDate>Thu, 26 May 2022 15:07:00 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: minecrafter2&lt;br /&gt;Автор последнего сообщения: minecrafter2&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Помогите деду (уже как никак 10 лет прошло, а как будто вчера было) скомпилировать библиотеку &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://github.com/Tangent128/luasdl2&quot; title=&quot;https://github.com/Tangent128/luasdl2&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Ссылка (GitHub)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Уже обошёл несколько форумов так нигде ни у кого и не получилось. Был бы очень рад гайду как это сделать от А до Я с самого начала. Потому что сколько разного советовали и ошибки были на разных этапах.&lt;p&gt;&lt;b&gt;Добавлено&lt;/b&gt; (25 Мая 2022, 21:35)&lt;br /&gt;---------------------------------------------&lt;br /&gt;Ну и нужны .dll под винду</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>minecrafter2</dc:creator>
			<guid>https://gcup.ru/forum/7-103789-1</guid>
		</item>
		<item>
			<title>Автоматизация учета продукции</title>
			<link>https://gcup.ru/forum/7-103748-1</link>
			<pubDate>Mon, 04 Apr 2022 10:36:37 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Написание программы для автоматизации учета продукции&lt;br /&gt;Автор темы: YeT_1&lt;br /&gt;Автор последнего сообщения: YeT_1&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Всех приветствую!&lt;br /&gt;Ищу человека, который сможет помочь в написании программы или же полностью написать программу по учету продукции. Сам в данном вопросе не очень сильно подкован, но быстро могу разобраться, если еще и немного навести на правильную мысль. &lt;br /&gt;&lt;br /&gt;&lt;i&gt;Предположительный&lt;/i&gt; стек технологий: Python + YOLO&lt;br /&gt;ТЗ кратко: есть лента, по которой двигается продукция. Это большие рулоны, у них единый форм-фактор, отличаться разве могут что по цветам, но в основном они белые. Предполагается повесить камеру (или несколько) над лентой или сбоку ленты, которая будет уже фиксировать количество рулонов за смену. Если простым языком - нужно чтобы камера делала +1, если перед ней проходит рулон. По дополнительному функционалу понадобится только если настройка &quot;начало смены/конец смены&quot;, но это уже второстепенно.&lt;br /&gt;&lt;br /&gt;Если что, я в курсе, что это проще и дешевле было бы реализовать датчиками разного вида. Однако, задача стоит именно такая и хотелось бы её реализовать именно таким образом. &lt;br /&gt;&lt;br /&gt;Рассматриваю сотрудничество как на денежной основе (пишите сразу примерный прайс за разработку), также и на энтузиазме (если кто-то учится или изучает тему) и по бартеру (профессионально занимаюсь разработкой сайтов порядка 10 лет).&lt;br /&gt;&lt;br /&gt;Если кто-то здесь на форуме обладает интересной информацией по теме (ссылки, статьи, примеры кода) - буду также благодарен.</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>YeT_1</dc:creator>
			<guid>https://gcup.ru/forum/7-103748-1</guid>
		</item>
		<item>
			<title>HTML5 Canvas interactive animations of menu with bubbles</title>
			<link>https://gcup.ru/forum/7-103734-1</link>
			<pubDate>Tue, 22 Mar 2022 09:59:09 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: torsar&lt;br /&gt;Автор последнего сообщения: torsar&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Нужно сделать анимированное меню с шариками.&lt;br /&gt;Как здесь:&lt;br /&gt;http://79.110.52.43/&lt;br /&gt;&lt;br /&gt;На ванилла js. Сторонние либы и фреймворки использовать нельзя.&lt;br /&gt;Только базовый jquery.&lt;br /&gt;&lt;br /&gt;Я посмотрел, там сделано на canvas.&lt;br /&gt;&lt;br /&gt;Нужны руководства/книги/учебники/статьи по теме.&lt;br /&gt;Как делать анимашки на canvas?&lt;br /&gt;&lt;br /&gt;Как рассчитывать траекторию движения шариков сразу после&lt;br /&gt;загрузки web-странички?&lt;br /&gt;Как рассчитывать траекторию и поведение шариков при их перетаскивании мышкой?&lt;br /&gt;Как рассчитывать траекторию и поведение шариков при клике на шарике и раскрытии подменю?&lt;br /&gt;Как реализовать эффект мыльных пузырей?</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>torsar</dc:creator>
			<guid>https://gcup.ru/forum/7-103734-1</guid>
		</item>
		<item>
			<title>Очень нуждаюсь в совете и помощи</title>
			<link>https://gcup.ru/forum/7-103726-1</link>
			<pubDate>Sat, 12 Mar 2022 05:15:01 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Обсуждение&lt;br /&gt;Автор темы: zedmourg&lt;br /&gt;Автор последнего сообщения: zedmourg&lt;br /&gt;Количество ответов: 3</description>
			<content:encoded>Привет всем , я расскажу немного о себе для общей картины :&lt;br /&gt;мне 30 лет и у меня две вышки , одна в сфере управления вторая в сфере психологии, но с детства я всегда мечтал быть программистом и как-то не получилось , но в последнее время все больше и больше понимаю что хочу &lt;br /&gt;&lt;br /&gt;И так теперь к вопросу : &lt;br /&gt;1) С чего стоит начать изучение?&lt;br /&gt;Если можно то ссылкам буду рад &lt;br /&gt;&lt;br /&gt;2) Ваше мнение как лучше самоучка или пойти в вуз для третьего высшего &lt;img rel=&quot;usm&quot; src=&quot;https://gcup.ru/SML/biggrin.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;:D&quot; /&gt; &lt;br /&gt;&lt;br /&gt;От скуки недавно от изучения перешел к практике на python , но большая часть информации из видео или бесплатных либо кусками либо с множеством вопросов&lt;br /&gt;&lt;br /&gt;Камнями не кидайтесь , на все вопросы отвечу )&lt;p&gt;&lt;b&gt;Добавлено&lt;/b&gt; (07 Марта 2022, 06:33)&lt;br /&gt;---------------------------------------------&lt;br /&gt;Буду рад любой помощи или советам &lt;br /&gt;У меня от сидения дома крышу рвет &lt;br /&gt;8 лет была гражданская война , теперь блядь эта операция специальная , которая пересрало все</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>zedmourg</dc:creator>
			<guid>https://gcup.ru/forum/7-103726-1</guid>
		</item>
		<item>
			<title>Необходимость в программировании</title>
			<link>https://gcup.ru/forum/7-39-1</link>
			<pubDate>Mon, 01 Nov 2021 13:07:50 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: А нужно ли, обязательно ли уметь?&lt;br /&gt;Автор темы: mari&lt;br /&gt;Автор последнего сообщения: Burnout&lt;br /&gt;Количество ответов: 64</description>
			<content:encoded>Вот существуют программы для создания игр, разных игр на любой вкус и цвет. И появляется мысль, а нужно ли сейчас начинать учить языки программирования, когда всевозможные программы развиваются к тому, что всё можно сделать на кнопках и визуальных командах. Что думаете, как будет с этим через десят лет, например, всё будет делать в конструкторах?</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>mari</dc:creator>
			<guid>https://gcup.ru/forum/7-39-1</guid>
		</item>
		<item>
			<title>Хранение информации о доступном ресурсе игрока</title>
			<link>https://gcup.ru/forum/7-103527-1</link>
			<pubDate>Sun, 26 Sep 2021 08:58:47 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: Lexin&lt;br /&gt;Автор последнего сообщения: Assasin&lt;br /&gt;Количество ответов: 8</description>
			<content:encoded>Всем доброго времени суток!&lt;br /&gt;&lt;br /&gt;Разрабатываю браузерную игру на vuejs + lumen. В качестве БД использую MySQL.&lt;br /&gt;&lt;br /&gt;Вопрос следующий:&lt;br /&gt;Как думаете, как хранить информацию о доступном пользователю ресурсе в бд?&lt;br /&gt;Под ресурсом можно взять например количество зерна.&lt;br /&gt;Сложность в том, что ресурс восполняется на +Nное количество единиц в секунду.&lt;br /&gt;Если например на стороне клиента я увеличиваю количество ресурсов путем js скрипта, то на сервере как это делать?&lt;br /&gt;Не будет же cron работать каждую секунду и изменять количество для всех игроков...&lt;br /&gt;А само количество ресурсов нужно видеть в режиме реального времени, так как зерно игрок может потратить в любую секунду и потратить то количество которое ему уже доступно...&lt;br /&gt;&lt;br /&gt;У кого какие мысли по этому поводу?&lt;p&gt;&lt;b&gt;Добавлено&lt;/b&gt; (24 Сентября 2021, 19:26)&lt;br /&gt;---------------------------------------------&lt;br /&gt;В дополнение, даже если делать увеличение ресурса на +N в минуту... и игроков например 10к... крон будет создавать проблемы при увеличении количества ресурса для всех игроков каждую минуту... а если ресурсов будет несколько (камень, глина и др.) то ситуация усложняется...</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>Lexin</dc:creator>
			<guid>https://gcup.ru/forum/7-103527-1</guid>
		</item>
		<item>
			<title>Десериализация</title>
			<link>https://gcup.ru/forum/7-103246-1</link>
			<pubDate>Thu, 01 Apr 2021 17:47:23 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Десериализация из бинарного файла&lt;br /&gt;Автор темы: vova1227&lt;br /&gt;Автор последнего сообщения: vova1227&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>я читал что можно дописывать данные в файл путем FileMode.Append.&lt;br /&gt;Дописать в файл удалось, файл открыл блокнотом и Vector4 там значился, значит данные все таки в файле.&lt;br /&gt;Но вот при возврате возникает ошибка. &lt;br /&gt;При загрузке этого сохранения Unity показывает ошибку в строчке &lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt; objectsT = (List&lt;myVector4&gt;&amp;#41;formatter.Deserialize(streamT&amp;#41;;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;&lt;br /&gt;InvalidCastException: Specified cast is not valid. SaveGameToM.LoadT () (at Assets / Script / SaveGameToM.cs: 111)&lt;br /&gt;&lt;br /&gt;Что не верно?&lt;br /&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;&amp;#91;System.Serializable]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public struct myVector3&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public float x, y, z;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#91;System.Serializable]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public struct myVector4&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public float j, k, l;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#91;SerializeField] public List&lt;myVector3&gt; ObjectsPositions = new List&lt;myVector3&gt;(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#91;SerializeField] public List&lt;myVector4&gt; ObjectsPositionsT = new List&lt;myVector4&gt;(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void Start(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (File.Exists(Application.persistentDataPath + &quot;/saves/save.sav&quot;&amp;#41;&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BackMyCubes(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BackMyTriangles(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void BackMyCubes(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ObjectsPositions = Load(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach (var pos in ObjectsPositions&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GameObject i = Instantiate(Cube1Pref, new Vector3(pos.x, pos.y, pos.z&amp;#41;, Quaternion.identity&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ObjectsPositions.Clear(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void BackMyTriangles(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ObjectsPositionsT = LoadT(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach (var posT in ObjectsPositionsT&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GameObject t = Instantiate(Triangle1Pref, new Vector4(posT.j, posT.k, posT.l&amp;#41;, Quaternion.identity&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ObjectsPositionsT.Clear(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void ManualSaving(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach (var obj in GameObject.FindGameObjectsWithTag(&quot;Cube1&quot;&amp;#41;&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myVector3 i = new myVector3(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i.x = obj.transform.position.x;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i.y = obj.transform.position.y;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i.z = obj.transform.position.z;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ObjectsPositions.Add(i&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaveCu(ObjectsPositions&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void ManualSavingT(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;foreach (var objT in GameObject.FindGameObjectsWithTag(&quot;Triangle1&quot;&amp;#41;&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;myVector4 t = new myVector4(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t.j = objT.transform.position.x;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t.k = objT.transform.position.y;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t.l = objT.transform.position.z;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ObjectsPositionsT.Add(t&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SaveT(ObjectsPositionsT&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public List&lt;myVector3&gt; Load(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&lt;myVector3&gt; objects;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BinaryFormatter formatter = new BinaryFormatter(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;using (FileStream stream = new FileStream(Application.persistentDataPath + &quot;/saves/save.sav&quot;, FileMode.Open&amp;#41;&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;objects = (List&lt;myVector3&gt;&amp;#41;formatter.Deserialize(stream&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return objects;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public List&lt;myVector4&gt; LoadT(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;List&lt;myVector4&gt; objectsT;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BinaryFormatter formatter = new BinaryFormatter(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;using (FileStream streamT = new FileStream(Application.persistentDataPath + &quot;/saves/save.sav&quot;, FileMode.Open&amp;#41;&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;objectsT = (List&lt;myVector4&gt;&amp;#41;formatter.Deserialize(streamT&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return objectsT;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void SaveCu(List&lt;myVector3&gt; positions&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BinaryFormatter formatter = new BinaryFormatter(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;using (FileStream stream = new FileStream(Application.persistentDataPath + &quot;/saves/save.sav&quot;, FileMode.Create&amp;#41;&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;formatter.Serialize(stream, positions&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stream.Close(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;positions.Clear(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;void SaveT(List&lt;myVector4&gt; positionsT&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BinaryFormatter formatter = new BinaryFormatter(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;using (FileStream streamT = new FileStream(Application.persistentDataPath + &quot;/saves/save.sav&quot;, FileMode.Append&amp;#41;&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;formatter.Serialize(streamT, positionsT&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;streamT.Close(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;positionsT.Clear(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>vova1227</dc:creator>
			<guid>https://gcup.ru/forum/7-103246-1</guid>
		</item>
		<item>
			<title>Сохранение rotatte position совместно с transform position</title>
			<link>https://gcup.ru/forum/7-103186-1</link>
			<pubDate>Thu, 01 Apr 2021 12:31:05 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Сохранение&lt;br /&gt;Автор темы: vova1227&lt;br /&gt;Автор последнего сообщения: vova1227&lt;br /&gt;Количество ответов: 10</description>
			<content:encoded>Вопрос собственно в чем:&lt;br /&gt;1.Сохранил я треугольник к примеру, по Vector3. Но поворот то треугольника не сохранился в массив, при восстановлении всех треугольников они восстановятся в положении префаба.&lt;br /&gt;А как rotate position сохранить ихние? В Vector 3 только 3 переменные. Если в отдельный массив, то как тогда при восстановлении они выберут координаты?&lt;br /&gt;2. Неужели все так делают и нет способа упростить сохранение, ну это же мракобесие для каждого объекта дописывать код и поиск по тегу.&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;&lt;br /&gt;System.Collections;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using UnityEngine;&lt;br /&gt;using System.Runtime.Serialization.Formatters.Binary;&lt;br /&gt;using System.IO;&lt;br /&gt;using UnityEngine.UI;&lt;br /&gt;&lt;br /&gt;public class SaveGameToM : MonoBehaviour&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;public GameObject Cube1Pref;&lt;br /&gt;public GameObject Triangle1Pref;&lt;br /&gt;&lt;br /&gt;&amp;#91;System.Serializable]&lt;br /&gt;public struct myVector3&lt;br /&gt;{&lt;br /&gt;public float x, y, z;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;#91;System.Serializable]&lt;br /&gt;public struct myVector4&lt;br /&gt;{&lt;br /&gt;public float j, k, l;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;#91;SerializeField] public List&lt;myVector3&gt; ObjectsPositions = new List&lt;myVector3&gt;(&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;#91;SerializeField] public List&lt;myVector4&gt; ObjectsPositionsT = new List&lt;myVector4&gt;(&amp;#41;;&lt;br /&gt;&lt;br /&gt;public void Awake(&amp;#41;&lt;br /&gt;{&lt;br /&gt;if (!File.Exists(Application.persistentDataPath + &quot;saves&quot;&amp;#41;&amp;#41;&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;Directory.CreateDirectory(Application.persistentDataPath + &quot;/saves&quot;&amp;#41;;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void Start(&amp;#41;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;if (File.Exists(Application.persistentDataPath + &quot;/saves/save.sav&quot;&amp;#41;&amp; File.Exists(Application.persistentDataPath + &quot;/saves/saveT.sav&quot;&amp;#41;&amp;#41;&lt;br /&gt;{&lt;br /&gt;BackMyCubes(&amp;#41;;&lt;br /&gt;BackMyTriangles(&amp;#41;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void BackMyCubes(&amp;#41;&lt;br /&gt;{&lt;br /&gt;ObjectsPositions = Load(&amp;#41;;&lt;br /&gt;&lt;br /&gt;foreach (var pos in ObjectsPositions&amp;#41;&lt;br /&gt;{&lt;br /&gt;Instantiate(Cube1Pref, new Vector3(pos.x, pos.y, pos.z&amp;#41;, Quaternion.identity&amp;#41;;&lt;br /&gt;}&lt;br /&gt;ObjectsPositions.Clear(&amp;#41;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void BackMyTriangles(&amp;#41;&lt;br /&gt;{//n&lt;br /&gt;ObjectsPositionsT = LoadT(&amp;#41;;&lt;br /&gt;&lt;br /&gt;foreach (var posT in ObjectsPositionsT&amp;#41;//n&lt;br /&gt;{//n&lt;br /&gt;Instantiate(Triangle1Pref, new Vector3(posT.j, posT.k, posT.l&amp;#41;, Quaternion.Euler(-90f,0.0f,0.0f&amp;#41;&amp;#41;;//n&lt;br /&gt;}//n&lt;br /&gt;ObjectsPositionsT.Clear(&amp;#41;;//n&lt;br /&gt;}//n&lt;br /&gt;&lt;br /&gt;public void ManualSaving(&amp;#41;&lt;br /&gt;{&lt;br /&gt;if (File.Exists(Application.persistentDataPath + &quot;/saves/save.sav&quot;&amp;#41;&amp;#41;&lt;br /&gt;{&lt;br /&gt;File.Delete(Application.persistentDataPath + &quot;/saves/save.sav&quot;&amp;#41;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;foreach (var obj in GameObject.FindGameObjectsWithTag(&quot;Cube1&quot;&amp;#41;&amp;#41;&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;myVector3 i = new myVector3(&amp;#41;;&lt;br /&gt;i.x = obj.transform.position.x;&lt;br /&gt;i.y = obj.transform.position.y;&lt;br /&gt;i.z = obj.transform.position.z;&lt;br /&gt;&lt;br /&gt;ObjectsPositions.Add(i&amp;#41;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Save(ObjectsPositions&amp;#41;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void ManualSavingT(&amp;#41;//n&lt;br /&gt;{//n&lt;br /&gt;if (File.Exists(Application.persistentDataPath + &quot;/saves/saveT.sav&quot;&amp;#41;&amp;#41;//n&lt;br /&gt;{//n&lt;br /&gt;File.Delete(Application.persistentDataPath + &quot;/saves/saveT.sav&quot;&amp;#41;;//n&lt;br /&gt;}//n&lt;br /&gt;&lt;br /&gt;foreach (var objT in GameObject.FindGameObjectsWithTag(&quot;Triangle1&quot;&amp;#41;&amp;#41;//n&lt;br /&gt;&lt;br /&gt;{//n&lt;br /&gt;myVector4 t = new myVector4(&amp;#41;;//n&lt;br /&gt;t.j = objT.transform.position.x;//n&lt;br /&gt;t.k = objT.transform.position.y;//n&lt;br /&gt;t.l = objT.transform.position.z;//n&lt;br /&gt;ObjectsPositionsT.Add(t&amp;#41;;//n&lt;br /&gt;//сюда дописать ротат поз с другими буквами&lt;br /&gt;&lt;br /&gt;}//n&lt;br /&gt;&lt;br /&gt;Save(ObjectsPositionsT&amp;#41;;//n&lt;br /&gt;}//n&lt;br /&gt;&lt;br /&gt;public List&lt;myVector3&gt; Load(&amp;#41;&lt;br /&gt;{&lt;br /&gt;List&lt;myVector3&gt; objects;&lt;br /&gt;BinaryFormatter formatter = new BinaryFormatter(&amp;#41;;&lt;br /&gt;&lt;br /&gt;using (FileStream stream = new FileStream(Application.persistentDataPath + &quot;/saves/save.sav&quot;, FileMode.Open&amp;#41;&amp;#41;&lt;br /&gt;{&lt;br /&gt;objects = (List&lt;myVector3&gt;&amp;#41;formatter.Deserialize(stream&amp;#41;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;return objects;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public List&lt;myVector4&gt; LoadT(&amp;#41;//n&lt;br /&gt;{//n&lt;br /&gt;List&lt;myVector4&gt; objectsT;//n&lt;br /&gt;BinaryFormatter formatter = new BinaryFormatter(&amp;#41;;//n&lt;br /&gt;&lt;br /&gt;using (FileStream streamT = new FileStream(Application.persistentDataPath + &quot;/saves/saveT.sav&quot;, FileMode.Open&amp;#41;&amp;#41;//n&lt;br /&gt;{//n&lt;br /&gt;objectsT = (List&lt;myVector4&gt;&amp;#41;formatter.Deserialize(streamT&amp;#41;;//n&lt;br /&gt;}//n&lt;br /&gt;&lt;br /&gt;return objectsT;//n&lt;br /&gt;&lt;br /&gt;}//n&lt;br /&gt;&lt;br /&gt;void Save(List&lt;myVector3&gt; positions&amp;#41;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;BinaryFormatter formatter = new BinaryFormatter(&amp;#41;;&lt;br /&gt;using (FileStream stream = new FileStream(Application.persistentDataPath + &quot;/saves/save.sav&quot;, FileMode.Create&amp;#41;&amp;#41;&lt;br /&gt;{&lt;br /&gt;formatter.Serialize(stream, positions&amp;#41;;&lt;br /&gt;stream.Close(&amp;#41;;&lt;br /&gt;}&lt;br /&gt;positions.Clear(&amp;#41;;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void Save(List&lt;myVector4&gt; positionsT&amp;#41;//n&lt;br /&gt;{//n&lt;br /&gt;&lt;br /&gt;BinaryFormatter formatter = new BinaryFormatter(&amp;#41;;//n&lt;br /&gt;using (FileStream streamT = new FileStream(Application.persistentDataPath + &quot;/saves/saveT.sav&quot;, FileMode.Create&amp;#41;&amp;#41;//n&lt;br /&gt;{&lt;br /&gt;formatter.Serialize(streamT, positionsT&amp;#41;;//n&lt;br /&gt;streamT.Close(&amp;#41;;//n&lt;br /&gt;}&lt;br /&gt;positionsT.Clear(&amp;#41;;//n&lt;br /&gt;&lt;br /&gt;}//&lt;br /&gt;&lt;br /&gt;}&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>vova1227</dc:creator>
			<guid>https://gcup.ru/forum/7-103186-1</guid>
		</item>
		<item>
			<title>Как подписать приложение сертификатом гугла</title>
			<link>https://gcup.ru/forum/7-103223-1</link>
			<pubDate>Sat, 20 Mar 2021 18:17:27 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Надо как то добавить сертификат в кейстор&lt;br /&gt;Автор темы: vova1227&lt;br /&gt;Автор последнего сообщения: vova1227&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Народ помогите кто знает как это делать. Я по незнанию согласился в плейконсоли на подпись сертификатом гугл. Как и что с этим делать я теперь вообще понять не могу.&lt;br /&gt;-Приложение создано на Unity и в нем создан обычный ключ keystore.&lt;br /&gt;- При публикации мне предложили подписывать ключом от гугла, я согласился.&lt;br /&gt;- мне выдали два сертификата которые я могу скачивать &lt;br /&gt; сертификат ключа подписи&lt;br /&gt; сертификат ключа загрузки&lt;br /&gt;-приложение сейчас на проверке, я так понимаю удалить и отказаться от ключа гугл я уже не могу.&lt;br /&gt;Но что мне делать с этими сертификатами и какой ключ сделать теперь и как сделать и куда его загружать я вообще не понимаю. Или это какой то ключ гугла, но откуда его скачать тогда?&lt;br /&gt;Читал инструкции гугла, там вообще ничего не понятно.</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>vova1227</dc:creator>
			<guid>https://gcup.ru/forum/7-103223-1</guid>
		</item>
		<item>
			<title>Как сделать систему пред просмотра до установки обекта?</title>
			<link>https://gcup.ru/forum/7-103185-1</link>
			<pubDate>Fri, 05 Mar 2021 17:32:38 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Создание игры&lt;br /&gt;Автор темы: vova1227&lt;br /&gt;Автор последнего сообщения: vova1227&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Народ, меня интересует по какому принципу делается пред просмотр устанавливаемого элемента. Вот к примеру вы в игре устанавливаете какую то модель в определенную точку. Но с момента как вы ее выбрали и до момента как вы ее создали эта модель висит у игрока типа в руках и вы можете менять ее расположение или вращать по оси или же вообще ходить с ней в руках. &lt;br /&gt;Какие есть методы реализации такой вот штуки? Как это вообще делается?</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>vova1227</dc:creator>
			<guid>https://gcup.ru/forum/7-103185-1</guid>
		</item>
		<item>
			<title>Просмоторщик кода на android</title>
			<link>https://gcup.ru/forum/7-103086-1</link>
			<pubDate>Sat, 16 Jan 2021 19:06:11 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: afq&lt;br /&gt;Автор последнего сообщения: afq&lt;br /&gt;Количество ответов: 3</description>
			<content:encoded>Всем привет. Написал просмоторщик кода для android. Можно использовать например для изучения каких нибудь программ. Имеется посветка синтаксиса и размытие, из-за которого кажется, что ты читаешь священный текст. ссылка &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://play.google.com/store/apps/details?id=com.xverizex.sourcecodeviewer&quot; title=&quot;https://play.google.com/store/apps/details?id=com.xverizex.sourcecodeviewer&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;google play&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--uSpoiler--&gt;&lt;div class=&quot;uSpoilerClosed&quot; id=&quot;uSpoilerc29QEv&quot;&gt;&lt;div class=&quot;uSpoilerButBl&quot;&gt;&lt;input type=&quot;button&quot; class=&quot;uSpoilerButton&quot; onclick=&quot;if($(&apos;#uSpoilerc29QEv&apos;)[0]){if ($(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerc29QEv&apos;))[0].style.display==&apos;none&apos;){$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerc29QEv&apos;))[0].style.display=&apos;&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoilerc29QEv&apos;)).val(&apos;[&amp;#92;&amp;#8211;] скриншот&apos;);$(&apos;#uSpoilerc29QEv&apos;).attr(&apos;class&apos;,&apos;uSpoilerOpened&apos;);}else {$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerc29QEv&apos;))[0].style.display=&apos;none&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoilerc29QEv&apos;)).val(&apos;[+] скриншот&apos;);$(&apos;#uSpoilerc29QEv&apos;).attr(&apos;class&apos;,&apos;uSpoilerClosed&apos;);}}&quot; value=&quot;[+] скриншот&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;uSpoilerText&quot; style=&quot;display:none;&quot;&gt;&lt;!--ust--&gt;&lt;img src=&quot;https://i.imgur.com/U0jVZhX.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;!--/ust--&gt;&lt;!--usn(=скриншот)--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uSpoiler--&gt;</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>afq</dc:creator>
			<guid>https://gcup.ru/forum/7-103086-1</guid>
		</item>
		<item>
			<title>XNA выдаёт ошибку в примере анимации спрайта.</title>
			<link>https://gcup.ru/forum/7-103004-1</link>
			<pubDate>Thu, 26 Nov 2020 12:03:34 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Элемент &quot;rectangle&quot; не существует в текущем контекс&lt;br /&gt;Автор темы: BasilCat&lt;br /&gt;Автор последнего сообщения: BasilCat&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Я только вчера начал изучать XNA Game Studio 4.0 в надстройке над Visual C# 2010.&lt;br /&gt;Всё сделано точно по приведенному примеру, но&lt;br /&gt;&lt;b&gt;https://gcup.ru/publ/gamedev/xna_dlja_nachinajushhikh_risovanie_sprajtov_animacija_i_beg_chast_vtoraja/1-1-0-320&lt;/b&gt;&lt;br /&gt;Выдаётся ошибка на spriteBatch.Draw(spriteTexture, spritePosition, &lt;b&gt;rectangle&lt;/b&gt;, Color.White);&lt;br /&gt;rectangle - Ошибка	2	Элемент &quot;rectangle&quot; не существует в текущем контексте.&lt;br /&gt;&lt;b&gt;Может кто-то знает в чём дело&lt;/b&gt;. Если ALT-Schift-F10, то Visual C# 2010 предлагает создать заглушку для свойства или поля. Тогда пример запускается, но спрайт не бежит влево, а при нажатии на Left появляется ещё три спрайта вправо и стоят на месте. &lt;b&gt;Просьба помочь.&lt;/b&gt;&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;&lt;br /&gt;Sprites.cs&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;using Microsoft.Xna.Framework.Graphics;&lt;br /&gt;using Microsoft.Xna.Framework.Content;&lt;br /&gt;using Microsoft.Xna.Framework;&lt;br /&gt;&lt;br /&gt;namespace DrawSprite&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;class Sprites&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public Texture2D spriteTexture;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public Vector2 spritePosition;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int FrameCount; //Количество всех фреймов в изображении (у нас это 10&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int frame;//какой фрейм нарисован в данный момент&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float TimeForFrame;//Сколько времени нужно показывать один фрейм (скорость&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;float TotalTime;//сколько времени прошло с показа предыдущего фрейма&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private Rectangle? rectangle;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public Sprites(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public Sprites(int speedAnimation&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;frame = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TimeForFrame = (float&amp;#41;1 / speedAnimation;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TotalTime = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void Update(GameTime gameTime&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FrameCount = spriteTexture.Width / spriteTexture.Height;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TotalTime += (float&amp;#41;gameTime.ElapsedGameTime.TotalSeconds;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (TotalTime &gt; TimeForFrame&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;frame++;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;frame = frame % (FrameCount - 1&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TotalTime -= TimeForFrame;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void DrawAnimation(SpriteBatch spriteBatch&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int frameWidth = spriteTexture.Width / FrameCount;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Rectangle rectanglе = new Rectangle(frameWidth * frame, 0, frameWidth, spriteTexture.Height&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spriteBatch.Draw(spriteTexture, spritePosition, rectangle, Color.White&amp;#41;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void LoadContent(ContentManager Content, String texture&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spriteTexture = Content.Load&lt;Texture2D&gt;(texture&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public void Draw(SpriteBatch spriteBatch&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spriteBatch.Draw(spriteTexture, spritePosition, Color.White&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;и&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;&lt;br /&gt;Game1.cs&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using Microsoft.Xna.Framework;&lt;br /&gt;using Microsoft.Xna.Framework.Audio;&lt;br /&gt;using Microsoft.Xna.Framework.Content;&lt;br /&gt;using Microsoft.Xna.Framework.GamerServices;&lt;br /&gt;using Microsoft.Xna.Framework.Graphics;&lt;br /&gt;using Microsoft.Xna.Framework.Input;&lt;br /&gt;using Microsoft.Xna.Framework.Media;&lt;br /&gt;&lt;br /&gt;namespace DrawSprite&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// &lt;summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// This is the main type for your game&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// &lt;/summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public class Game1 : Microsoft.Xna.Framework.Game&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GraphicsDeviceManager graphics;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SpriteBatch spriteBatch;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sprites hero;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sprites runAnimation;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyboardState states;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public Game1(&amp;#41;&amp;nbsp;&amp;nbsp;// Конструктор&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;graphics = new GraphicsDeviceManager(this&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Content.RootDirectory = &quot;Content&quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hero = new Sprites(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;runAnimation = new Sprites(10&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;graphics.PreferredBackBufferHeight = 600; //Ширина экрана&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;graphics.PreferredBackBufferWidth = 600; //Высота экрана&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// &lt;summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// Allows the game to perform any initialization it needs to before starting to run.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// This is where it can query for any required services and load any non-graphic&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// related content.&amp;nbsp;&amp;nbsp;Calling base.Initialize will enumerate through any components&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// and initialize them as well.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// &lt;/summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;protected override void Initialize(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hero.spritePosition = new Vector2(300, 300&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;runAnimation.spritePosition = new Vector2(300, 300&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// TODO: Add your initialization logic here&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;base.Initialize(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// &lt;summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// LoadContent will be called once per game and is the place to load&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// all of your content.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// &lt;/summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;protected override void LoadContent(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Create a new SpriteBatch, which can be used to draw textures.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spriteBatch = new SpriteBatch(GraphicsDevice&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hero.LoadContent(Content, &quot;idle&quot;&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;runAnimation.LoadContent(Content, &quot;run&quot;&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// TODO: use this.Content to load your game content here&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// &lt;summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// UnloadContent will be called once per game and is the place to unload&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// all content.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// &lt;/summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;protected override void UnloadContent(&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// TODO: Unload any non ContentManager content here&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// &lt;summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// Allows the game to run logic such as updating the world,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// checking for collisions, gathering input, and playing audio.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// &lt;/summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// &lt;param name=&quot;gameTime&quot;&gt;Provides a snapshot of timing values.&lt;/param&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;protected override void Update(GameTime gameTime&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Allows the game to exit&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (GamePad.GetState(PlayerIndex.One&amp;#41;.Buttons.Back == ButtonState.Pressed&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.Exit(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;states = Keyboard.GetState(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// TODO: Add your update logic here&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;runAnimation.Update(gameTime&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;base.Update(gameTime&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// &lt;summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// This is called when the game should draw itself.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// &lt;/summary&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/// &lt;param name=&quot;gameTime&quot;&gt;Provides a snapshot of timing values.&lt;/param&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;protected override void Draw(GameTime gameTime&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GraphicsDevice.Clear(Color.CornflowerBlue&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spriteBatch.Begin(&amp;#41;;&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hero.Draw(spriteBatch&amp;#41;;&lt;br /&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;runAnimation.DrawAnimation(spriteBatch&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (states.IsKeyDown(Keys.Left&amp;#41;&amp;#41;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;runAnimation.DrawAnimation(spriteBatch&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hero.Draw(spriteBatch&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;spriteBatch.End(&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// TODO: Add your drawing code here&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;base.Draw(gameTime&amp;#41;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>BasilCat</dc:creator>
			<guid>https://gcup.ru/forum/7-103004-1</guid>
		</item>
		<item>
			<title>C# вывод параметров на страницу браузера</title>
			<link>https://gcup.ru/forum/7-103000-1</link>
			<pubDate>Tue, 24 Nov 2020 15:12:52 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: C# вывод параметров на страницу браузера&lt;br /&gt;Автор темы: gansterm&lt;br /&gt;Автор последнего сообщения: gansterm&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Дорбрый день, пишу прогу на C#, появилась необходимость выводит параметры на страницу браузера, причем обновление динамическое, как я понял необходимо использовать Ajax, но я ниразу не пользовался сетевыми технологиями, может кто подскажет в какую сторону копать и с чего начать?</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>gansterm</dc:creator>
			<guid>https://gcup.ru/forum/7-103000-1</guid>
		</item>
		<item>
			<title>Программа для конвертации.</title>
			<link>https://gcup.ru/forum/7-102904-1</link>
			<pubDate>Mon, 12 Oct 2020 18:23:17 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Помогите.&lt;br /&gt;Автор темы: DeadDay&lt;br /&gt;Автор последнего сообщения: drcrack&lt;br /&gt;Количество ответов: 3</description>
			<content:encoded>Всем привет. Подскажите решении в такой задачи.&lt;br /&gt;Есть файл, с расширением .dat. Он четко структурирован, в нем есть данные. Меняются только данные, при чем каждый день в одно и тоже время. Нужно придумать некий скрипт в формате .bat который брал бы этот файл, как то его перерабатывал и полученные данные передавал(вносил или сохранял) в файл Excel.&lt;br /&gt;&lt;br /&gt;Сам файл - &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://dropmefiles.com/2ehcC&quot; title=&quot;https://dropmefiles.com/2ehcC&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Temp_C.dat&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Картинка&lt;br /&gt;&lt;!--uSpoiler--&gt;&lt;div class=&quot;uSpoilerClosed&quot; id=&quot;uSpoilerDSmIKD&quot;&gt;&lt;div class=&quot;uSpoilerButBl&quot;&gt;&lt;input type=&quot;button&quot; class=&quot;uSpoilerButton&quot; onclick=&quot;if($(&apos;#uSpoilerDSmIKD&apos;)[0]){if ($(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerDSmIKD&apos;))[0].style.display==&apos;none&apos;){$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerDSmIKD&apos;))[0].style.display=&apos;&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoilerDSmIKD&apos;)).val(&apos;Закрыть спойлер&apos;);$(&apos;#uSpoilerDSmIKD&apos;).attr(&apos;class&apos;,&apos;uSpoilerOpened&apos;);}else {$(&apos;.uSpoilerText&apos;,$(&apos;#uSpoilerDSmIKD&apos;))[0].style.display=&apos;none&apos;;$(&apos;.uSpoilerButton&apos;,$(&apos;#uSpoilerDSmIKD&apos;)).val(&apos;Открыть спойлер&apos;);$(&apos;#uSpoilerDSmIKD&apos;).attr(&apos;class&apos;,&apos;uSpoilerClosed&apos;);}}&quot; value=&quot;Открыть спойлер&quot;/&gt;&lt;/div&gt;&lt;div class=&quot;uSpoilerText&quot; style=&quot;display:none;&quot;&gt;&lt;!--ust--&gt;&lt;br /&gt;&lt;img src=&quot;https://c.radikal.ru/c16/2010/1e/e512cee8058f.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;br /&gt;&lt;!--/ust--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uSpoiler--&gt;</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>DeadDay</dc:creator>
			<guid>https://gcup.ru/forum/7-102904-1</guid>
		</item>
		<item>
			<title>Игра целиком на видеокарте</title>
			<link>https://gcup.ru/forum/7-102483-1</link>
			<pubDate>Sat, 25 Apr 2020 15:44:09 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: какие могут быть подводные камни&lt;br /&gt;Автор темы: puksus4&lt;br /&gt;Автор последнего сообщения: puksus4&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>В общем, есть вот этот проект, где автор взял и сделал игру целиком на видеокарте&lt;br /&gt;&lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://habr.com/ru/post/345104/&quot; title=&quot;https://habr.com/ru/post/345104/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Воть&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Ну и мне в общем-то понравилась идея, и с тех пор интересует, насколько возможно сделать игру типа mount and blade в режиме битвы или total war опять же чисто в режиме битвы, используя в основном видеокарту. Короче игру в которой есть дофига чуваков и они дерутся с применением тактики.&lt;br /&gt;Ведь видюха неиллюзорно шустрее и если вместо ~500 чуваков на поле боя получить ~5000 - прям ваще огонь.&lt;br /&gt;&lt;br /&gt;Собсно вот рассуждения на этот счёт, какие проблемы возникнут и как их решать.&lt;br /&gt;&lt;br /&gt;1) Поиск пути&lt;br /&gt;Не уверен как именно, но вот &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?http://masters.donntu.org/2017/fknt/koibash/library/article11.htm&quot; title=&quot;http://masters.donntu.org/2017/fknt/koibash/library/article11.htm&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;тут&lt;/a&gt; чуваки похоже умудрились запихнуть алгоритм А* на гпу. Но я уверен что грамотная реализация поиска пути не потребует GPU акселерации.&lt;br /&gt;Ввести обязательное условие что на поле боя юниты ходят только группой, поиск пути для которых выполняется сразу для всех юнитов в группе. Групп может быть небольшое количество, при этом распределить поиск пути равномерно по кадрам. Столкновения же с другими юнитами, обход мелких препятствий и т.д. делать на самой видеокарте с помощью карты потенциальных полей, которую можно сгенерировать без проблем собственно на самой видеокарте. Хранить на ЦПУ карту мира в том или ином виде пригодную для поиска пути, будь то навигационные меши, сетка, чо угодно.&lt;br /&gt;&lt;br /&gt;2) ИИ верхнего и среднего уровня&lt;br /&gt;Алгоритмы ИИ анализирующие обстановку в игре с целью принятия тактических решений едва ли видятся возможным реализовать на ГПУ, но на счастье подобные вычисления вовсе не обязательно делать каждый кадр + данных для обсчёта не так много, можно превосходно делать этот обсчёт на ЦПУ, и слать на ГПУ буфера с указаниями что делать конкретным группам. Мораль солдат также обрабатываем тут. Смотрим сколько выживших в группе, сколько рядом союзников, сколько врагов, понижаем или повышаем мораль группы, и если она ниже плинтуса - делаем статус группе &quot;бегство&quot; и заставляем наш поисковик пути выдать путь подальше от поля боя. То есть индивидуальные юниты не бегут, бежит вся группа. Иначе пришлось бы для каждого бегущего солдата создавать отдельную группу, что крайне нежелательно с точки зрения производительности.&lt;br /&gt;&lt;br /&gt;3) ИИ низкого уровня.&lt;br /&gt;Если ИИ верхнего (тактика) и среднего уровня (решения группы юнитов) можно считать на цпу, то нижнего (ИИ отдельных болванчиков) уже нет смысла в рамках поставленной задачи т.к. в этом случае данных как раз много и некоторые решения нужно принимать быстро - нет возможности ждать. К тому же ИИ низкого уровня взаимодействует с другими элементами (анимации например), которые также обязаны хранить и обрабатывать на гпу. Допустим мы хотим чтоб юниты в игре вели себя по умному - умели атаковать, блокировать, как в mount and blade.&lt;br /&gt;&lt;br /&gt;Во-первых юнит в группе не должен отходить слишком далеко от центра группы + должен подчиняться приказам сверху. Тойсть сначала смотрим какие обобщённые указания прилетели нам с ЦПУ, каков статус группы и учитываем это при обработке юнита.&lt;br /&gt;&lt;br /&gt;Во-вторых, нам надо знать, какие вражеские солдаты находятся рядом. Это нужно для ближнего боя - определить цель атаки. Для этого можно юзать Спатиал Хеши (spatial hashes). Зарезервировать скажем, 10000 бакетов, хранение объектов в букетах можно организовать в виде списка, но без динамической памяти, просто на массивах. В самом букете храним первый объект, а в первом объекте идишник следующего. Если затруднительно обсчитать эту структуру прямо на гпу, объём данных не настолько большой (помним - 5000 юнитов на поле боя) чтоб это было критично для синхронизации и обработки на ЦПУ. К тому же это можно делать раз в 2-3 кадра или даже реже. Требуем чтоб объект не мог занимать более одного букета. Для этого вводим максимальный размер юнита и делаем чтоб ячейки нашей сетки перекрывали друг друга.&lt;br /&gt;Таким образом имея эту структуру, для каждого юнита можно посмотреть ближайшие бакеты, выбрать набор из, скажем, 8 самых ближайших&amp;#92;приоритетных вражеских целей около юнита, смотрим что они делают. Если атакуют и мы в зоне поражения - блокируем. Иначе - пытаемся атаковать того кто к нам повёрнут спиной, или не блокирует и т.д. Также совершаем передвижения с целью занять выгодное положение относительно выбранных юнитов. А чтобы каждый кадр юнит не мотался как бешеный между разными целями - регулировать частоту смены решений, ввести пенальти на смену целей.&lt;br /&gt;&lt;br /&gt;Для дальнего боя целевая группа противника будет обрабатываться на цпу в рамках ИИ среднего уровня. На гпу мы будем знать позицию группы, которую надо обстрелять. Соответственно смотрим букеты в некотором радиусе от центра группы (или берём рандомный в некотором радиусе в целях ускорения). По тому же принципу определяем конкретную цель обстрела - стреляем.&lt;br /&gt;&lt;br /&gt;4) Анимации&lt;br /&gt;Поскольку все объекты хранятся на гпу, и выбирают текущую анимацию на гпу, то и все анимации можно прекрасно хранить на гпу. Все матричные обсчёты костяных анимаций будут на гпу. Это значит, что скелеты болванчиков могут быть серьёзно детализированы. Можно отдельно обрабатывать каждый палец на руке каждого персонажа, просто каеф.&lt;br /&gt;&lt;br /&gt;5) Звуки&lt;br /&gt;Звуки на гпу мы воспроизводить не можем. Но мы можем завести буфер со звуковыми командами и аплодить его на цпу. Цпу просмотрит команды и начнёт воспроизведение нужных звуков.&lt;br /&gt;&lt;br /&gt;6) Физика&lt;br /&gt;Весь прикол в том, что физику обычно считают на цпу, поскольку результаты обсчёта физики обычно используются в игровой логике, а синхронизация ЦПУ с ГПУ может прибить всю производительность. ОДНАКО физику вполне можно считать на ГПУ. Яркий тому пример - nvidia PhysiX.&lt;br /&gt;Также в репозитории Bullet Physics я видел код для гпу реализации физики. Так и не понял есчесно насколько он рабочий, в интернете инфы не нашёл. Но факт в том что физику можно делать на гпу. А что это значит? Правильно, в нашем случае это значит десятки тысяч объектов с физической симуляцией без просадки фпс.&lt;br /&gt;&lt;br /&gt;7) Рендер&lt;br /&gt;Ну, все объекты у нас уже на гпу, обрабатываем (ну там фрустум кулинг, разделение по материалам), собираем список, шлём на цпу, делаем индирект рендер.&lt;br /&gt;&lt;br /&gt;8) Игрок&lt;br /&gt;А чо тут делать-то? Считать ввод с клавиатуры, и синхронизировать объект игрока на цпу с объектом игрока на гпу. Нужно только идишник объекта на гпу знать.&lt;br /&gt;&lt;br /&gt;9) Сеть&lt;br /&gt;Если есть один игрок - то их может быть и тысяча. Вычисления всех игровых объектов, очевидно должно быть на сервере. Надо будет выдёргивать из гпу позиции объектов, воспроизводимые анимации и их прогресс, слать другим игрокам, принимать от них команды. Вероятно если какието геймплейные фичи влияют на рендер - их тоже надо выдёргивать. Рендер у клиентов локальный. Вообще конкретная реализация сети - отдельная тема и вряд ли сильно усложняется если игра на гпу.&lt;br /&gt;&lt;br /&gt;Какие ещё могут возникнуть проблемы и как их можно решать?</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>puksus4</dc:creator>
			<guid>https://gcup.ru/forum/7-102483-1</guid>
		</item>
		<item>
			<title>Bullet Physics: проблема с импульсами быстрых тел</title>
			<link>https://gcup.ru/forum/7-102462-1</link>
			<pubDate>Sun, 19 Apr 2020 20:02:32 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: puksus4&lt;br /&gt;Автор последнего сообщения: puksus4&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Делаю в общем игру в которой объекты должны попиксельно уничтожаться.&lt;br /&gt;Примерно так как в гифке &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/forum/69-77671-718011-16-1471011911&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;из этого сообщения &lt;/a&gt;&lt;br /&gt;Собсно делаю римейк той игры котору делал на конкурс в 2016 году, только лучше во всех отношениях.&lt;br /&gt;&lt;br /&gt;Для детектинга столкновений между объектами заюзал bullet physics.&lt;br /&gt;Соответственно когда столкновение детектится, я повреждаю пиксельную оболочку тела в месте удара.&lt;br /&gt;&lt;br /&gt;Соответственно тест - тела движутся навстречу друг другу и сталкиваются (белым обрисована упрощённая конвексная оболочка корабля собсно для столкновений)&lt;br /&gt;&lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://prnt.sc/s2bt5f&quot; title=&quot;https://prnt.sc/s2bt5f&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;screenshot 1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Для оценки масштаба разрушений беру импульс столкновения&lt;br /&gt;&lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://prnt.sc/s2bu5o&quot; title=&quot;https://prnt.sc/s2bu5o&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;screenshot 2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Когда тела движутся навстречу друг другу со скоростью 800 пикселей в секунду, всё нормально - тела повреждаются и отлетают.&lt;br /&gt;Когда повышаю до 1600 - тела всё ещё разлетаются при столкновениях, но не повреждаются.&lt;br /&gt;А не повреждаются потому что bulletPhysics почемуто выдаёт нулевые импульсы при столкновениях. Тойсть переменная impulse из скрина выше нулевая для всех контакт поинтов.&lt;br /&gt;&lt;br /&gt;Это кажется странным, потому что по факту тела столкнулись и разлетелись. Но импульс столкновения почемуто нулевой.&lt;br /&gt;Возможно это важно - единицей измерения в bullet считаю пиксель, соотв-но размер тела в длину около 100 пикселей, а относительная скорость движения тел между собой 1600 пикселей.&lt;br /&gt;Bullet physics работает с частотой 60 кадров в секунду, соответственно с такими скоростями тела за кадр проникнут друг в друга максимум на четверть длины тела (1600 * (1.0 &amp;#92; 60)) = 25. Тойсть Continious Collision Detection по иее в таком случае не нужен.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Добавлено&lt;/b&gt; (19 Апреля 2020, 19:19)&lt;br /&gt;---------------------------------------------&lt;br /&gt;Делать пули и снаряды собираюсь отдельно и находить пересечения между корабликами и пулями рей трейсингом, тойсть для пуль проблема неактуальна&lt;br /&gt;+ Допускаю введение искусственного ограничения максимальной скорости движения&amp;#92;вращения корабликов&lt;br /&gt;Но хотелось бы понимать, в каких случаях возникают подобные глюки. Как зависит от размеров, от формы коллизии, от фреймтайма, ... А то ограничу скорость одним значением - настрою геймплей под него, а потом бац - проблема снова проявилась.&lt;br /&gt;Объекты в игре гарантированно будут размера больше определённого. Тойсть если от тела остался маленький ошмёток - он заменится на частицы, и в физической симуляции участвовать не будет. Тойсть очень маленьких тел в игре не будет.&lt;p&gt;&lt;b&gt;Добавлено&lt;/b&gt; (19 Апреля 2020, 23:02)&lt;br /&gt;---------------------------------------------&lt;br /&gt;А нет, вру, похожу что буллет детектит коллизию, но ничерта не разлетается, объекты просто пролетают сквозь друг друга.&lt;br /&gt;Это заметно если заставить буллет физикс симулировать с частотой кадров 15 а не 60 и соответственно в 4 раза уменьшить скорость объектов. Они тупо пролетают, коллизии при эжтом детектятся. С меньшими скоростями опять же всё хорошо.</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>puksus4</dc:creator>
			<guid>https://gcup.ru/forum/7-102462-1</guid>
		</item>
		<item>
			<title>Генерация подземелий на Python [Урок]</title>
			<link>https://gcup.ru/forum/7-102457-1</link>
			<pubDate>Fri, 17 Apr 2020 08:38:14 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: По шагам. С картинками. Код на github.&lt;br /&gt;Автор темы: Tiendil&lt;br /&gt;Автор последнего сообщения: Tiendil&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>&lt;img src=&quot;https://tiendil.org/wp-content/uploads/2020/04/heading.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;br /&gt;&lt;br /&gt;Несколько вечеров проверял идею генерации космических баз. Космическая база в итоге не получилась, а вот на добротное подземелье результат похож. Поскольку шёл от простого к сложному и никакой суровой магии не делал, то решил переработать код в урок по генерации подземелий на Python.&lt;br /&gt;&lt;br /&gt;Задача урока не столько научить программировать генераторы подземелий, сколько показать, что кажущиеся сложными вещи на деле довольно просты, если их правильно разбить на подзадачи.&lt;br /&gt;&lt;br /&gt;Урок: &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://tiendil.org/dungeon-generation-from-simple-to-complex/&quot; title=&quot;https://tiendil.org/dungeon-generation-from-simple-to-complex/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://tiendil.org/dungeon-generation-from-simple-to-complex/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Код находися на &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://github.com/Tiendil/tutorial-dungeon-generation&quot; title=&quot;https://github.com/Tiendil/tutorial-dungeon-generation&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;github&lt;/a&gt;.</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>Tiendil</dc:creator>
			<guid>https://gcup.ru/forum/7-102457-1</guid>
		</item>
		<item>
			<title>Сортировка огромного количества частиц на гпу.</title>
			<link>https://gcup.ru/forum/7-102429-1</link>
			<pubDate>Sun, 05 Apr 2020 14:44:01 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: puksus4&lt;br /&gt;Автор последнего сообщения: puksus4&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Пишу игру на с++ и DirectX 11, в которой хочу чтоб было много частиц. Набросал тут у себя систему частиц которая живёт полностью на ГПУ, обрабатывается кучей компут шейдеров и рендерится через индирект вызовы.&lt;br /&gt;И тут встал (тойсть ещё не встал, но не может не встать в будущем) вопрос: Порядок отрисовки. В случае аддитивных частиц и частиц с альфа тестом вместо блендинга на порядок рисования глубочайше пофиг. Но проблема будет с полупрозрачными неаддитивными частицами.&lt;br /&gt;&lt;br /&gt;Нашёл в интернетах частичное решение - Битоническая сортировка (Bitonic Sort). Суть в том шо берём группы по 2 элемента, сортируем, затем делаем обмен между соответствующими элементами соседних групп так чтобы в первую попал минимальный элемент, а во вторую максимальный. Затем увеличиваем размер группы до 4, делаем то же самое, затем до 8, ... И так за log(N) шагов и общей сложностью N log^2N делаем сортировку.&lt;br /&gt;Сие хозяйство несложно распараллелить чтоб эффективно выполнялось на гпу. НО. Вот допустим у меня максимальное количество частиц - миллион. Я могу написать компут шейдер в котором будет не более 1024 потоков в группе (хардварное ограничение), то есть я смогу лишь частично отсортировать массив, имея в итоге отсортированные порции по 2048 частиц, но сам по себе массив не будет отсортирован.&lt;br /&gt;&lt;br /&gt;Вот собсно вопрос, что в этой ситуации лучше сделать? Может быть забить и частично отсортированный массив будет работать достаточно хорошо? может быть можно на гпу отсортировать по другому?&lt;br /&gt;Как бы вы решали эту проблему?&lt;br /&gt;&lt;br /&gt;Вопрос не срочный, впадлу пока что вообще сортировку на гпу фигачить.&lt;br /&gt;&lt;br /&gt;Пока что планирую рендерить полупрозрачные частицы вообще без сортировки и завести отдельный буфер для частиц с альфа тестом.&lt;br /&gt;Таким образом когда частице достаточно альфа теста - она будет писать в буфер глубины и всё будет ок, возможно с какимто хитрым шейдингом чтоб резких краёв не было, а если частице нужна полупрозрачность - ввести ограничение что полупрозрачные частицы обязаны не иметь в текстуре слишком непрозрачных пикселей. Тогда (надеюсь) артефакты от неправильного порядка отрисовки будут не очень заметными. Тойсть использовать полупрозрачные частицы для действительно полупрозрачной фигни с однородной альфой, типа пыль, дым. Возможно возникнут проблемы когда в один момент времени сначала рендерится частица 1 а затем частица 2, а затем сначала частица 2 а затем частица 1. Тогда можможно дребезжание частиц между собой будет&lt;br /&gt;&lt;br /&gt;Кароч тема скорее для обсуждения, чем конкретное ТЗ, возможно есть какието лёгкие обходные пути и костыли</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>puksus4</dc:creator>
			<guid>https://gcup.ru/forum/7-102429-1</guid>
		</item>
		<item>
			<title>Какой язык программирования учить?</title>
			<link>https://gcup.ru/forum/7-99674-1</link>
			<pubDate>Sun, 01 Mar 2020 23:14:59 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Какой язык программирования учить&lt;br /&gt;Автор темы: SKIF2002&lt;br /&gt;Автор последнего сообщения: ShortKedr&lt;br /&gt;Количество ответов: 18</description>
			<content:encoded>Какой язык программирования учить для создания игр? Посоветуйте мне желательно 2 3 языка.</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>SKIF2002</dc:creator>
			<guid>https://gcup.ru/forum/7-99674-1</guid>
		</item>
		<item>
			<title>Обучение программированию с помощью видеокурсов</title>
			<link>https://gcup.ru/forum/7-100182-1</link>
			<pubDate>Sun, 01 Mar 2020 09:21:59 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: без высшего образования&lt;br /&gt;Автор темы: sks00121&lt;br /&gt;Автор последнего сообщения: afq&lt;br /&gt;Количество ответов: 9</description>
			<content:encoded>Здравствуйте. Кто-нибудь из вас С НУЛЯ(!) обучился программированию(не ИГР, а вообще! Без скриптов, шаблонов по типу Unity3d) по видео курсам(книгам?) самостоятельно, без учителей в институте???&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Расскажите свои истории ПОЖАЛУЙСТА! &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;И если есть ссылки на полезные советы про то, как пошагово научиться программировать(а не разорванные клочи информации как на хабре, и т.п. сайтах) и как не забрести в скрипты, Bootstrap 3 и т.п. JS-ты!&lt;br /&gt;&lt;br /&gt;P.s.Посмотрел что видеокурсов море, отзывы купленные... А вот реально обучившихся по урокам в ютубе, по видеокурсам платным - не видел ни одного в живую(так же и с графическим дизайном и т.п.)!</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>sks00121</dc:creator>
			<guid>https://gcup.ru/forum/7-100182-1</guid>
		</item>
		<item>
			<title>не открывается код в Visual studio</title>
			<link>https://gcup.ru/forum/7-102073-1</link>
			<pubDate>Tue, 25 Feb 2020 16:14:37 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: не открывается код при открытии Скрипта в Unity&lt;br /&gt;Автор темы: Viva_&lt;br /&gt;Автор последнего сообщения: tigerigor&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>при открытии скрипта в Unity через Visual studio&lt;br /&gt;У меня открывается пустое окно, &lt;br /&gt;подскажите где и как настроить чтобы открывался код &lt;br /&gt;&lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?http://s1.uploadpics.ru/images/Wyv8QqQVQS.png&quot; title=&quot;http://s1.uploadpics.ru/images/Wyv8QqQVQS.png&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img src=&quot;http://s1.uploadpics.ru/images/Wyv8QqQVQS.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;/a&gt;[/img]</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>Viva_</dc:creator>
			<guid>https://gcup.ru/forum/7-102073-1</guid>
		</item>
		<item>
			<title>Исследование программной инженерии у разработчиков игр.</title>
			<link>https://gcup.ru/forum/7-102311-1</link>
			<pubDate>Fri, 14 Feb 2020 07:49:04 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Проводим опрос&lt;br /&gt;Автор темы: Jokersaw&lt;br /&gt;Автор последнего сообщения: Jokersaw&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Добрый день! Провожу исследование для обучения в сфере разработке игр. Хотелось бы понять общую статистику профессионализма разработчиков игр. Для свой научной работы мне нужно провести небольшой опрос, что бы подтвердить зависимость роста качества от применения паттернов проектирования. Прошу пройти небольшой опрос. Заранее спасибо! &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://forms.gle/DYu2vhAb4ZxRw9Xh9&quot; title=&quot;https://forms.gle/DYu2vhAb4ZxRw9Xh9&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://forms.gle/DYu2vhAb4ZxRw9Xh9&lt;/a&gt;</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>Jokersaw</dc:creator>
			<guid>https://gcup.ru/forum/7-102311-1</guid>
		</item>
		<item>
			<title>Поиск пути в играх. Алгоритм поиска пути A*</title>
			<link>https://gcup.ru/forum/7-102271-1</link>
			<pubDate>Sun, 26 Jan 2020 16:12:52 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Обучающее видео по алгоритмам поиска в играх&lt;br /&gt;Автор темы: GameDevRu&lt;br /&gt;Автор последнего сообщения: GameDevRu&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>В своё время долго и упорно разбирал различные алгоритмы поиска путей для различных задач. Сейчас, во время отпуска, решил сделать доброе дело и поделиться накопленными знаниями.&lt;br /&gt;&lt;br /&gt;В видео постарался разжевать всё так, чтобы стало понятно даже юзеру с нулевым знанием темы и программирования.&lt;br /&gt;&lt;br /&gt;Надеюсь, что это будет кому то полезным.&lt;br /&gt;&lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?https://youtu.be/gCclsviUeUk&quot; title=&quot;https://youtu.be/gCclsviUeUk&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Алгоритм поиска А*&lt;/a&gt;</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>GameDevRu</dc:creator>
			<guid>https://gcup.ru/forum/7-102271-1</guid>
		</item>
		<item>
			<title>Помогите советом...</title>
			<link>https://gcup.ru/forum/7-101779-1</link>
			<pubDate>Tue, 14 Jan 2020 04:09:18 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Скриптовые языки программирования&lt;br /&gt;Автор темы: akva444&lt;br /&gt;Автор последнего сообщения: afq&lt;br /&gt;Количество ответов: 4</description>
			<content:encoded>Здравствуйте.&lt;br /&gt;&lt;br /&gt;Сразу скажу, что в деле игростроения (создание модов и прочее)&lt;br /&gt;я ещё новичок. Мне самостоятельно удалось во многом разобраться.&lt;br /&gt;Чтобы добраться до нужных файлов, которые нужно изменить при&lt;br /&gt;создании модов, научилась распаковывать игровые архивы...&lt;br /&gt;&lt;br /&gt;Но очень быстро поняла, что без хороших знаний сделать&lt;br /&gt;полноценный мод - невозможно. &lt;br /&gt;Так, например, FreeRide для Mafia 2 (я с этого начинала) написан&lt;br /&gt;на скриптовом языке Lua. На вашем сайте нашла:&lt;br /&gt;&lt;br /&gt;https://gcup.ru/publ/engines/programmirovanie_v_leadwerks_na_lua_vvedenie/2-1-0-218&lt;br /&gt;&lt;br /&gt;Там описан процесс создания простого скрипта.&lt;br /&gt;&lt;br /&gt;= = = = = = = =&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Посоветуйте пожалуйста учебник по Lua скриптам (ссылка или название)&lt;br /&gt;с помощью которого можно научиться писать Lua скрипты.&lt;/b&gt;</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>akva444</dc:creator>
			<guid>https://gcup.ru/forum/7-101779-1</guid>
		</item>
		<item>
			<title>Node.JS, Java Script и все что с этим связано.</title>
			<link>https://gcup.ru/forum/7-29501-1</link>
			<pubDate>Sat, 05 Oct 2019 09:55:42 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: AGENTX001&lt;br /&gt;Автор последнего сообщения: v1rus&lt;br /&gt;Количество ответов: 21</description>
			<content:encoded>Мы с товарищами Vinchesoo и Kvins развели неслабый треш по этому поводу. Решили переехать сюда, дабы не захламлять форум. (&lt;a class=&quot;link&quot; href=&quot;http://gcup.ru/forum/9-25295-5&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Начало&lt;/a&gt;)</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>AGENTX001</dc:creator>
			<guid>https://gcup.ru/forum/7-29501-1</guid>
		</item>
		<item>
			<title>Как начать</title>
			<link>https://gcup.ru/forum/7-101811-1</link>
			<pubDate>Tue, 02 Jul 2019 06:02:33 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: DrVooDoo&lt;br /&gt;Автор последнего сообщения: Xakep&lt;br /&gt;Количество ответов: 22</description>
			<content:encoded>В общем хочу спросить как научиться погромировать.&lt;br /&gt;Не учить язык чтобы знать тонкости, с языка на язык не так трудно перейти, справку почитать лишь (ирония).&lt;br /&gt;А как научиться именно программировать. Алгоритмы (все вот эти сортировки), планирование программ, методы, логика и прочее.&lt;br /&gt;Где такое можно почитать?</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>DrVooDoo</dc:creator>
			<guid>https://gcup.ru/forum/7-101811-1</guid>
		</item>
		<item>
			<title>xcode не видит девайс</title>
			<link>https://gcup.ru/forum/7-101676-1</link>
			<pubDate>Sun, 05 May 2019 16:08:30 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Компиляция игры&lt;br /&gt;Автор темы: Game_maker_8&lt;br /&gt;Автор последнего сообщения: martuk&lt;br /&gt;Количество ответов: 1</description>
			<content:encoded>Пробую скомпилить игру на ios. Движок Game maker studio. Настроил гмс, нажимаю скомпилить но не получается т.к xcode не настроен, выходит ошибка &lt;br /&gt;&lt;img src=&quot;https://pp.userapi.com/c855028/v855028996/38107/s4Xndxso_WU.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;br /&gt;&lt;br /&gt;Вероятно дело в том, что не подключен девайс,подрубаю айфон через юсб ,на айфоне нажимаю &quot;разрешить&quot;(или как-то так) ,но в xcode ничего не происходит&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;https://pp.userapi.com/c855028/v855028996/38110/Jgglbwcm76k.jpg&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;br /&gt;&lt;br /&gt;1)Как сделать чтобы девайс обнаружился?&lt;br /&gt;2) Нужно ли связывать как-то айфон и аккаунт разработчика?</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>Game_maker_8</dc:creator>
			<guid>https://gcup.ru/forum/7-101676-1</guid>
		</item>
		<item>
			<title>Кто поможет реализовать небольшую задачу?</title>
			<link>https://gcup.ru/forum/7-101586-1</link>
			<pubDate>Tue, 26 Mar 2019 23:21:53 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: 2d игра на Phaser 2, в целях обучения&lt;br /&gt;Автор темы: 2x2&lt;br /&gt;Автор последнего сообщения: 2x2&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Привет =) Делаю простейшую игру в целях обучения. Игра Ping-Pong на JavaScript и движке Phaser 2.&lt;br /&gt;Хочу сделать, чтобы можно было менять скорость передвижения шарика прямо во время игры.&lt;br /&gt;Тобишь нажатием на кнопку паузы игра останавливается и вылетает меню с выбором скорости(всего 6 режимов скорости).&lt;br /&gt;После выбора скорости и закрытия этой меню скорость шарика сразу изменяется.&lt;br /&gt;вот сама игра http://f0283831.xsph.ru&lt;br /&gt;Если нужно могу архив с исходниками прикрепить.&lt;br /&gt;&lt;br /&gt;Не могу сообразить как это реализовать.&lt;br /&gt;Может кто то хотяб намекнёт))) &lt;br /&gt;Буду очень благодарен за любую помощь мне в обучении))</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>2x2</dc:creator>
			<guid>https://gcup.ru/forum/7-101586-1</guid>
		</item>
		<item>
			<title>Хочу научиться программировать игры.</title>
			<link>https://gcup.ru/forum/7-101213-1</link>
			<pubDate>Tue, 27 Nov 2018 20:39:18 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Добрый день! Я хочу научиться программировать игры. Помогите&lt;br /&gt;Автор темы: dexxxle&lt;br /&gt;Автор последнего сообщения: puksus&lt;br /&gt;Количество ответов: 15</description>
			<content:encoded>Я ученик старших классов, имею некоторые познания в python`е, но очень поверхностные. Помогите, пожалуйста, с выбором языка, движка и материала для изучения. &lt;br /&gt;&lt;br /&gt;P.S. Мне бы хотелось научиться именно программировать, так что, думаю, конструкторы игр мне не подойдут.</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>dexxxle</dc:creator>
			<guid>https://gcup.ru/forum/7-101213-1</guid>
		</item>
		<item>
			<title>Изучение ЯП как хобби, несколько вопросов.</title>
			<link>https://gcup.ru/forum/7-100838-1</link>
			<pubDate>Thu, 16 Aug 2018 01:41:24 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Требуется помощь с выбором ЯП&lt;br /&gt;Автор темы: AllJunior&lt;br /&gt;Автор последнего сообщения: cherepets&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Доброго времени суток!&lt;br /&gt;В последнее время образовалось очень много свободного времени(Работа 2/2 и возможность уделять на работе время не только работе). В связи с этим решил найти себе хобби и остановился на программировании. На данный момент мои знания очень скудные. После долгих поисков я решил остановиться на двух ЯП и выбирать уже среди них, это java и c#. Выбрать что-то одно так и не смог, поэтому и обращаюсь сюда. &lt;br /&gt;Для понимания опишу то, что мне хотелось бы реализовать:&lt;br /&gt;Мне всегда была интересна разработка игр, поэтому хотелось бы использовать свои знания в данном направлении. Идеальным вариантом вижу мультиплеерную песочницу в 2д пространстве. Примеры таких игр:Rogalia,virtles,Haven and Hearth(тут уже не 2д, но тематика похожа). &lt;br /&gt;Погодите кидаться камнями, я не собираюсь делать убийцу ультимы или нечто подобное, данные проекты я привел в пример т.к они были реализованы небольшими командами. Следовательно помеха к реализации подобного проекта мной - лень, либо недостаток знаний. Я не собираюсь сразу пытаться делать такой проект, это просто то, чем мне было бы интересно заниматься после получения достаточных знаний(Чтение книг, реализация более простых проектов), я понимаю что мне придётся потратить огромное количество времени и сил даже на простейшие приложения, но для этого я и ищу хобби. Идеальным проектом вижу песочницу т.к там можно реализовать огромное количество идей и механик, а это значит что будет получено много опыта. Я понимаю что такой проект может не взлететь(пример та же Rogalia, на которую было потрачено 4 года разработки, в которой сейчас практически нулевой онлайн), но мой проект будет гораздо меньших масштабов и скорее для саморазвития(а возможно и для будущего работодателя, чтобы показать&quot;Смотри как я могу&quot;). Прошу прощение за огромное предисловие, просто читая форум видел как на подобные посты накидываются и поэтому посчитал нужным объясниться.&lt;br /&gt;Теперь к ЯП и плюсам/минусам которые я заметил(Вглядом НЕпрограммиста)&lt;br /&gt;1.C#&lt;br /&gt;С этим ЯП мало знаком, но он в списке моих фаворитов т.к после чтения форума, об этом ЯП сложилось впечатление как об одном из самых современных и продвинутых(ну и ещё как я понял зная его, можно ковыряться в unity, в котором по словам знакомого можно реализовать любую задумку)&lt;br /&gt;2.Java&lt;br /&gt;На java были написаны игры, которые я привел в пример(Кроме Rogalia), следовательно можно реализовать мою задумку.&lt;br /&gt;Так же по словам программистов работающих с java, на нём можно писать программы на всё: от чайников и калькуляторов, до суперкомпьютеров и космических кораблей.&lt;br /&gt;Из минусов:&lt;br /&gt;У меня сложилось нехорошее впечатление о производительности игр на java т.к только на java играх замечал частые вылеты и ошибки.&lt;br /&gt;Прошу людей с опытом помочь с выбором ЯП и обучающих материалов для них(для новичков, но желательно с большим количеством практических заданий).</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>AllJunior</dc:creator>
			<guid>https://gcup.ru/forum/7-100838-1</guid>
		</item>
		<item>
			<title>Вершинный шейдер</title>
			<link>https://gcup.ru/forum/7-100742-1</link>
			<pubDate>Thu, 26 Jul 2018 13:15:29 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: zhuravelsv&lt;br /&gt;Автор последнего сообщения: zhuravelsv&lt;br /&gt;Количество ответов: 3</description>
			<content:encoded>Можно ли с помощью вершинного шейдера сделать перемещение mesh&apos;a в пространстве? (например так: юнити (да и вообще любой другой движок) как-то передаёт в шейдер какие-то параметры, что если сделать параметр к примеру Offset и туда передавать координаты mesh&apos;a в пространстве, и соответственно этот шейдер будет смещать координаты каждой точки на это значение)&lt;br /&gt;&lt;br /&gt;То есть собственно что я хочу: один раз скопировать вершини в буффер и дальше рендерить их и не пересчитывать каждый раз координаты на CPU когда объект перемещается&lt;br /&gt;&lt;br /&gt;Сори за возможно глупый вопрос, недавно в качестве хобби начал изучать opengl посредством OpenTK, и пока мало в этом разбираюсь (с шейдерами до этого вообще никак и никогда не работал).</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>zhuravelsv</dc:creator>
			<guid>https://gcup.ru/forum/7-100742-1</guid>
		</item>
		<item>
			<title>воспроизведение игры в окне редактора движка</title>
			<link>https://gcup.ru/forum/7-100724-1</link>
			<pubDate>Sat, 21 Jul 2018 23:27:36 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: afq&lt;br /&gt;Автор последнего сообщения: BADCOIQ&lt;br /&gt;Количество ответов: 10</description>
			<content:encoded>Как так делают? Видел в unity, что в редакторе можно запустить проект игры и играть в самом редакторе, то же самое видел и unreal engine, как такое можно сделать, не пойму?</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>afq</dc:creator>
			<guid>https://gcup.ru/forum/7-100724-1</guid>
		</item>
		<item>
			<title>Вес кода вашей игры</title>
			<link>https://gcup.ru/forum/7-100488-1</link>
			<pubDate>Sat, 02 Jun 2018 18:05:49 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: интересно&lt;br /&gt;Автор темы: Эргалон&lt;br /&gt;Автор последнего сообщения: TLT&lt;br /&gt;Количество ответов: 6</description>
			<content:encoded>Делитесь весом чисто вашего кода, вашей игры/приложения, который дольше всего делали/делайте)&lt;br /&gt;Мои.&lt;br /&gt;&lt;b&gt;Клиентские код.&lt;/b&gt;&lt;br /&gt;1,19 МБ (1 250 603 байт)&lt;br /&gt;&lt;b&gt;Конфигурация клиента.&lt;/b&gt;&lt;br /&gt;163 КБ (166 990 байт)&lt;br /&gt;&lt;b&gt;Серверный код.&lt;/b&gt;&lt;br /&gt;439 КБ (450 315 байт)&lt;br /&gt;&lt;b&gt;Конфигурация сервера.&lt;/b&gt;&lt;br /&gt;47,3 КБ (48 446 байт)</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>Эргалон</dc:creator>
			<guid>https://gcup.ru/forum/7-100488-1</guid>
		</item>
		<item>
			<title>Интересует перенос инфы</title>
			<link>https://gcup.ru/forum/7-100425-1</link>
			<pubDate>Sat, 26 May 2018 13:25:54 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: kirilkuicin&lt;br /&gt;Автор последнего сообщения: HipDolgin&lt;br /&gt;Количество ответов: 1</description>
			<content:encoded>Приветствую. Утеряна учётка, точнее она старая и нет возможности вернуть к ней доступ. Нет ost файла. а есть бекаповский в архиве pst. На данный момент есть варианты снова вернуться к outlook или остаться на mozile. К чему пишу, возникла необходимость достать, прочесть, перенести - любой из вариантов, контактную базу с почтового клиента.&lt;br /&gt;При импорте-экспорте папки появляются, а вот переписка не вся и контакт лист тоже частично переноситься. &lt;br /&gt;Возможно ли microsoft outlook исправить или как-то открыть и перенести базу?</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>kirilkuicin</dc:creator>
			<guid>https://gcup.ru/forum/7-100425-1</guid>
		</item>
		<item>
			<title>Как использовать камеру в мобильном приложении</title>
			<link>https://gcup.ru/forum/7-100331-1</link>
			<pubDate>Thu, 03 May 2018 09:56:30 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Нужна помощь!&lt;br /&gt;Автор темы: jone157&lt;br /&gt;Автор последнего сообщения: jone157&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Столкнулся с проблемой, надо в мобильном приложении сделать возможность фотографирования с камеры телефона, желательно и для ios, и для android. Может кто работал с этим и сможет помочь советом. Причем ЯП подойдет любой, но желательно Qt/c++.</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>jone157</dc:creator>
			<guid>https://gcup.ru/forum/7-100331-1</guid>
		</item>
		<item>
			<title>Есть идея, внутренний голос подтолкнул спросить у вас ))))</title>
			<link>https://gcup.ru/forum/7-100290-1</link>
			<pubDate>Sun, 22 Apr 2018 08:58:56 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: разрешите обратиться&lt;br /&gt;Автор темы: mironoffalex2408&lt;br /&gt;Автор последнего сообщения: Christopher&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>(заранее хочу вас предупредить я полный нол. в программирование мой уровень , пользователь пк) И так сижу я тут сижу , и поймал себя на мысли .... можно ли? , каким образом? как это блин правильно называется , вообщем нужна новая платежная система, которая не вчем не будет уступать киви , яндекс деньги , вэб мани? мне желательно по проще объясните т.е. простым языком , если впринцепи это реально , то тогда вопрос 2...... !!!! прошу ......&lt;br /&gt; просто чтоб не выглядить &quot;дураком&quot; при вопросе номер 2 я хочу узнать как это работат.&lt;br /&gt;</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>mironoffalex2408</dc:creator>
			<guid>https://gcup.ru/forum/7-100290-1</guid>
		</item>
		<item>
			<title>Разработка мобильного приложения</title>
			<link>https://gcup.ru/forum/7-100285-1</link>
			<pubDate>Sat, 21 Apr 2018 19:54:24 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Нужна помощь!&lt;br /&gt;Автор темы: jone157&lt;br /&gt;Автор последнего сообщения: Christopher&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Доброго времени суток, у меня вопрос к людям которые имели опыт работы с мобильными приложениями. Какую среду, язык или фреймворк сейчас лучше всего использовать для разработки мобильного приложения с 3D графикой. Знаю что есть возможность работы с OpenGL ES и с QT, но есть ли более эффективные и возможно популярные способы разработки приложения для IOS и Android. Был бы очень благодарен услышать советы и мнение на этот счет.</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>jone157</dc:creator>
			<guid>https://gcup.ru/forum/7-100285-1</guid>
		</item>
		<item>
			<title>Декартова с.к и изометрическая карта</title>
			<link>https://gcup.ru/forum/7-100237-1</link>
			<pubDate>Thu, 12 Apr 2018 07:43:09 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: goldsphere&lt;br /&gt;Автор последнего сообщения: goldsphere&lt;br /&gt;Количество ответов: 4</description>
			<content:encoded>Довольно давно уже думаю над вопросом как зная мировые координаты в обычной декартовой с.к. вычислить индексы клетки на изометрической карте, которой эти кординаты принадлежат?&lt;br /&gt;Вот такая картинка (сетку немного криво нарисовал). Красные линии дают нам декартову с.к. с мировыми координатами. При это высотка ромба 31, ширина 62. Синие - отсчёт индексов клеток на карте&lt;br /&gt;&lt;img src=&quot;https://preview.ibb.co/b1xc4x/1.png&quot; border=&quot;0&quot; alt=&quot;&quot;/&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Добавлено&lt;/b&gt; (11 Апреля 2018, 09:15)&lt;br /&gt;---------------------------------------------&lt;br /&gt;Up. Картинка не залилась в первый раз</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>goldsphere</dc:creator>
			<guid>https://gcup.ru/forum/7-100237-1</guid>
		</item>
		<item>
			<title>Не могу сделать завершение игры у кроссвордов</title>
			<link>https://gcup.ru/forum/7-100126-1</link>
			<pubDate>Wed, 28 Mar 2018 10:28:51 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: DeveloperGame&lt;br /&gt;Автор последнего сообщения: DeveloperGame&lt;br /&gt;Количество ответов: 4</description>
			<content:encoded>Я написал бесплатную онлайн игру на html и javascript, там нужно разгадывать &lt;a class=&quot;link&quot; href=&quot;https://gcup.ru/go?http://vagon-igr.ru/flash/razgadyvat_krossvordy_onlajn_besplatno/2018-03-12-2157-1/&quot; title=&quot;http://vagon-igr.ru/flash/razgadyvat_krossvordy_onlajn_besplatno/2018-03-12-2157-1/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;кроссворды&lt;/a&gt;. И теперь я не знаю как завершить игру так чтобы после отгадывание всех слов появлялась сообщение alert(&quot;Кроссворд разгадан!&quot;). Ответы на вопросы находятся в массива cross1 и выглядит это вот так.&lt;br /&gt;&lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Код&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;&quot;&gt;&lt;!--uzc--&gt;&lt;br /&gt;cross1&amp;#91;lvl] = &amp;#91;&amp;#91;&quot;ответ1&quot;,&quot;false&quot;],&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#91;&quot;ответ2&quot;,&quot;false&quot;],&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#91;&quot;ответ3&quot;,&quot;false&quot;],&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#91;&quot;ответ4&quot;,&quot;false&quot;],&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#91;&quot;ответ5&quot;,&quot;false&quot;],&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#91;&quot;ответ6&quot;,&quot;false&quot;],&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#91;&quot;ответ7&quot;,&quot;false&quot;]];&lt;br /&gt;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;br /&gt;false - это что-то вроде флага, когда пользователь вводит слово и если оно правильно то false сменяется на true. Поэтому нужно чтобы в игре цикл проходился по всему массиву и если там все true то выводился бы alert(&quot;Кроссворд разгадан!&quot;). Как это сделать?</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>DeveloperGame</dc:creator>
			<guid>https://gcup.ru/forum/7-100126-1</guid>
		</item>
		<item>
			<title>хочу выучить vbs по стотьям но не могу найти стати</title>
			<link>https://gcup.ru/forum/7-100115-1</link>
			<pubDate>Sun, 25 Mar 2018 04:34:03 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: gemcd&lt;br /&gt;Автор последнего сообщения: vampir0305&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>дайте пару источников где можно выучить vbs</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>gemcd</dc:creator>
			<guid>https://gcup.ru/forum/7-100115-1</guid>
		</item>
		<item>
			<title>iOS: Как работает ОЗУ?</title>
			<link>https://gcup.ru/forum/7-100059-1</link>
			<pubDate>Sat, 17 Mar 2018 12:47:40 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: zhuravelsv&lt;br /&gt;Автор последнего сообщения: zhuravelsv&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Добрый день, есть проблема: в одном приложении которое использует примерно 600-700 мб озу, на 5/6 айфоне при повторном запуске происходит краш приложения (во время загрузки ресурсов и ассет бандлов), а теперь более детально по шагам:&lt;br /&gt;&lt;br /&gt;1. Запускаю приложение, оно работает отлично&lt;br /&gt;2. Закрываю его в &quot;диспетчере задач&quot; (не знаю как правильно в иос это называется), и:&lt;br /&gt; 2.1 Открываю сразу же повторно (оно в 30-40% случаев крашится во время загрузки)&lt;br /&gt; 2.2 Или Немного жду (минуту к примеру) и запускаю - всё отлично&lt;br /&gt;&lt;br /&gt;И есть один нюанс, если оно закрашилось на пункте 2.1, оно просто закрывается, &lt;b&gt;НО в диспетчерез задач оно висит с скриншотом от последнего удачного запуска&lt;/b&gt;, когда оно работало нормально, хотя тот экземпляр приложения я закрыл через диспетчер так же, и после него и другое ещё запустил (которое и закрашилось во время загрузки (в отдельной сцене). Получается что часть данных сама система (иОС) кеширует, независимо от того закрыли ли приложение (и кеширует на некоторое ограниченное время), и самое интересное что если рабочий экземпляр загрузил много ресурсов в память, пользователь его закрыл, то при выполнении пункта 2.1 крашится будет намного чаще, вот собственно и вопрос, как это работает, и что кеширует в память иОС&lt;br /&gt;&lt;br /&gt;П.С. Приложение на юнити&lt;p&gt;&lt;b&gt;Добавлено&lt;/b&gt; (16 Марта 2018, 18:44)&lt;br /&gt;---------------------------------------------&lt;br /&gt;на более новых устройствах приложение работает нормально, то есть не хватает ему ОЗУ (нужно 2ГБ), но так как при первом запуске (или если подождать немного после последнего запуска) всё работает отлично, то собственно и есть само предположение что система что-то сохраняет в памяти, что потом и мешает ему нормально выполнить загрузку (крашится приложение так как это обычно происходит при нехватке памяти, просто закрывается с небольшим подвисанием системы но в диспетчере остаётся)&lt;p&gt;&lt;b&gt;Добавлено&lt;/b&gt; (16 Марта 2018, 18:44)&lt;br /&gt;---------------------------------------------&lt;br /&gt;и ещё дополню, тестирование проводилось на 11+ версиях иОС&lt;p&gt;&lt;b&gt;Добавлено&lt;/b&gt; (16 Марта 2018, 18:50)&lt;br /&gt;---------------------------------------------&lt;br /&gt;и ещё одно дополнение: на андроиде вообще никаких подобных проблем не наблюдается, значит это какая-то иОС-специфичная проблема в работе с озу (андроид лучше чем иОС &lt;img rel=&quot;usm&quot; src=&quot;https://gcup.ru/SML/deal.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;deal&quot; /&gt; )&lt;p&gt;&lt;b&gt;Добавлено&lt;/b&gt; (17 Марта 2018, 15:47)&lt;br /&gt;---------------------------------------------&lt;br /&gt;up &lt;img rel=&quot;usm&quot; src=&quot;https://gcup.ru/SML/wacko.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;%)&quot; /&gt;</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>zhuravelsv</dc:creator>
			<guid>https://gcup.ru/forum/7-100059-1</guid>
		</item>
		<item>
			<title>Python + smpp (отсылка СМС по шлюзу)</title>
			<link>https://gcup.ru/forum/7-99945-1</link>
			<pubDate>Fri, 23 Feb 2018 10:50:21 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Описание темы: Знаю, что не особо в тему, но...&lt;br /&gt;Автор темы: tduk&lt;br /&gt;Автор последнего сообщения: tduk&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>Прошу вас) Вы последняя надежда &lt;img rel=&quot;usm&quot; src=&quot;https://gcup.ru/SML/cry.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;:&apos;(&quot; /&gt; Может кто знает как использовать python и smpp?? По библиотеке smpplib очень мало инфы. Может кто работал с этой технологией?</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>tduk</dc:creator>
			<guid>https://gcup.ru/forum/7-99945-1</guid>
		</item>
		<item>
			<title>Программа-почтовик</title>
			<link>https://gcup.ru/forum/7-99804-1</link>
			<pubDate>Fri, 26 Jan 2018 08:21:13 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://gcup.ru/forum/7&quot;&gt;Общие обсуждения программистов&lt;/a&gt;&lt;br /&gt;Автор темы: Sholar&lt;br /&gt;Автор последнего сообщения: djwirtuoz&lt;br /&gt;Количество ответов: 3</description>
			<content:encoded>Где возможно такое собрать (рассматривается, простой вариант, хоть конструктор программ), с средними навыками прогрм.&lt;br /&gt;Нужна программа, в которой:&lt;br /&gt;Форма, с указанием эл. адресов (ввода, или просто выбора чекбоксом). &lt;br /&gt;Набор чек-боксов, от выбора которых, в конец или в начало текста письма, будут добавлены спец. предложения.&lt;br /&gt;основное поле письма, текстовое поле (тут пояснять я думаю не нужно).&lt;br /&gt;Возможность прикреплять файлы (до ~5 шт.)&lt;br /&gt;&lt;br /&gt;Цель: Открыть программу. Выбрать чекбоксы, написать текст письма, прикрепить файлы, нажать отправить.&lt;br /&gt;&lt;br /&gt;Итог: От выбранных чекбоксов и текста письма, формируется общее письмо, и отправляется на нужные адреса (зависит от выбранных чекбоксов) с прикрепленным файлами.&lt;br /&gt;&lt;br /&gt;ИДЕАЛЬНО будет, если еще будет под каждый ел. адрес опр. набор прикрепляемых файлов.&lt;br /&gt;&lt;br /&gt;Все эти функции я собрал (внимание) в VBA, но собирать и отправлять по разным адресам приходится в ручную, нужно автоматизировать этот процесс, поэтому задумался о простенькой программке.</content:encoded>
			<category>Общие обсуждения программистов</category>
			<dc:creator>Sholar</dc:creator>
			<guid>https://gcup.ru/forum/7-99804-1</guid>
		</item>
	</channel>
</rss>