Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 26.08.2017
Сообщений: 2

Передвижение объекта в матрице

26.08.2017, 11:02. Показов 1740. Ответов 3

Студворк — интернет-сервис помощи студентам
Здравствуйте, не получается создать скрипт, который бы позволял объекту/персонажу передвигаться на равную дистанцию использую матрицу. Как правильно организовать проверку в матрице?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.08.2017, 11:02
Ответы с готовыми решениями:

Передвижение объекта
Моя проблема заключается в том что мне нужно чтобы платформа двигалась по оси x , но юнити меня не понимает когда я пишу:...

Передвижение объекта по плоскости
Доброго времени суток, не могу найти нормального ответа по счет следующего: Почему функция transform.position = new...

Замкнутое передвижение объекта
Я новичёк в unity3d скажу сразу. Хочу сделать чтобы объект двигался вправо влево по оси x, написал такой код, но объект движется...

3
C# .NET Программист
 Аватар для Ислам2001
34 / 22 / 5
Регистрация: 11.11.2016
Сообщений: 426
27.08.2017, 20:21
А обязательно ли использовать матрицу? И что за равная дистанция? Точнее равная чему или кому? Можешь поподробнее объяснить?
0
 Аватар для wmysterio
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
27.08.2017, 21:55
Цитата Сообщение от Frion2744 Посмотреть сообщение
Как правильно организовать проверку в матрице?
А что собственно есть?
0
0 / 0 / 0
Регистрация: 26.08.2017
Сообщений: 2
28.08.2017, 11:25  [ТС]
Цитата Сообщение от Ислам2001 Посмотреть сообщение
А обязательно ли использовать матрицу? И что за равная дистанция? Точнее равная чему или кому? Можешь поподробнее объяснить?
Матрицу я использую так как с помощью неё создаётся карта, а равная дистанция по координатам 0.1.0 0.2.0 и т.д.

Добавлено через 48 секунд
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
public float speed = 1.0f;
 
    private Vector3 endpos;
    private bool moving = false;
    public static int[,] grid;
 
    void Start () {
        endpos  = transform.position;
        grid = new int[,]{
            {2,2,2,2,2,2},
            {2,1,1,1,1,2},
            {2,1,0,0,1,2},
            {2,1,0,0,1,2},
            {2,1,1,1,1,2},
            {2,2,2,2,2,2}};
    }
 
    void Update () {
        
        Vector3 v = round(transform.position);
 
        if (moving && (transform.position == endpos) && (grid [(int)v.x, (int)v.y] != 2))
            moving = false;
 
        if (grid [(int)v.x, (int)v.y] == 2)
            Destroy (gameObject, 1);
        
        if(!moving && Input.GetKey(KeyCode.W)){
            moving = true;
            if (grid[ (int)v.x, (int)v.y + 1] != 0)
            endpos = transform.position + Vector3.up;
            
        }
 
        if(!moving && Input.GetKey(KeyCode.S)){
            moving = true;
            if (grid[ (int)v.x, (int)v.y - 1] != 0)
            endpos = transform.position + Vector3.down;
        }
 
        if(!moving && Input.GetKey(KeyCode.A)){
            moving = true;
            if (grid[ (int)v.x - 1, (int)v.y] != 0)
                endpos = transform.position + Vector3.left;
        }
 
        if(!moving && Input.GetKey(KeyCode.D)){
            moving = true;
            if (grid[ (int)v.x + 1, (int)v.y ] != 0)
            endpos = transform.position + Vector3.right * 1;
        }
 
        transform.position = Vector3.MoveTowards(transform.position, endpos, Time.deltaTime * speed);
    }
 
    public static Vector3 round(Vector3 v) {
        return new Vector3(Mathf.Round(v.x), Mathf.Round(v.y));
    
    }

Попробовал сам написать, более годного не получилось.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.08.2017, 11:25
Помогаю со студенческими работами здесь

Передвижение объекта к курсору мыши
В 2D по платформе прыгает мяч. Нужно, чтобы мяч двигался в сторону курсора по X. Пробую реализовать через addforce, мяч просто скачет в...

Передвижение объекта в ограниченном диапазоне
Здравствуйте, не могу решить проблему с ограничением движения объекта. Нужно чтобы пользователь передвигал объект только в заданном...

Передвижение объекта из точки А в точку Б
Всем доброго времени суток. Я к вам хочу обратиться за помощью: мне надо плавно переместить объект в начало сцены не зависимо от его...

Передвижение объекта в определённую точку
Здравствуйте , подскажите пожалуйста со скриптом который в методе старт будет узнавать координаты игрока 1 раз , а потом двигаться к ним с...

Передвижение объекта по шахматке, как останавливать при достижении края поля?
Добрый день, есть грубо говоря шахматная доска, нужно передвигать объект с одного края до другого (если по пути встречается препятствие -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru