• Как убрать wall jump?

    lastuniverse
    @lastuniverse
    justSMTH, опять же не скину, не пишу на юнити, но делал такое на куче других игровых фреймворках и движках, каких либо статей гуглить не буду, потому что это все очень привязанно к конкретному движку/фрэймворку)
  • Как получить данные внутри массива?

    lastuniverse
    @lastuniverse
    WbICHA, ну наверно потому, что это не единственный console.log в программе, так что скорее всего правильно будет что_же_там_внутри.log, но опять же это не полноценный лог получается а чисто технический, по ситуации)
  • Как получить данные внутри массива?

    lastuniverse
    @lastuniverse
    WbICHA, я хз, может и так))) Никогда это не было интересно, и всегда предпочитал вывод stringify закинуть в файл и смотреть уже в нем)

    PS: node xrenj.js > что_же_там_внутри.txt
  • Как убрать wall jump?

    lastuniverse
    @lastuniverse
    Целый день ваш вопрос висит не отвеченым))))

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

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

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

    ЗЫ: Без хорошего, углубленного знания школьного курса математики и геометрии в геймдеве по сути делать нечего, так что крепитесь и учите матан.
  • Как центрировать новый активный слайд?

    lastuniverse
    @lastuniverse
    последние месяца 3-4 вопросы про слайдеры подолгу висят не отвеченными.
    Видимо эти вопросы всех уже задолбали. Иной раз, в сутки до 5-и подобных вопросов задают.
  • Как получить данные внутри массива?

    lastuniverse
    @lastuniverse
    То что у вас надписи [Объект] подствечено сининиким на самом деле и содержит данные, просто их овердофига (как верно меня поправил WbICHA имеют большую глубину вложенности) вот nodejs и сэкономил чутка на выводе.

    Если хотите увидеть все данные, что скрыты за строчками [Объект], то как вам и посоветовал WbICHA - используйте JSON.stringify

    await page.on('response', async (response) => {
       if (response.url() == "https://capuk.org/ajax_search/capmoneycourses") {
          console.log('XHR response received');
          const json = await response.json();
          const text = JSON.stringify(json, null, '\t');
          console.log(text);
       }
    });
  • Ошибка после npm i Mac m1?

    lastuniverse
    @lastuniverse
    не знаю что там на маке предоставляет библиотеку libpng, но ее, если это возможно, нужно установить
  • Как определить, что определенная дата находится в заданном интервале?

    lastuniverse
    @lastuniverse
    studentLesson, в числовом, в виде секунд как вам выше написали Сергей delphinpro и @KickeRocK

    https://developer.mozilla.org/ru/docs/Web/JavaScri...

    ЗЫ: и momentjs вам для этого ненужен
  • Как я могу replace(////g, "") или replace(/http:///g, "")?

    lastuniverse
    @lastuniverse
    lios1, а кто вам сказал писать так [http://], что за самодеятельность?

    .replace(/https?:\/\//g,"")

    ну или (чтобы было понятнее)

    .replace(/(http/https):\/\//g,"")

    НУ И:
    1. обязательно прочтите про экранирование и специальные символы https://learn.javascript.ru/regexp-escaping
    2. не поленитесь и прочитайте про наборы символов https://learn.javascript.ru/regexp-character-sets-...
    3. так же вам будет очень полезно почитать про скобочные группы https://learn.javascript.ru/regexp-groups

    Прочтя все это, надобность задавать глупые вопросы отпадет
  • Исправить функцию броска луча?

    lastuniverse
    @lastuniverse
    Wataru, потому что по факту у него у него не рейкастинг а рейртейсинг)))

    boulat5280, посмотрите как это сделано тут https://jsfiddle.net/lastuniverse/6nrsL28g/6/

    или тут https://jsfiddle.net/vq1fujrk/9/ (немного улучшен механизм расчета)

    По факту в этих примерах лучи не движутся в 2D пространстве уровня до пересечения с блоком, а вычисляются коллизии каждого луча со всеми блоками уровня, после чего определяется ближайший блок из тех, которые пересек луч, то есть решается именно задача рейкастинга а не рейртейсинга (как в вашем коде)
  • Как можно оптимизировать этот код?

    lastuniverse
    @lastuniverse
    Вот вариант, тоже такое себе, но всяко лучше вашего

    for(let key in data){
      out += `<section class="cart">
    <div class="section_title"
    <h2 class="nameTovar nameTovar${key}">${data[key].name}</h2>
    <div class="sec_t_img sec_t_img${key}"></div
    </div>'  
    <img src="../img/camera/${data[key].img}" class="img_tovar pict${key}" alt="">
    <p class="cost"><span class="costSpan${key}">${data[key].cost}</span><span> руб. / </span><small><span class="valueSpan${key}">${data[key].value} </span><span>${data[key].valueWord}</span></small></p>
    <button class="btn_buy buy${key}">Купить</button>
    <div class="bought bought${key}">
    <form action="../php/mail.php" class="form form${key}" method="POST">
    <input type="text" autocomplete="off" name="fio" class="fio" required placeholder="Введите Ф.И.О">
    <input type="text" name="phone_mail" class="phone" required placeholder="Введите номер телефона или почту">
    <input type="text" name="tovar" value="${data[key].name}" class="tovar tovar${key}" readonly>
    <input type="number" autocomplete="off" name="value" pattern="^[ 0-9]+$" class="value${key}" required placeholder="Введите количество в ${data[key].valueWord}">
    <input type="text" readonly name="itog" class="itog itog${key}" placeholder="Итог">
    <input type="submit" value="Заказать" class="btn_zakazat">
    </form>
    <button class="otmena otmena${key}">Отмена</button>
    </div>
    </section>`
    }
  • Почему не завершается процесс?

    lastuniverse
    @lastuniverse
    Роман Мирр, там молчат про quit потому, что обычно после в этом нет надобности, так как приложение не нужно завершается (ведь обычно к редису мы подключаемся из приложения-сервера или микросервиса)
  • Почему не завершается процесс?

    lastuniverse
    @lastuniverse
    и скажите, зачем вам 2 одинаковых вывода при возникновении ошибки?

    client.on('error', err => console.log('Redis Client Error', err));
    
      client.on('error', err => {
        console.log('Redis Client Error', err);
        throw new Error('Redis error occurred.');
      });


    чем вас не устраивает вариант с одним обработчиком?
    client.on('error', err => {
        console.log('Redis Client Error', err);
        throw new Error('Redis error occurred.');
      });
  • Почему не завершается процесс?

    lastuniverse
    @lastuniverse
    Этот комментарий темы вопроса не касается)

    вместо
    console.log('value: ' + value);

    можно делать так
    console.log('value: ' , value);

    и так
    console.log('value1: ' ,  value1,  'value2: ' ,  value2);


    и вообще сколько угодно параметров
    https://developer.mozilla.org/ru/docs/Web/API/Cons...
  • Стрелочная функция и контекст?

    lastuniverse
    @lastuniverse
    Lynn «Кофеман», Роман Дворянов, ну и вот еще один показательный и

    забавный ребус
    this.name = 111;
    const test = ()=>{
      console.log(this.name)
    }
    
    function Func(){
    		this.name = 222
        this.test1 = test;
        this.test2 = ()=>{
        	console.log(this.name)
        };
        this.test3 = function(){
        	console.log(this.name)
        };
    }
    Func.prototype.test4 = test;
    Func.prototype.test5 = function(){
    	console.log(this.name)
    }
    Func.prototype.test6 = ()=>{
    	console.log(this.name)
    }
    
    
    class Class{
    	constructor(){
    		this.name = 333
        this.test1 = test;
        this.test2 = ()=>{
        	console.log(this.name)
        };
        this.test3 = function(){
        	console.log(this.name)
        };
      }
      test4(){
        	console.log(this.name)
      };
      test5 = function(){
        	console.log(this.name)
      };
      test6 = ()=>{
        	console.log(this.name)
      };
      test7 = test
    }
    
    
    const obj1 = new Func();
    const obj2 = new Class();
    test();	// 111
    obj1.test1();	// 111
    obj1.test2();	// 222
    obj1.test3();	// 222
    obj1.test4();	// 111
    obj1.test5();	// 222
    obj1.test6();	// 111
    
    obj2.test1();	// 111
    obj2.test2();	// 333
    obj2.test3();	// 333
    obj2.test4();	// 333
    obj2.test5();	// 333
    obj2.test6();	// 333
    obj2.test7();	// 111


    особенно в моментах разницы срабатывания методов obj2.test1(),obj2.test7() и методов obj2.test2(), obj2.test6(), ведь у них по идее должен быть один и тот же внешний контекст)))

    Lynn «Кофеман», это как раз к вопросу о том, что является методом класса а что нет. Вы скажете, что контекст прибивается к стрелочной фанке в момент ее создания, но в примере автора, в момент создания его метода, внешним контекстом по логике вещей должен быть именно контекст класса а не контекст объекта класса)

    ЗЫ: я знаю что ответ на этот вопрос как раз и содержится в спецификациях классов, которые определяют синтаксис обращения к контексту класса через имя класса, а все остальное получает контекст объекта класса за исключением контекста стрелочных функций, созданных вне класса.
  • Стрелочная функция и контекст?

    lastuniverse
    @lastuniverse
    Роман Дворянов, ну возможно я не очень корректно сформулировал свой первый комментарий)))
  • Стрелочная функция и контекст?

    lastuniverse
    @lastuniverse
    контекст стрелочной функции? У стрелочных функций нет собственного контекста

    Роман Дворянов, это не совсем верная интерпретация, и именно она сбивает тек кто впервые сталкивается с подобным поведением стрелочных функций. Правильнее будет сказать так
    стрелочная функция не создает собственный контекст исполнения, она использует внешний


    Роман Дворянов, Lynn «Кофеман», я хорошо понимаю как это работает, но своим комментарием хотел лишь объяснить то, что по моему мнению хотел спросить автор вопроса. Надеюсь следующий пример лучше слов объяснить то, что я имел ввиду:

    this.name = 123;
    const test = ()=>{
      console.log(this.name, typeof this.name)
    }
    
    const obj = {
      name: 456,
      test: test,
      innerTest1: ()=>{
      	console.log(this.name, typeof this.name)
      },
      innerTest2: function (){
      	console.log(this.name, typeof this.name)
      },
      innerTest3: test
    }
    test() // 123 string
    obj.test() // 123 string
    obj.innerTest1() // 123 string
    obj.innerTest2() // 456 'number'
    obj.innerTest3() // 123 string


    PS: но и у меня тут уже возник собственный вопрос, почему 123 - строка, а 456 - число? ))))
    или это jsfiddle уже намутил с враперами и гетерами/сетерами?
    https://jsfiddle.net/20epqvwm/3/
  • Стрелочная функция и контекст?

    lastuniverse
    @lastuniverse
    Lynn «Кофеман», та я в курсе, но чисто технически объявление типа

    showname = () => {
            console.log(this.name);
        }


    чтобы сохранить заявленное поведение стрелочных функций не должно является свойством, а должно быть переменной с ссылкой на стрелочную фанку с контекстом класса а не с контекстом объекта класса, но это не так. Вот автор вопроса и удивляется, почему так происходит)))
  • Стрелочная функция и контекст?

    lastuniverse
    @lastuniverse
    Роман Дворянов, но контекст стрелочной функции не зависит от того, после какого объекта она вызывается через точку, а в примере автора вопроса выходит что зависит)