Суббота, 23 Ноября 2024, 13:49

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
YellowAfterlifeДата: Четверг, 30 Июля 2015, 19:58 | Сообщение # 221 | Тема: Настройка вида за игроком
Сейчас нет на сайте
Если игрок должен быть не по центру, есть несколько вариантов:
1. Сделать вспомогательный объект, за которым будет следить вид, и что будет перемещаться относительно игрока (в твоем случае, висеть над игроком, таким образом держа игрока внизу вида)
2. Двигать вид кодом. Это не слишком сложно. К примеру, в объекте игрока:
End Step Event:
view_xview[0] = x - view_wview[0] / 2;
view_yview[0] = y - view_hview[0] + 100;
//
view_xview[0] = max(0, min(view_xview[0], room_width - view_wview[0]));
view_yview[0] = max(0, min(view_yview[0], room_height - view_hview[0]));


YellowAfterlifeДата: Среда, 29 Июля 2015, 13:19 | Сообщение # 222 | Тема: Вопрос - Ответ (Game Maker)
Сейчас нет на сайте
Цитата Transced ()
Вот почему когда я делаю один объект физическим то когда он сталкивается с не физическими объектами ничего не происходит, даже переменная своего значения не меняет.

Физические объекты выбрасывают события столкновения лишь при столкновении с другими физическими объектами.
Заменить можно проверкой в шаге, так (если сущность сталкивающегося объекта не интересует):
if (place_meeting(x, y, obj_some)) {
    // ...
}

или так (если интересует но одна за раз):
var inst; inst = instace_place(x, y, obj_some);
if (inst) {
    // (в inst хранится id другого объекта)
}

или так (если интересуют и все):
with (obj_some) if (place_meeting(x, y, other)) {
    // переменные вызывающего код объекта находятся в other
}




Сообщение отредактировал YellowAfterlife - Среда, 29 Июля 2015, 13:19
YellowAfterlifeДата: Среда, 29 Июля 2015, 11:11 | Сообщение # 223 | Тема: Вентилятор , как размножить?
Сейчас нет на сайте
Вариант 1: Зачем вообще привязываь вентилятор к другому объекту? Просто убери присвоение x/y из его шага и расставляй сами вентиляторы.

Вариант 2: Создавать вентилятор во втором объекте и крепить его к отдельному экземпляру
obj_box create event:
fan = instance_create(x, y, obj_fan);
fan.box = id;

obj_fan step event:
image_angle -= 2;
if (instance_exists(box)) {
    x = box.x;
    y = box.y;
} else instance_destroy();


YellowAfterlifeДата: Понедельник, 27 Июля 2015, 20:00 | Сообщение # 224 | Тема: Точки пути.
Сейчас нет на сайте
Цитата RomaN72 ()
Можно ли как-нибудь посмотреть точки пути, созданного во время игры?
Вообще, можно ли посмотреть точки хоть какого-нибудь пути?

Конечно реально, для этого есть функции path_get_point_x/y (возвращают x/y указанной точки) и path_get_number (возвращает количество точек).
Для рисования путей с включенным сглаживанием можно использовать path_get_x/y с шагом 1 / path_get_length


YellowAfterlifeДата: Воскресенье, 26 Июля 2015, 14:40 | Сообщение # 225 | Тема: Решаем задачи по Construct 2 [вопрос-ответ]
Сейчас нет на сайте
Цитата Serega-A ()
Как создать кнопку "Share" в социальные сети. А вернее какой URL нужно для этого вбивать? Какой для Фейсбука а какой для Твиттера?

В общем случае:
Твиттер:
Код
https://twitter.com/intent/tweet?text=Текст

Facebook:
Код
https://www.facebook.com/sharer/sharer.php?u=Адрес&t=Текст

VK:
Код
https://vk.com/share.php?url=Адрес&title=Текст

По переходе на ссылку пользователю будет показана страница с подтверждением публикации (что так же позволяет добавить примечание на свое усмотрение).

А в частном случае к Construct 2 прилагаются готовые плагины и для Твиттера, и для Фейсбука.


YellowAfterlifeДата: Суббота, 25 Июля 2015, 15:18 | Сообщение # 226 | Тема: Вопрос - Ответ (Java)
Сейчас нет на сайте
Цитата Jhon ()
И так делать для любого объекта, который я хочу защитить от изменения?
Тогда другой вопрос: это реально проблема Java, что там нет простого решения для этого, или это моя проблема, что я проецирую опыт C++ сюда, а в Java таких проблем нет вообще, и все решается на уровне проектирования интерфейсов?

Некоторые вещи (упомянутый const reference, передача объектов "по значению", ...) в Java и схожих языках (C#, AS, JS) по той или иной причине отсутствуют.
Тут описываются принципы преобразования C' const в структуры Java для разных случаев, но в предлагаемом ими решении для const reference (создание "прокси" классов, выбрасывающих исключения на запрещенных методах) счастья тоже мало .
Преимущественно дело архитектуры - что может пойти не так если в событии столкновения изменят какие-то свойства второго объекта, и стоит ли об этом вообще беспокоится?
В языках вроде Haxe const reference можно реализовать с помощью макроса (что будет генерировать read-only интерфейс/abstract для входящего типа автоматически), но даже там зачастую такие меры не нужны.




Сообщение отредактировал YellowAfterlife - Суббота, 25 Июля 2015, 15:22
YellowAfterlifeДата: Суббота, 25 Июля 2015, 14:12 | Сообщение # 227 | Тема: Вопрос - Ответ (Java)
Сейчас нет на сайте
Цитата Jhon ()
Например принцип immutable object - Collidable сейчас не содержит методов, изменяющих состояние, но это контролируется исключительно мной, нельзя запретить изменение с проверкой во время компиляции - вдруг, я захочу добавить в интерфейс еще чего-нибудь.

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


YellowAfterlifeДата: Суббота, 25 Июля 2015, 10:51 | Сообщение # 228 | Тема: Помогите NullReferenceException
Сейчас нет на сайте
А переменная hookPrefab задана (через интерфейс или иначе)? Потому что если нет, Instantiate на null вернет null, и впоследствии программа попытается вызвать SetParams у null, что и вызовет данную ошибку.

YellowAfterlifeДата: Среда, 22 Июля 2015, 17:12 | Сообщение # 229 | Тема: Ищу помощника - программиста !
Сейчас нет на сайте
Цитата Alfe ()
Tymonr, нисебе ВСЕ , я даже половины не перечислил , ТОЙ половины которую сделать должен буду Я

Боюсь, вера читателей темы в твою способность сделать какую-либо часть игры уже временно подорвана незнанием языка программирования, на котором ты ее будешь писать.
Цитата Alfe ()
Tymonr, и я же сказал МОЖЕТ БЫТЬ ЕСЛИ Я ЕЩЕ ПОДУЧУ С# Я САМ СМОГУ ЭТО СДЕЛАТЬ , я учу Юнити и скриптинг соответсвенно 1,5 месяца , я знаю , что этого очень мало , но я тож не робот , устал уже и боюсь того момента когда я учу,учу,учу и вдруг ХОП "Перегорел " (Информация престанет усваиваться ) и мой проект (Который я еще толком и не начал ) полетит прахом , оно мне надо ?

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




Сообщение отредактировал YellowAfterlife - Среда, 22 Июля 2015, 17:12
YellowAfterlifeДата: Вторник, 21 Июля 2015, 16:19 | Сообщение # 230 | Тема: Trying to use non-existing surface
Сейчас нет на сайте
Проверять перед рисованием, что сурфейса нет (то есть он был съеден системой или еще чем) и пересоздавать. Как вариант, создание поверхности тоже перенести в рисование:
Create Event:
surf = -1;

Draw Event:
if (!surface_exists(surf)) {
    surf = surface_create(128, 128);
    // нарисовать интересующее содержимое в поверхность
}
// ...
draw_surface(surf, x, y);


YellowAfterlifeДата: Воскресенье, 19 Июля 2015, 16:15 | Сообщение # 231 | Тема: Вопрос - Ответ (Game Maker)
Сейчас нет на сайте
Цитата Stron ()
В соседней ветке с поста №2 скачал примерчики. Там машина едет, а задний фон как бы двигается . Как такое делается?
http://gcup.ru/go?http://narod.ru/disk/13562424001/PACK1.rar.html

Вкладка "виды" (views) в комнате (room) [ перевод справки]


YellowAfterlifeДата: Воскресенье, 19 Июля 2015, 16:02 | Сообщение # 232 | Тема: Вопрос - Ответ (Game Maker)
Сейчас нет на сайте
Цитата Stron ()
Спасибо, заработало. Стоит ли искать где скачать 8.1 версию или пока в 8.0 pro оставаться?
Где можно скачать исходные примерчики готовых игр в формате Geme meker 8.0 ? Или готовые макро блоки кода?

Вообще стоит перебираться на GameMaker: Studio - его регулярно обновляют, и бесплатная (выдаваемая по адресу почты) версия по функционалу превосходит 8.0\8.1.
О примерах - сайтов с ними полным-полно. Стоит искать что-то конкретное. Для GM:S еще есть раздел на marketplace с готовыми проектами. Платность зачастую подразумевает более высокое качество кода чем в примерах "в открытом доступе" и можно смотреть по отзывам.


YellowAfterlifeДата: Воскресенье, 19 Июля 2015, 15:43 | Сообщение # 233 | Тема: Вопрос - Ответ (Game Maker)
Сейчас нет на сайте
Цитата Stron ()
Проблема в том, что в редакторе сточка draw_self (); почему-то красная и ошибочная.

draw_self() есть лишь в версии 8.1 и выше.
В более старых версиях его можно заменить
draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha);
(можно создать script с названием "draw_self" и вставить код туда для удобства)


YellowAfterlifeДата: Воскресенье, 19 Июля 2015, 12:28 | Сообщение # 234 | Тема: "Loading screen" - как реализовать?
Сейчас нет на сайте
Столько помощников, а толку... кхм.
Написал запись по теме.

Ссылка на GMZ


YellowAfterlifeДата: Суббота, 18 Июля 2015, 21:20 | Сообщение # 235 | Тема: Уведомление на мыло - нет сообщения
Сейчас нет на сайте
Или кто-то рычит, или форум шалит. Как-то так

Бонус: аналогичное заархивированное уведомление о несуществующем ответе


YellowAfterlifeДата: Понедельник, 13 Июля 2015, 18:33 | Сообщение # 236 | Тема: Обратиться ко всем выделенным объектам
Сейчас нет на сайте
with (obj_unit) if (selected) {
    // сделать что-нибудь
}


YellowAfterlifeДата: Понедельник, 13 Июля 2015, 10:17 | Сообщение # 237 | Тема: Вопрос с оптимизацией на мобильных устройствах
Сейчас нет на сайте
Проблемы чаще не от оперативной памяти, а от особенностей видеокарты - к примеру, смена текстурной страницы во время рисования на одних устройствах может стоить гораздо больших объемов производительности, чем на других.
Первой вещью для проверки является отключение application_surface (application_surface_enable(false)). Порой лишь одного факта рисования в поверхность достаточно для проседания fps.
После посмотреть на текстурные страницы (GGS - Android - Graphics - Preview) и убедится, что игровая графика влазит в одну текстурную страницу.
На YoYoGames techblog вроде бы была одна или две статьи по поводу оптимизации.


YellowAfterlifeДата: Воскресенье, 12 Июля 2015, 20:44 | Сообщение # 238 | Тема: Вопрос - Ответ (Game Maker)
Сейчас нет на сайте
Цитата Excelsiorer ()
Как для move_contact_solid задать скорость движения? А то у меня объект мгновенно телепортируется к ближайшему твердому объекту в заданном направлении

Второй параметр (maxdist) это и есть "скорость" (максимальное расстояние, на которое функции позволено объект сдвинуть). Значение -1 позволяет сдвигать на любое расстояние.


YellowAfterlifeДата: Пятница, 10 Июля 2015, 08:11 | Сообщение # 239 | Тема: Автоматическая сборка с GameMaker
Сейчас нет на сайте
GM_build_date содержит значение формата date на момент компиляции.
На данный момент более пригодных способов нет - GMAssetCompiler выполняет часть работы, но инициализируется из IDE. Я некоторую автоматизацию настраивал через AutoIt -- поскольку менюшки и нужные кнопочки находятся на фиксированных позициях относительно левого верхнего угла окна, можно даже ограничиться простой отправкой кликов и ожиданием отклика окон.


YellowAfterlifeДата: Понедельник, 29 Июня 2015, 11:13 | Сообщение # 240 | Тема: Перенос игры ,сделанной в GM8 на GM:S
Сейчас нет на сайте
Тык: "Открытие проектов 5/6/7/8 версии в GameMaker Studio"

Поиск:

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