Понедельник, 06 Апреля 2026, 01:30

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

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

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


YellowAfterlifeДата: Среда, 29 Июля 2015, 11:11 | Сообщение # 202 | Тема: Вентилятор , как размножить?
Сейчас нет на сайте
Вариант 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Дата: Среда, 29 Июля 2015, 13:19 | Сообщение # 203 | Тема: Вопрос - Ответ (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Дата: Четверг, 30 Июля 2015, 19:58 | Сообщение # 204 | Тема: Настройка вида за игроком
Сейчас нет на сайте
Если игрок должен быть не по центру, есть несколько вариантов:
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Дата: Четверг, 30 Июля 2015, 20:58 | Сообщение # 205 | Тема: Вопрос - Ответ (Game Maker)
Сейчас нет на сайте
Цитата Transced ()
есть еще вопрос вот я на физический объект посылаю импульс в движение как сделать на проверку что ипульс уже закончил свое воздействие. Использую physics_apply_impulse

Можно следить за самой физической скоростью (phy_speed_x\y).

Цитата Transced ()
и еще вопрос как изменить физическую маску столкновений

Окно настройки маски столкновений вызывается по нажатию кнопки "Modify Collision Shape" в секции настроек физических переменных объекта.

Цитата Rs11 ()
люди подскажите гм может как нибудь узнать количество свободной памяти на диске?

Существует DLL-ка для этого.
Для записи файлов есть отдельный трюк, что сейчас пользуется во многих программах (включая Steam) - создать пустой файл указанного размера. Если операция прошла успешно, после содержимое заменяется на "настоящее". Это так же избавляет от потенциальных проблем в случае исчерпания пространства на диске другим ПО во время записи.




Сообщение отредактировал YellowAfterlife - Четверг, 30 Июля 2015, 20:59
YellowAfterlifeДата: Пятница, 31 Июля 2015, 00:11 | Сообщение # 206 | Тема: Добавление в панель кнопки из другой панели
Сейчас нет на сайте
Такую проблему обычно решают сохранением ссылки на "владельца" внутри нужных классов с последующей передачей его в конструктор. То есть:
Код

class Some {
public FrameBox owner;
     public Some(FrameBox owner) {
         this.owner = owner;
         // ...
     }
     public doSomething() {
         // ...
         owner.revalidate();
     }
}


YellowAfterlifeДата: Пятница, 31 Июля 2015, 12:10 | Сообщение # 207 | Тема: Вопрос - Ответ (Game Maker)
Сейчас нет на сайте
Цитата Transced ()
YellowAfterlife, нет изменить маску во время самой игры.

physics_fixture_add_point и относящиеся. В справке есть примеры кода.

Цитата MaRSiAniN ()
Как уничтожить несколько экземпляров объекта кодом?

Удалить каждый из них по отдельности,
with (id1) instance_destroy();
with (id2) instance_destroy();

Как вариант, можно сделать script вроде
/// instance_destroy_ext(instance)
with (argument0) instance_destroy();

и потом вызывать как
instance_destroy_ext(id1);
instance_destroy_ext(id2);

Или запихнуть интересующие экземпляры в массив и пройти по нему, уничтожая их.


YellowAfterlifeДата: Суббота, 01 Августа 2015, 10:50 | Сообщение # 208 | Тема: Вопрос - Ответ (Game Maker)
Сейчас нет на сайте
Цитата Rs11 ()
доброго времени суток а есть что нибудь в гм с помощью чего можно узнать имена всех файлов которые находятся в папке?

Функции file_find_ позволяют перебирать файлы и\или папки в указанной папке.
var name, dir;
dir = "Some";
for (name = file_find_first(dir + "/*.*", 0); name != ""; name = file_find_next()) {
    show_debug_message(name);
}
file_find_close();




Сообщение отредактировал YellowAfterlife - Суббота, 01 Августа 2015, 10:51
YellowAfterlifeДата: Суббота, 01 Августа 2015, 16:45 | Сообщение # 209 | Тема: Boomstarter продаёт акции
Сейчас нет на сайте
С той же страницы:

Цитата
Кто такой «Акционер Boomstarter»?
«Акционер Boomstarter» — владелец именного сертификата «Акция Boomstarter», данный cтатус виртуальный, существует только внутри интернет-сообщества Boomstarter расположенного в сети интернет по адресу boomstarter.ru и не имеет отношения к реальным акционерам с точки зрения закона.

То есть на деле "акционеры" никаких прав не имеют.

Цитата
каждая акция ПАО «Краудфандинг» будет соответствовать 0,00005% от Уставного капитала общества.

Иными словами, 1 / 2 000 000 долю некого уставного капитала. То есть Бумстартер считает что их компания оценивается приблизительно в 2 миллиарда рублей.

Цитата
Будет ли владелец «Акции Boomstarter» получать дивиденды?

«Акция Boomstarter» не является ценной бумагой и не даёт её владельцу права на получение какой-либо прибыли от деятельности общества, но после того как владелец «Акции Boomstarter», согласно условиям опциона, приобретёт акции ПАО «Краудфандинг», у него появляется право на получение дивидендов в случае принятия решения о распределении прибыли между акционерами ПАО «Краудфандинг» в соотвествии с законодательством РФ об акционерных обществах.

И денег "акционеры" получать тоже не будут, кроме как "в случае" (видимо, банкротства).

Цитата
Возможно ли продать «Акцию Boomstarter»?

«Акция Boomstarter» является именным сертификатом и может принадлежать исключительно только тому лицу, кто её приобрёл; продать, подарить или передать её каким-либо иным способом третьим лицам невозможно. Однако, владелец «Акции Boomstarter», после приобретения на условиях опциона акций ПАО «Краудфандинг», становится полноправным акционером ПАО «Краудфандинг» и имеет право распоряжаться принадлежащими ему акциями по своему усмотрению в соответствии с законодательством России.

И делать с "акциями" тоже ничего нельзя (кроме, видимо, их сожжения).


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


YellowAfterlifeДата: Воскресенье, 02 Августа 2015, 00:09 | Сообщение # 210 | Тема: Вопрос - Ответ (Game Maker)
Сейчас нет на сайте
Цитата Rs11 ()
так новая проблема! можно какнибудь вылечить мёртвое зависание при запуске четверного фора на 10
типо
for(a=10;a<10;a++){
for(b=10;b<10;b++){
for(c=10;c<10;c++){
for(d=10;d<10;d++){

}
}
}
}

виснет даже если внутри пусто...(

А можно непосредственный случай использования кода?
Потому что в приведенном примере даже первый цикл не запуститься (отсчет от 10 до 10 исключительно).
Мое предположение - в одном из циклов ты делаешь обратный отсчет, но забыл поменять "++" на "--", вроде
for (var i = 10; i > 0; i++) { }


YellowAfterlifeДата: Воскресенье, 02 Августа 2015, 00:55 | Сообщение # 211 | Тема: Скольжение по стене
Сейчас нет на сайте
Шаг навстречу точки со скольжением вдоль указанного типа объектов.
Скользит лишь "прямо" по осям так как скольжение и так реализуется проблематично.

В зависимости от ситуации, может быть проще извратиться с box2d.


YellowAfterlifeДата: Воскресенье, 02 Августа 2015, 00:59 | Сообщение # 212 | Тема: Вопрос - Ответ (Game Maker)
Сейчас нет на сайте
Цитата Rs11 ()
понял в чём беда ХД просто в форе в скрипте использовал тоже название переменно что и выше лол (при том уже второй раз с этим мучаюсь)...

Для избежания таких бед ведь "var" и предназначен smile
Более, что в GameMaker: Studio уже можно писать "var name = value", что означает лишь ввод дополнительных 4 символов для полной безопасности.
Отлаживать код без десятков случайных переменных в каждом экземпляре так же удобнее.


YellowAfterlifeДата: Воскресенье, 02 Августа 2015, 01:06 | Сообщение # 213 | Тема: Error: unable to find any instance for object
Сейчас нет на сайте
Ошибка кажется немного мистической, но для начала ее источник можно локализовать - выставить каждый параметр в скрипте на отдельную строку, или в отдельную переменную - тогда отладчик укажет на отдельно взятую строку с бедами.
Код не выглядит поломанным, но могу сделать предположение - с некоторых пор instance_destroy() исключает экземпляр из списка мгновенно, и по ID к нему больше обратиться нельзя. То есть:
instance_destroy();
show_debug_message(self.x); // ок
show_debug_message(self.id.x); // ошибка


YellowAfterlifeДата: Воскресенье, 02 Августа 2015, 11:52 | Сообщение # 214 | Тема: [GMS]Спрайт из тайлов
Сейчас нет на сайте
Если вне выполнения игры, в редакторе есть опция "create from strip".

Во время выполнения игры можно делать sprite_create_from_surface/sprite_add_from_surface, предварительно нарисовав искомое изображение на выделенный под это дело surface.


YellowAfterlifeДата: Воскресенье, 02 Августа 2015, 12:58 | Сообщение # 215 | Тема: Вопрос-Ответ (С)
Сейчас нет на сайте
Цитата dreenline ()
Почему в C# пишут -=? Например вот здесь lifetime -= Time.deltaTime; ? Что значит этот минус?

"a -= b" это синтаксический сахар для "a = a - b". Реализуется в языках для удобства (меньше повторяемого кода).


YellowAfterlifeДата: Воскресенье, 02 Августа 2015, 15:09 | Сообщение # 216 | Тема: Воспроизведение двух звуков одновременно.
Сейчас нет на сайте
Преобразовать звуки в формат WAV - в старых версиях GameMaker'а звуки в формате MP3 проигрываются через компонент встроенного в системе плеера, в связи с чем запуск нового звука перекрывает старый.

YellowAfterlifeДата: Среда, 05 Августа 2015, 01:11 | Сообщение # 217 | Тема: Вопрос - Ответ (Game Maker)
Сейчас нет на сайте
Цитата MrVasLuk ()
Как сделать движущиеся стены (вернее, столкновение игрока с ними)?

Движущиеся стены обрабатываются так же как и обычные, плюс:
Перед движением стена проверяет, может ли она сдвинуться в принципе;
Для каждого двигаемого объекта перед стеной (проверяется обычно простым наличием движимой стены со стороны ее движения) делается попытка сдвига его на желаемое расстояние. Если сдвинуть нельзя, объект раздавливается или стена поворачивает в другую сторону.
При нужде делается схожая проверка для объектов "сверху" стены но они не раздавливаются если стена не движется вверх.
После сдвигается сама стена.
Пример с подобным: http://yal.cc/get/xm/simple/dd-elevators.gmk




Сообщение отредактировал YellowAfterlife - Среда, 05 Августа 2015, 01:11
YellowAfterlifeДата: Среда, 05 Августа 2015, 18:07 | Сообщение # 218 | Тема: Импорт темы(из группы в вк) на сайт
Сейчас нет на сайте
board.getComments возвращает комментарии в теме; Для списка тем - board.getTopics.



Сообщение отредактировал YellowAfterlife - Среда, 05 Августа 2015, 18:07
YellowAfterlifeДата: Четверг, 06 Августа 2015, 12:33 | Сообщение # 219 | Тема: в HTML5 не работает phy_rotate
Сейчас нет на сайте
Если напрямую присваивать phy_rotation = -point_direction(x,y,room_width/2, room_height/2), это что-то меняет? Подозреваю, что, возможно, на HTML5 изменения image_angle у физических объектов могут просто игнорироваться сразу.

YellowAfterlifeДата: Четверг, 06 Августа 2015, 20:35 | Сообщение # 220 | Тема: OpenBOR для Fighting'ов
Сейчас нет на сайте
Для файтингов есть M.U.G.E.N. вообще говоря. У OpenBOR направленность именно на beat-em-up'ы в их классическом виде.

Поиск:

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