• Как исправить передачу данных модели в форме регистрации ASP.NET MVC?

    @michadimin Автор вопроса
    И так, ответ нашёлся в самом неочевидном месте...
    В модели принятия данных обязательно нужны были { get; set } для свойств...
    Ответ написан
  • Как загрузить нод на сцену в Godot Mono?

    @michadimin Автор вопроса
    Ответ нашёл сам.
    Хочу извиниться, ибо сначала неправильно указат строчку кода, которую подразумевал.
    Я искал способ сделать аналог вот такому на C#:
    var scene = preload("res://myscene.scn")
    var node = scene.instance()
    add_child(node)


    Решение выглядит так:
    //Загрузка сцены относительно локального пути проекта
            var scene = (PackedScene)ResourceLoader.Load("res://scenes/Scene.tscn"); 
            
            //Для загруженной сцены мы должны указать тип узла, который мы использовали при создании сцены которую хотим загрузить
            //Возможно, что немного не понятно, но я рассмотрю пример далее
            StaticBody2D newGround = (StaticBody2D)scene.Instance();
            
            //Добавляем дочерний узел в текущуую сцену
            AddChild(newGround);


    Пример того, как это применил я:
    Я создал сцену, которую назвал Player(чисто плейс-холдер, не более, ибо функции у неё вообще не те, о которых можно подумать)
    На это сцене у меня находится узел RigidBody2D, имеющий 2 дочерних элемента: CollisionShape2D и Sprite.
    6415756c9b183063641381.png

    Далее я перешёл к главной сцене, которая у меня называется World.
    641575d8805e8022735672.png
    Объяснять что у меня на этой сцене уже находится я не стану, к теме не относится. И так видно, что это просто заготовка карты.

    Далее мы привязываем скрипт к узлу World и пишем в него следующее:
    public class World : Node2D
    {
    	
    	public override void _Ready()
    	{
    		
    	}
    
    	public override void _Process(float delta)
    	{
    		if (Input.IsActionJustReleased("leftClick"))
    		{
    			var newPlayer = (PackedScene)ResourceLoader.Load("res://Assets//Player/Player.tscn");
    			RigidBody2D newRigid = (RigidBody2D)newPlayer.Instance();
    			newRigid.Position = GetViewport().GetMousePosition();
    			AddChild(newRigid);
    		}
    	}
    }

    Этот код будет загружать на текущую сцену - сцену Player, с типом RigidBody2D.
    Загрузка будет происходить левому клику мышки в позиции курсора внутри окна с игрой.

    Для 4-ой версии Godot будет метод Instantiate() вместо Instance()


    ВАЖНО!!!
    Input.IsActionJustReleased("leftClick") - leftClick - это моё название действия клика левой кнопки мышки!
    По умолчанию его не существует и вы должны сами его создать через меню "Проект" >> "Настройки проекта" >> "Список действий".
    ВАЖНО!!!
    Ответ написан
    Комментировать
  • Как перечислить все классы, реализованные через некоторый интерфейс?

    @michadimin Автор вопроса
    Спустя немного времени - нашёл такое решение

    public static IEnumerable<Type> GetInterfaceTypes<T>()
        {
            var type = typeof(T);
            var types = AppDomain.CurrentDomain.GetAssemblies()
                .SelectMany(s => s.GetTypes())
                .Where(p => type.IsAssignableFrom(p));
    
            return types;
        }


    Если вы простой обыватель и отчаянно ищите способа быстрее решить проблему, то вот пример использования:
    interface ITest1
    {
    
    }
    
    interface ITest2 : ITest1
    {
    
    }
    
    interface ITest3 : ITest2
    {
    
    }
    
    class TestClass1
    {
    
    }
    
    class TestClass2 : TestClass1
    {
    
    }
    
    static class Extensions
    {
        public static IEnumerable<Type> GetInheritedTypes<T>()
        {
            var type = typeof(T);
            var types = AppDomain.CurrentDomain.GetAssemblies()
                .SelectMany(s => s.GetTypes())
                .Where(p => type.IsAssignableFrom(p));
    
            return types;
        }
    }
    
    class Prog
    {
        public static void Main()
        {
            foreach (var i in Extensions.GetInheritedTypes<TestClass1>()) //В треугольных скобочках указывается тип, наледников которого вы хотите получить
                Console.WriteLine(i);
        }
    }
    Ответ написан
    2 комментария
  • Как использовать PyPy в качестве интерпретатора в PyCharm и устанавливать в него библиотеки?

    @michadimin Автор вопроса
    В общем, было легче накатить линукс и сделать всё из терминала. Я даже к гайдам не прибегал, когда там это всё устанавливал!
    1. Установил Ubuntu
    2. Обновил glibc и остальные важные компоненты
    3. Прописал в терминал: sudo apt install pypy3
    4. Скачал скрипт для установки pip
    5. Запустил этот крипт из под pypy
    6. Готово! PyPy3 способен полноценно работать!
    Ответ написан
    Комментировать
  • Как очистить экран от ВСЕХ объектов в PyGame + Pymunk?

    @michadimin Автор вопроса
    Сам нашёл ответ.

    Для тех, кто будет мучится с таким же вопросом в будущем и увидит эту тему тут - объясню решение:
    Нужно объявить массивы(списки) для объектов, которые создаются в функциях, после чего добавлять в эти массивы каждый новый элемент.
    При необходимости удаления - нужно создать цикл(думаю все уже поняли какой, так что объяснять не буду), где вы будете удалять каждый объект обращаясь по его индексу в массиве через метод remove() для вашего пространства в Pymunk.
    Ответ написан
    Комментировать
  • Почему не работает программа на python?

    @michadimin
    У тебя переменные, отмеченные на скрине отсутствуют, вот он и не работает.

    Задача твоя, вероятно, состоит в том, чтобы произвести действия с введённым числами.
    61cca89a65892827058184.png

    Вот исправленный вариант - https://pastebin.com/WtQtej3W
    Ответ написан
    Комментировать