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

Unity 2D Android перемещение акселерометром

20.03.2018, 16:31. Показов 1803. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день . На главной сцене есть 4 объекта . они будут выполнять роль динамичного фона .
но хочу сделать ограничение их движения в право и влево . но не выходит .
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
60
61
62
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class Main_menu : MonoBehaviour {
 
 
    Vector3 man_startPos = new Vector3();
    Vector3 girl_startPos = new Vector3();
    Vector3 left_stone_startPos = new Vector3();
    Vector3 right_stone_startPos = new Vector3();
    public float speed = 0.2f;
    public float speed2 = 0.05f;
    public float x = 0;
    public float x1 = 0;
    public float x2 = 0;
    public float x3 = 0;
    GameObject man ;
    GameObject girl ;
    GameObject left_stone ;
    GameObject right_stone ;
 
    void Start ()
 
    {
        man = GameObject.Find("Main_man");
        girl = GameObject.Find("Main_girl");
        left_stone = GameObject.Find("Main_left_stone");
        right_stone = GameObject.Find("Main_right_stone");
        man_startPos = man.transform.position;
        girl_startPos = girl.transform.position;
        left_stone_startPos = left_stone.transform.position;
        right_stone_startPos = right_stone.transform.position;
        x = man_startPos.x;
        x1 = girl_startPos.x;
        x2 = left_stone_startPos.x;
        x3 = right_stone_startPos.x;
    }
 
    public void Update()
    {
        Move(man_startPos, speed, man,x );
        Move(girl_startPos, speed, girl,x1);
        Move(left_stone_startPos, speed2, left_stone,x2);
        Move(right_stone_startPos, speed2, right_stone,x3);
    }
 
    public void Move (Vector3 a , float b , GameObject c , float d)
    {
        float l = d - 2;
        float r = d + 2;
 
            a.x = Input.acceleration.x;
 
            if (a.sqrMagnitude > 1)
                a.Normalize();
        if ((a.x > l) && (a.x < r))
        {
            c.transform.Translate(a.x * b, 0, 0);
        }
    }
    }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.03.2018, 16:31
Ответы с готовыми решениями:

Перемещение камеры, как в редакторе unity в окне Scene
Всем привет! Подскажите, пожалуйста, как реализовать точно такое же перемещение камеры как в самом unity в окне Scene, когда мы зажимаем...

Unity - android. Оптимизация
не могу понять, почему лагает простенькая 3д игра на телефоне, но в браузере все нормально. Вроде все модели совсем низкополигональные,...

Unity 2D Android Chat
Всем привет . Подскажите как сделать чат . А точнее : Как вывести разноцветный текст . Как сделать некоторые слова активными . Как...

2
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
20.03.2018, 19:05
Лучше бы сделать добавление смещения от начальной точки. Так и ограничить легко и понятнее.
0
2 / 2 / 1
Регистрация: 09.01.2015
Сообщений: 383
23.03.2018, 01:15  [ТС]
Решил так
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class MoveObjects : MonoBehaviour {
 
 
    Vector3 man_startPos = new Vector3();
    Vector3 girl_startPos = new Vector3();
    Vector3 left_stone_startPos = new Vector3();
    Vector3 right_stone_startPos = new Vector3();
    public float speed = 4f;
    public float speed2 = 2f;
    public float x = 0;
    public float x1 = 0;
    public float x2 = 0;
    public float x3 = 0;
    GameObject man ;
    GameObject girl ;
    GameObject left_stone ;
    GameObject right_stone ;
    public bool moveRight = true;
 
    void Start ()
 
    {
        man = GameObject.Find("Man");
        girl = GameObject.Find("Girl");
        left_stone = GameObject.Find("LeftStone");
        right_stone = GameObject.Find("RightStone");
        man_startPos = man.transform.position;
        girl_startPos = girl.transform.position;
        left_stone_startPos = left_stone.transform.position;
        right_stone_startPos = right_stone.transform.position;
        x = man_startPos.x;
        x1 = girl_startPos.x;
        x2 = left_stone_startPos.x;
        x3 = right_stone_startPos.x;
 
    }
 
    public void Update()
    {
        Move(man_startPos, speed, man,x );
        Move(girl_startPos, speed, girl,x1);
        Move(left_stone_startPos, speed2, left_stone,x2);
        Move(right_stone_startPos, speed2, right_stone,x3);
    }
 
    public void Move (Vector3 a , float b , GameObject c , float d)
    {
        
        float l = d - 1 * b;
        float r = d + 1 * b;
 
        Vector3 q = new Vector3(0, 0, 0);
       q.x = Input.acceleration.x;
        if (q.sqrMagnitude > 1)
            q.Normalize();
 
        if (q.x > 0) moveRight = true;
        if (q.x < 0) moveRight = false;
        if (moveRight)
        {
            var pos = c.transform.position;
            pos.x += b * Time.deltaTime;
            if (pos.x < r)
            {
                c.transform.position = pos;
            }
 
            
        }
        else
        {
            var pos = c.transform.position;
            pos.x -= b * Time.deltaTime;
            if (pos.x > l)
            {
                c.transform.position = pos;
            }
        }
 
    }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.03.2018, 01:15
Помогаю со студенческими работами здесь

Unity & Android
Скачал я его и как понял это игровой движок для андроид систем. Вопрос в том как бы как запустить на нем Hello world на андроид!?

Unity android подскажите со скриптом
Всем привет. Мне необходимо чтобы в игре под Android, при нажатии на кнопку, появоялся обьект на сцене. Как переходить на другую сцену...

Unity 2D Android Все разъехалось
Вот объясните мне в чем может быть проблема . В гейм запускаю все четко . Компилирую , закачиваю на телефон . Запускаю и все разъехалось ....

Unity build Android Apps
Всем привет! У меня Unity отказывается компилировать apk файл, ссылается на отсутствие JDK 7... Не могу найти установочный файл, помогите?...

Unity 2D Android AddEventListener и DispatchEvent
Подскажите как реализовываются в Unity создание Событий и их реализация ?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь 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. На борту пять. . .
Камера 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. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru