Среда, 04 Декабря 2024, 11:59

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
YellowAfterlifeДата: Понедельник, 27 Мая 2013, 21:08 | Сообщение # 401 | Тема: Головоломочка(Коллизии)
Сейчас нет на сайте
Код
if (place_free(x, y)) { // если объект не находится в стене,
     image_angle += rotation; // поворачиваем объект
     if (!place_free(x, y)) { // если после этого объект застрял в стене,
         image_angle -= rotation; // отменяем поворот
     }
}


YellowAfterlifeДата: Воскресенье, 19 Мая 2013, 19:33 | Сообщение # 402 | Тема: Шифрование изображений и их дешифрование.
Сейчас нет на сайте
Цитата (GameMix)
Abel399, урок от LunarPixel, который поможет тебе.

Стоит заметить что чтение файлов (а так же попиксельное рисование) в GameMaker проходит слишком медленно для того чтобы это можно было хоть как-то использовать для средних и крупных изображений.
Реалистичными для выполнения в самом ГМ (без внешних длл) методами являются шифрование заголовка файла (без знания размерности и файлового формата пользователь вряд ли что-то сделает) и "перемешивание" содержимого изображений (текущие версии GMObfuscator предоставляют такой функционал).
Второй вариант не дает "настоящего" шифрования, но из перемешанной пиксельной каши восстановить исходное изображение пользователь, скорее всего, не сможет.

Еще одним интересным вариантом было бы использование стандартного формата .gmspr (что может быть быстро загружен через sprite_add_sprite), но возможности сохранять его из игры нет, и никакой документации по формату мне пока находить не доводилось.


YellowAfterlifeДата: Воскресенье, 19 Мая 2013, 15:57 | Сообщение # 403 | Тема: Цвет текста
Сейчас нет на сайте
Цитата (Deswing)
А как быть с мерцанием?

От мерцания можно избавиться лишь если перерисовывать только те ячейки, что изменились с прошлого кадра (например, игрок передвинулся - стираем "Р" из прошлой ячейки на экране и записываем в новую). В этом поможет SetConsoleCursorPosition ~ http://msdn.microsoft.com/ru-RU/library/windows/desktop/ms686025(v=vs.85).aspx (кто-нибудь скажите мне, почему ссылки на MSDN невозможно сделать "кликабельными")

Собственно, обещанная запись о цветах - http://ru.yal.cc/cpp-colored-text-via-winapi/




Сообщение отредактировал YellowAfterlife - Воскресенье, 19 Мая 2013, 23:20
YellowAfterlifeДата: Воскресенье, 19 Мая 2013, 05:58 | Сообщение # 404 | Тема: Цвет текста
Сейчас нет на сайте
Пример:
Код
int main(int argc, char* argv[]) {
       // получаем дескриптор вывода консоли
       HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
       // обычный темный зеленый текст:
       SetConsoleTextAttribute(hStdOut,
           FOREGROUND_GREEN);
       printf("Green\n");
       // яркий зеленый текст:
       SetConsoleTextAttribute(hStdOut,
           FOREGROUND_GREEN | FOREGROUND_INTENSITY);
       printf("Bright green\n");
       // константы можно совмещать для смешивания цветов:
       SetConsoleTextAttribute(hStdOut,
           FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_INTENSITY);
       printf("Yellow\n");
       // есть константы и для фонов:
       SetConsoleTextAttribute(hStdOut,
           BACKGROUND_BLUE | BACKGROUND_INTENSITY | FOREGROUND_RED |
           FOREGROUND_GREEN | FOREGROUND_BLUE | FOREGROUND_INTENSITY);
       printf("White on blue");
       // если \n записан с фоном, остаток строки будет с    
       // цветом этого фона, что может и не быть желанным
       SetConsoleTextAttribute(hStdOut,
           FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
       printf("\nNormal.\n");
       char s[1]; gets(s);
       return 0;
}
Возможно сделаю сегодня более детальную запись на блоге по этому поводу.

Обновлено: и, запись - http://ru.yal.cc/cpp-colored-text-via-winapi/




Сообщение отредактировал YellowAfterlife - Воскресенье, 19 Мая 2013, 23:18
YellowAfterlifeДата: Пятница, 17 Мая 2013, 14:42 | Сообщение # 405 | Тема: перевод числа.
Сейчас нет на сайте
Вероятно, наиболее оптимальный подход.
Но если данные вводятся пользователем, то большой разницы видно не будет.


YellowAfterlifeДата: Среда, 15 Мая 2013, 17:37 | Сообщение # 406 | Тема: Visual Studio C#
Сейчас нет на сайте
Наверное это немного "хак", но:
* Создаем вертикальный StackPanel (уже есть)
* Вставляем в него горизонтальные StackPanel (Orientation: Horizontal)
* Вставляем в горизонтальные панели сами кнопки.
На выходе получаем "табличный вариант", подобный table-tr-td в HTML DOM.
Например так:
Код
<Window x:Class="WpfTest.MainWindow"
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          Title="MainWindow" Height="212" Width="196">
      <Grid>
          <StackPanel Height="168" HorizontalAlignment="Center" Name="stackPanel1" VerticalAlignment="Center" Width="168" Grid.Row="0">
              <StackPanel Height="40" Name="stackPanel2" Width="160" HorizontalAlignment="Stretch" Orientation="Horizontal" Margin="0,4,0,0">
                  <Button Content="#" Height="32" Name="button1" Width="32" Margin="4" />
                  <Button Content="#" Height="32" Name="button2" Width="32" Margin="4" />
                  <Button Content="#" Height="32" Name="button3" Width="32" Margin="4" />
                  <Button Content="#" Height="32" Name="button4" Width="32" Margin="4" />
              </StackPanel>
              <StackPanel Height="40" Name="stackPanel3" Orientation="Horizontal" Width="160">
                  <Button Content="#" Height="32" Margin="4" Name="button5" Width="32" />
                  <Button Content="#" Height="32" Margin="4" Name="button6" Width="32" />
                  <Button Content="#" Height="32" Margin="4" Name="button7" Width="32" />
                  <Button Content="#" Height="32" Margin="4" Name="button8" Width="32" />
              </StackPanel>
              <StackPanel Height="40" Name="stackPanel4" Orientation="Horizontal" Width="160">
                  <Button Content="#" Height="32" Margin="4" Name="button9" Width="32" />
                  <Button Content="#" Height="32" Margin="4" Name="button10" Width="32" />
                  <Button Content="#" Height="32" Margin="4" Name="button11" Width="32" />
                  <Button Content="#" Height="32" Margin="4" Name="button12" Width="32" />
              </StackPanel>
              <StackPanel Height="40" Name="stackPanel5" Orientation="Horizontal" Width="160">
                  <Button Content="#" Height="32" Margin="4" Name="button13" Width="32" />
                  <Button Content="#" Height="32" Margin="4" Name="button14" Width="32" />
                  <Button Content="#" Height="32" Margin="4" Name="button15" Width="32" />
                  <Button Content="#" Height="32" Margin="4" Name="button16" Width="32" />
              </StackPanel>
          </StackPanel>
      </Grid>
</Window>

P.S.: Уже некоторое время не видел чтобы люди активно разрабатывали что-либо на WPF. Что привело к использованию данного фреймворка?




Сообщение отредактировал YellowAfterlife - Среда, 15 Мая 2013, 17:37
YellowAfterlifeДата: Четверг, 31 Мая 2012, 11:09 | Сообщение # 407 | Тема: GCUP/Light
Сейчас нет на сайте
Quote (arrow25)
жму get new scripts, перехожу на сайт http://userscripts.org/ там жму на первый самый(чето вроде про фейсбук написано) кидает на новый сайт, че за водоворот?
вообщем ну его нах), хром и так жрет своими плагинами половину оперативки и проца в топку это.

Вроде бы расписал ведь, и это установка userscript еще ни у кого проблем не вызывала.
Quote (YellowAfterlife)
Google Chrome:
1. Установить дополнение Tampermonkey или аналогичное (если у вас его еще нет).
2. Перейти по ссылке на скрипт, браузер предложит установить его как пользовательский скрипт Tampermonkey или открыть. Выбираете пользовательский скрипт.
3. Обновить страницу форума - должен применится стиль.

Не могу назвать TamperMonkey затратным плагином, т.к. большая часть скриптов выполняется лишь на загрузке страницы, и других "следов" не оставляют.


YellowAfterlifeДата: Четверг, 31 Мая 2012, 03:28 | Сообщение # 408 | Тема: GCUP/Light
Сейчас нет на сайте
Что это такое: Это - расширение для GreaseMonkey (Firefox) / TamperMonkey (Chrome) / Userscript (Opera), которое путем нехитрых манипуляций изменяет внешний вид форума.
В данном случае, результат - серо-бело-синяя окраска форума, вместе с типичными корректировками стилей отдельных элементов, которые обычно принято вносить через панель управления.
Скрипт: (ссылка)
Таблица стилей: (ссылка)
Скриншоты:
*

* Блок рекламы не отображен в целях приватности и потому что мне не очень хотелось обновлять страницу до тех пор пока там будет что-то достойное\интересное.
Заметные изменения:
» Непосредственная цветовая схема. Просмотр больших оранжевых страниц не является в списке предпочитаемых занятий для меня, поэтому я сделал более нейтральную цветовую тему, отдающую должное раскраскам SMF и IPB.
» "Левый столбик", содержащий информацию о пользователях и часть формы ответа, теперь всегда имеет фиксированную длину. Наиболее будет оценено пользователями широкоформатных мониторов.
» Форма ответа использует моноширинный текст.
» Цитаты\фрагменты кода имеют русские подписи и выглядят лучше (есть отступы от краев, более сбалансированный шрифт и сочетание с фоном)
» Разрешения для под-форума подсвечиваются зеленым\красным для упрощения понимания.

Установка:
Mozilla Firefox:
1. Установить дополнение Greasemonkey (если у вас его еще нет), перезапустить браузер. Дополнение можно найти с помощью поиска по дополнениям.
2. Перейти по ссылке на скрипт, браузер должен предложить установить его как скрипт для Greasemonkey.
3. Обновить страницу форума - должен применится стиль.
4. Если текст не появился, зайти в Greasemonkey - управление расширениями. Выбрать установленное расширение, и вручную добавить "http://gcup.ru/forum/*" в список охватываемых страниц.

Google Chrome:
1. Установить дополнение Tampermonkey или аналогичное (если у вас его еще нет).
2. Перейти по ссылке на скрипт, браузер предложит установить его как пользовательский скрипт Tampermonkey или открыть. Выбираете пользовательский скрипт.
3. Обновить страницу форума - должен применится стиль.

Opera
1. Выбираем меню "Инструменты - Общие настройки"
2. В открывшемся окне выбираем "Расширенные - Содержимое - Настроить JavaScript..."
3. Смотрим поле "Папка пользовательских файлов JavaScript". Если там ничего нет, создаем новую папку и устанавливаем ее туда.
4. Скачиваем файл по ссылке в вышеупомянутую папку. Перезапускаем Opera.

Возможно интересующая информация:
» Исходный код / что в нем происходит:
Несмотря на 90 строк кода в JavaScript файле, никакой черной магии в нем не случается - с помощью заданных в нем же функций индексируются попадающие под нужные критерии элементы и им даются нужны для применения стиля свойства. В коде даже есть комментарии, немного объясняющие что делают каждые несколько строк.
» Что делать если тема применяется с задержкой достаточно долгой чтобы вас раздражать:
Предоставленная ссылка на CSS файл будет работать с UserStyle расширениями. При использовании лишь JavaScript части тема применяется лишь после окончания загрузки страницы, что происходит из-за общих принципов выполнения оного. Расширения, позволяющие добавлять таблицы стилей для страниц, не имеют этого ограничения так как выполняются вместе с страницей и не требуют ее полноценной загрузки.
» Почему тема охватывает лишь форум:
Создание данного расширения в его текущем виде заняло значительное количество времени (более 6 часов с учетом процесса изучения текущего устройства стилей и возможностей модификации), и добавление дополнительных модулей для обработки прибавило аналогичное или даже большее количество времени к этому. В связи с тем, что исходный код открытый, можно внести свою правку для стилизации других модулей.
» Можно ли сделать другую тему на базе этой:
Да, можно - просто отредактируйте .css файл, и одну из последних строк в .js файле чтобы она указывала на загруженный на хостинг .css.

Надеюсь, это будет для кого-то полезным.
Хорошего дня.


YellowAfterlifeДата: Среда, 30 Мая 2012, 20:24 | Сообщение # 409 | Тема: Вспылающее меню
Сейчас нет на сайте
Quote (Abel399)
А есть еще какие-нибудь примеры? А то просто этот не совсем подходит(

Подробнее о "не подходит", если можно.
Пример сделан за несколько минут, и подходит под типичную организацию игр.

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


YellowAfterlifeДата: Среда, 30 Мая 2012, 19:55 | Сообщение # 410 | Тема: Хочу изучить Java что-бы делать игры типа MineCraft.
Сейчас нет на сайте
Приблизительный порядок изучения:
* Основы Java
* Объектно-ориентированное программирование
* Графика
* Использование LWJGL
* Мультиплеер
Для заметки, это займет несколько (или не несколько - зависит от частного случая) лет.
Увидимся позже.


YellowAfterlifeДата: Среда, 30 Мая 2012, 15:54 | Сообщение # 411 | Тема: spr_+argument0 = spr_mp446
Сейчас нет на сайте
Quote (Фил)
В самое начало вставляй этот код:

Метод неоптимален:
* Поиск по ds_list занимает больше времени, нежели доступ к ds_map (cм. пример в записи, на который ссылается мое сообщение)
* Подразумевает определенный перфекционизм относительно распределения ресурсов - если один из спрайтов был добавлен, а позже удален, то метод не найдет ни один спрайт с индексом выше.


YellowAfterlifeДата: Среда, 30 Мая 2012, 13:25 | Сообщение # 412 | Тема: Tululoo HTML5 Game Maker
Сейчас нет на сайте
Quote (allxumuk)
Заглядывай как-нибудь на love2d.ru, а то народу совсем нет.

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

Причину нехватки посещений сайтов, связанных с love2d увидеть несложно - безусловно, это хороший движок, но разработка игр на нем подобна разработке игр на "чистом" JS+HTML5 - возможно и реалистично, но большая часть людей не будет этим заниматься из-за накладываемых требований, ограничений, и проблем которые нужно решать.
Хорошими примерами являются системы экземпляров (с сортировкой по глубине) и столкновения. Ни то, ни другое не требует огромных знаний, но не имеющий опыта работы с ними человек быстро застрянет и сдасться.

То есть, с одной стороны, разработать аналогичный фреймворк для упрощения создания игр на Love2d не так уж и сложно, но в том же tululoo 1300 строк JavaScript кода для "обертывания" простых в использовании функций, что определенно требует некоторое время на написание и отладку.


YellowAfterlifeДата: Среда, 30 Мая 2012, 10:58 | Сообщение # 413 | Тема: spr_+argument0 = spr_mp446
Сейчас нет на сайте
execute_string() - плохая идея, из-за медленной скорости работы, и в текущих версиях GameMaker эта функция уже не поддерживается.
Имеет смысл использовать что-то вроде этой системы для нахождения ресурсов по имени.


YellowAfterlifeДата: Вторник, 29 Мая 2012, 21:08 | Сообщение # 414 | Тема: Люди скажите пожалуйста какой конструктор 2D-игр лучше?
Сейчас нет на сайте
Все мнения субьективны, и преимущества относительны.

Что нужно (со стороны движка) для того чтобы сделать хорошую двухмерную игру?
* Возможность рисования графики на экран, желательно с трансформациями либо низко-уровневым доступом для их симуляции.
* Возможность взаимодействия пользователя на том или ином уровне (мышь \ клавиатура \ джойстик \ другие устройства)
* Возможность воспроизведения звуков
* Скриптовый или язык программирования с базовыми операциями и структурами.
Все остальное - на совести разработчика, то есть вас.

На GameMaker сделан Super Crate Box, занявший призовые места сразу в нескольких категориях Independent Games Festival.
На нем же был сделан Dustforce, выигравший гранд в $100 000.
В прошедшие пол-года мы можем видеть игры, выпускаемые разработчиком программы (YoYoGames) на мобильные устройства, которые довольно хорошо работают и распостраняются, и в ближайшее время увидим больше оных от пользователей GameMaker: Studio. Упомянутая версия так же "исправляет" ряд недостатков связанных с производительностью, которые тянулись за программой долгое время.

На Construct сделан TowerClimb - игра, получившая достаточно большое распостранение несмотря на приблизительно нулевое вмешательство со стороны автора, которая сейчас переросла уже в более крупную коммерческую игру.
Так же (хоть и менее удачный пример) на нем сделан Phenomenon 32 - довольно атмосферная и сложная игра.
И другие игры, которые возможно кто-то перечислит.

Так же стоит заметить что нет какого-то универсального конструктора - именно поэтому в мире и есть множество популярных конструкторов для разных жанров, а не один "монополистический" продукт, "правящий миром".


YellowAfterlifeДата: Вторник, 29 Мая 2012, 20:29 | Сообщение # 415 | Тема: Помогите!Нужен Конструктор игр песочниц.
Сейчас нет на сайте
Как упомянуто выше, нет - такого конструктора нет.
Двухмерные и трехмерные игры с мирами, состоящими из множества блоков, требуют высокого уровня оптимизации и хорошей организации для того чтобы правильно работать.
Я делал пример бесконечного мира для GameMaker, но это лишь часть игр данного рода.
Легких способов создания таких игр нет, и нет особых надежд на их появление.


YellowAfterlifeДата: Вторник, 29 Мая 2012, 20:24 | Сообщение # 416 | Тема: Tululoo HTML5 Game Maker
Сейчас нет на сайте
Quote (AGENTX001)
Чувак, это html5!!! Там нет дивов!

Как нет div'ов? Div'ы есть везде гле есть HTML:
Code
var e = document.createElement('div');
e.style.color = 'red';
e.innerText = 'I am DIV and your statement is incorrect.';
document.body.appendChild(e);

На заметку пользователям, в Tululoo вы на самом деле пишете на JavaScript, и подавляющее большинство JS кода и методов будет работать.
При желании, вы даже можете "прикрутить" AJAX к своей игре, чтобы с легкостью манипулировать страницей под ней\вокруг нее.


YellowAfterlifeДата: Вторник, 29 Мая 2012, 20:01 | Сообщение # 417 | Тема: Видеоуроки HTML5 Tululoo Game Maker
Сейчас нет на сайте
В принципе, уроки полезные, но лишь немного более примеров. Или трансляций, если быть точнее.
Видна последовательность действий, но очень слабо объясняется, зачем они делаются - большая часть аудио просто комментирует действие которое будет происходить следующие 5 секунд.

Так же, в уроке про курсор есть ряд проблем:
* Используется битовое И "&" вместо логического И "&&"
* Отдельные сравнения не окружены скобками. Это не вызывает ошибки лишь из-за приоритета операторов, т.е. первая ошибка предотвращает эту. Но не факт что следующему по уроку пользователю так же повезет.
* Неясно, для чего в принципе нужно двигать курсор только в заданной области. Курсор не вылезет из холста, и не пробьет сторону окна пользователя, если этого не делать.
В том же уроке довольно депрессивная музыка, стоит заметить.
Представляется "поле боя" после сражения, и человечек сидящий на каком-то разрушеном здании с ноутбуком. О чем это я...

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


YellowAfterlifeДата: Вторник, 29 Мая 2012, 19:51 | Сообщение # 418 | Тема: Инстанс
Сейчас нет на сайте
* Сделать переменные, отвечающие за ресурсы игрока, глобальными.
* Если содержимое замка должно быть доступно для убийства\сбора лишь однажды, сделать соответствущую комнату постоянной.
* Возможно, добавить комнату с инициализацией значений глобальных переменных, чтобы избежать неполадок, связанных с попытками доступа к еще несуществующим переменным.


YellowAfterlifeДата: Вторник, 29 Мая 2012, 19:20 | Сообщение # 419 | Тема: Помогите!Нужен Конструктор игр песочниц.
Сейчас нет на сайте
Песочница - очень расплывчатое понятие. Обычно им называют любой вид игр, не имеющих фиксированной цели, оставляя ее домысл игроку.

Зависимо от конкретной цели, очень многие программы подходят под такое определение.


YellowAfterlifeДата: Вторник, 29 Мая 2012, 19:13 | Сообщение # 420 | Тема: Вспылающее меню
Сейчас нет на сайте
Пример
Свой код меню запихивать в Draw event объекта obj_pause.
В примере меню содержит одну кнопку, снимающую игру с паузы.


Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг