Суббота, 20 Апреля 2024, 09:50

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 27
  • 1
  • 2
  • 3
  • 26
  • 27
  • »
Форум игроделов » Записи участника » Quad69 [536]
Результаты поиска
Quad69Дата: Воскресенье, 14 Марта 2021, 17:35 | Сообщение # 1 | Тема: Зависает игра во время работы цикла
заслуженный участник
Сейчас нет на сайте
Код
stepRandom = 0; //ВОТ ЭТОТ ЦИКЛ
while (stepRandom<rround){
    alarm[0]= room_speed*5;
}


Ну вот оно проблемное место, ты сам его выделил.
Что нужно сделать? Сделать так, что бы в теле этого цикла изменялись переменные stepRandom или rround, иначе т.к они не меняются, условие постоянно истинно и цикл никогда не остановится.

Quad69Дата: Понедельник, 18 Января 2021, 19:32 | Сообщение # 2 | Тема: Проблемы с столкновением в GMS
заслуженный участник
Сейчас нет на сайте
Цитата FYgames ()
place_free

Нужно писать так: place_free(x, y + 1);
Проще говоря, сначала объект перемещается в указанные координаты, проверяется столкновение и перемещается обратно.
Quad69Дата: Четверг, 13 Февраля 2020, 00:21 | Сообщение # 3 | Тема: Событие Draw, как диалоговое окно
заслуженный участник
Сейчас нет на сайте
Цитата GameMakerBeginner ()
Я например в коде обратился к скрипту script2("My text"); и вот вопрос. Как мне в скрипте обратится к этому тексту, что написан в скобках,

Обратится можно через argument0, argument1, argument2... всего их 15 вроде.
Quad69Дата: Среда, 12 Февраля 2020, 21:16 | Сообщение # 4 | Тема: Событие Draw, как диалоговое окно
заслуженный участник
Сейчас нет на сайте
GameMakerBeginner, Как вариант, можно создать переменную массив. В первой ячейке храните текст который должен выводиться, во второй - текущее время(current_time)
Далее с помощью не сложных подсчетов (current_time - значениеВторойЯчейки div 200) выводите часть строки на экран.

Код
//Событие Создания
typedText = ["", 0];


Код
//Событие N
if (был_открыт_диалог)
    typedText = ["Какой то текст 123.", current_time];


Код
//Событие Рисования
if (typedText[0] != "")
    draw_text(x, y, string_copy(typedText[0], 0, clamp((current_time - typedText[1]) div 200, 0, string_length(typedText[0]))))


Либо просто записывать во вторую ячейку 0 и каждые N времени увеличивать её значение на 1. Вместо тех подсчетов просто использовать её значение.
Но используя current_time, можно добавлять задержку перед выводом.

Добавлено (12 Февраля 2020, 21:20)
---------------------------------------------

Цитата GameMakerBeginner ()
Ну и я так понимаю что в вашей задержке alarm нужно оставить пустым?

Какой?
То что я написал if (alarm[0] == -1) alarm[0] = 60; это решение той проблемы "если писать alarm в Draw, то он никогда не выполнится".
Вообще аларм это обычная переменная(массив), значения которой постоянно уменьшаются на 1 каждый шаг. Когда оно достигнет 0 - выполняется нужный код.
Quad69Дата: Среда, 12 Февраля 2020, 19:15 | Сообщение # 5 | Тема: Событие Draw, как диалоговое окно
заслуженный участник
Сейчас нет на сайте
Цитата GameMakerBeginner ()
я нажимаю [клавиша], диалоговый прямоугольник появляется, но тут же исчезает

Код
var S= distance_to_object(object_player);
if (S<=3 and keyboard_check_pressed(vk_enter))
script0();

Это оно отвечает? Если да, то не верно.

Простой вариант(костыль):
1. Создаёшь переменную типа isDialog = false;
2. В рисовании script0(); меняешь на isDialog = true
3. Следующей строкой(там же в рисовании) дописываешь if (isDialog) script0();

Добавлено (12 Февраля 2020, 19:16)
---------------------------------------------

Цитата Gent ()
Если написать в draw только alarm[0] = 60, то событие никогда никогда не выполнится, т.к. таймер каждый раз будет обновляться

Если очень нужно, можно сделать так:
Код
if (alarm[0] == -1) alarm[0] = 60;
Quad69Дата: Среда, 12 Февраля 2020, 15:47 | Сообщение # 6 | Тема: Проблема с отображением персонажа и его оружия
заслуженный участник
Сейчас нет на сайте
Цитата Xploiiited ()
Создал два объекта: 1) Персонаж, 2) Его руки и прикреплённый к ним пистолет.

Вообще если по нормальному делать, то первый объект это персонаж и его руки, второй объект это пистолет.
Если руки это отдельная часть которая двигается, то рисуешь её через lengthdir_x/y

Цитата Xploiiited ()
как можно связать эти два объекта, чтобы при повороте рук на половину круга (то есть до положения над головой/под ногами), персонаж разворачивался вместе с руками.

Заводишь переменную и каждый шаг присваиваешь ей что то типа такого: handDir = mouse_x > objHand.x
и далее в зависимости от этой переменной рисуешь персонажа и его руку смотрящую влево(если handDir == 0) и смотрящую вправо(если handDir == 1)
Quad69Дата: Воскресенье, 09 Февраля 2020, 16:43 | Сообщение # 7 | Тема: Мультитекстурирование 3D ландшафта
заслуженный участник
Сейчас нет на сайте
Цитата drcrack ()
тема про GMS, там может и не поддерживается

Скорее всего. Если в шейдере использовать texture2DArray/sampler2DArray, то он вообще не запускается.
Если писать sampler2D s_Texs[64]; то вроде бы работает, но из самого гамака текстуры не передаются.
Quad69Дата: Суббота, 08 Февраля 2020, 17:15 | Сообщение # 8 | Тема: Мультитекстурирование 3D ландшафта
заслуженный участник
Сейчас нет на сайте
Хм, хорошо, спасибо.
Ещё один вопрос, можно ли как то передать в шейдер все текстуры как массив? Без массива придётся строчить кучу if else if else if...
Quad69Дата: Суббота, 08 Февраля 2020, 13:59 | Сообщение # 9 | Тема: Мультитекстурирование 3D ландшафта
заслуженный участник
Сейчас нет на сайте
drcrack, Если нужно например использовать 64 текстуры, то придётся добавить ещё 16. Не много ли получится? Или разницы никакой?
Quad69Дата: Суббота, 08 Февраля 2020, 12:48 | Сообщение # 10 | Тема: Мультитекстурирование 3D ландшафта
заслуженный участник
Сейчас нет на сайте
Всем привет!

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

В итоге у нас получается то что нужно: Где то песок немного смешан с травой, где то просто трава и т.д

А теперь сам вопрос: Что делать, если нужно использовать не 4 текстуры, а 16? 64?
Тут уже количества каналов не хватит...

Я пробовал обозначать красным каналом номер текстуры, но тогда не получается сделать плавные переходы между ними.


Сообщение отредактировал Quad69 - Суббота, 08 Февраля 2020, 12:51
Quad69Дата: Вторник, 30 Апреля 2019, 09:57 | Сообщение # 11 | Тема: Нужно удалить теги с пустым содержанием
заслуженный участник
Сейчас нет на сайте
Проблема решена.

Код
.replace(/<([а-яёА-ЯЁa-zA-Z0-9]*)[^>]*>\s+<\/\1>/gi, '');
Quad69Дата: Понедельник, 29 Апреля 2019, 20:22 | Сообщение # 12 | Тема: Нужно удалить теги с пустым содержанием
заслуженный участник
Сейчас нет на сайте
Подскажите, как можно удалить теги с пустым содержанием?
Скриншот

На скриншоте видно теги <Район><Город><НаселенныйПункт> а между ними пустота(пробелы, табуляция, переносы строк).
Их нужно все удалить, те теги между которыми что то есть трогать не нужно.

Пробовал такой код, но он работает не очень:
Код
document.getElementById('content').value = document.getElementById('content').value.replace(/\<.*?\>.*[\s\v]<\/.*?\>/gm, '');


Сообщение отредактировал Quad69 - Понедельник, 29 Апреля 2019, 21:11
Quad69Дата: Вторник, 26 Февраля 2019, 16:07 | Сообщение # 13 | Тема: Перенос существующего RAID-0 на другую мат. плату
заслуженный участник
Сейчас нет на сайте
Всем привет!
Как то давно собрал из двух дисков RAID-0 массив, всё хорошо работает по сей день.
Но вот недавно купил другую материнскую плату, всё детали спокойно переставил, кроме дисков.
Материнская плата их видит, но сам RAID-0 работать никак хочет(т.е либо по отдельности, либо никак)

В меню где выбираются сами диски и создаются массивы, уже заранее стоят 2 массива(чего по инструкции быть не должно).
Удалить их и собрать заново не получается, ошибка(что то типо "не найдены диски или не достаточно места").

Теперь вопрос: Это у меня что то с материнкой, или RAID-0 как то по особенному переносится?
P.s ничего не чистил и не форматировал, просто перенес два диска на другую мат плату и всё.
P.s.s производители разные, биосы тоже(в одном Click Bios II, в другом что то от ASUS'a), сбрасывал настройки - не помогло.

Добавлено (26 Февраля 2019, 16:28)
---------------------------------------------
Уточню:
Старая материнка - fm2-a55m-e33 MSI
Новая материнка - fm2a68m-hd+ ASRock

Quad69Дата: Среда, 20 Февраля 2019, 14:57 | Сообщение # 14 | Тема: MySQL связать две таблицы
заслуженный участник
Сейчас нет на сайте
Цитата DeadDay ()
По сути, ты, принуждаешь нового пользователя ввести данные кошельков.

Ресурс у меня такой, где в профиле пользователя должен быть указан хотя бы 1 кошелек, привязана 1 соц.сеть и т.д.
Пустые строки конечно же будут, но они же ведь ничего не занимают?
Quad69Дата: Среда, 20 Февраля 2019, 14:01 | Сообщение # 15 | Тема: MySQL связать две таблицы
заслуженный участник
Сейчас нет на сайте
Нужно хранить большое кол-во стобцов, и что бы в будущем при добавлении новых, не возникало особых проблем.
Вообще было бы хорошо хранить всё в одной таблице, но не скажется ли это на производительности?
Неудобно конечно, но переживу.

Добавлено (20 Февраля 2019, 14:34)
---------------------------------------------
Хранить в разных таблицах я хотел лишь для удобства,
напр в табл. wallets есть 5 колонок: username, qiwi, webmoney, payeer, yamoney, lastchange
табл. profile: username, regdate, logindate, comments
Вот у этих двух таблиц колонка username должна соответствовать колонке username из табл. accounts(т.е она основная).

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

Да и как я потом понял, триггеры не советуют так использовать, но и не хотелось бы размещать в одной таблице по 80 колонок.

Сообщение отредактировал Quad69 - Среда, 20 Февраля 2019, 14:23
Quad69Дата: Среда, 20 Февраля 2019, 13:38 | Сообщение # 16 | Тема: MySQL связать две таблицы
заслуженный участник
Сейчас нет на сайте
DeadDay, ты имеешь ввиду при добавлении пользователя в основную таблицу, добавлять данные также в остальные?
Если да, то чем это отличается от триггеров?
А если вдруг, мне понадобиться создать новую таблицу, а в основной уже есть данные, они же не перенесутся.
Quad69Дата: Среда, 20 Февраля 2019, 12:57 | Сообщение # 17 | Тема: MySQL связать две таблицы
заслуженный участник
Сейчас нет на сайте
Мне надо хранить большое количество данных на одного пользователя, контактные данные, кошельки, баланс и т.д.
Можно всё запихнуть в одну таблицу, но так управлять не удобно и вроде для производительности не очень хорошо.
Подскажите, как правильно хранить такой объём данных?
Quad69Дата: Вторник, 19 Февраля 2019, 22:42 | Сообщение # 18 | Тема: MySQL связать две таблицы
заслуженный участник
Сейчас нет на сайте
Всем привет!
Подскажите, как связать две таблицы в бд mysql?
Если точнее, то нужно что бы при добавлении записи в основную таблицу, она также появлялась в остальных в таблицах с таким же id.
Обычно я делал это триггерами, но как я понял это не правильное решение.
p.s в вебе я недавно
Quad69Дата: Вторник, 06 Ноября 2018, 20:48 | Сообщение # 19 | Тема: Можно ли сделать шейдеры в Game Maker 8.0 ?
заслуженный участник
Сейчас нет на сайте
Цитата WerSioPesk ()
1. Как сделать так чтобы объект крутился вокруг какой либо точки но сам не вертелся, как планета вокруг солнца =)
2. Как сделать окантовку для объекта.
3. Как сделать так чтобы один объект рисовался на другом. (Я знаю что можно так сделать... но не знаю как.)
4. Как сделать так чтобы пиксели были ровными.


1. Ну я бы такое делал с помощью lengthdir_x, lengthdir_y.
2. Мой способ:
Код
draw_sprite_ext(sprite, 0, x - 1, y, 1, 1, 0, c_black, 1);
draw_sprite_ext(sprite, 0, x + 1, y, 1, 1, 0, c_black, 1);
draw_sprite_ext(sprite, 0, x, y - 1, 1, 1, 0, c_black, 1);
draw_sprite_ext(sprite, 0, x, y + 1, 1, 1, 0, c_black, 1);

draw_sprite(sprite, 0, x, y);

Но тут обводка может быть только черной.
3. depth = Объект.depth - 1;
4. можно прибавлять к координатам всего что рисуется .001, например draw_sprite(spr, 0, x + .001, y + .001);


Сообщение отредактировал maksim1221232 - Вторник, 06 Ноября 2018, 20:49
Quad69Дата: Понедельник, 29 Октября 2018, 19:36 | Сообщение # 20 | Тема: Можно ли сделать шейдеры в Game Maker 8.0 ?
заслуженный участник
Сейчас нет на сайте
Цитата WerSioPesk ()
А можете рассказать как именно делать это:

Это вроде бы примитивами делается
Форум игроделов » Записи участника » Quad69 [536]
  • Страница 1 из 27
  • 1
  • 2
  • 3
  • 26
  • 27
  • »
Поиск:

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