Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 30.05.2021
Сообщений: 3
1

Как сделать чтобы игрок не мог двигаться дальше определённых координат

23.06.2021, 14:35. Показов 1948. Ответов 4

Author24 — интернет-сервис помощи студентам
Здравствуйте, создаю 2д ранер. Решил сделать управление свайпами и надо сделать, чтобы игрок не мог двигаться дальше определённых координат. Я взял за основу решение из другого скрипта и добавил в свой, но он не работает. Может надо что то добавить или сделать другое решение. Если знаете то помогите пожалуйста!
Вот скрипт:
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
public class Swipe : MonoBehaviour, IBeginDragHandler, IDragHandler 
{
    public  Transform Rocet;
    public int speed;
    public float maxHeight=2;
    public float minHeight=-2;
 
 
    public void Start()
    {
        
    }
    public void OnBeginDrag(PointerEventData eventData)
    {
 
        
        
            if ((Mathf.Abs(eventData.delta.x)) > Mathf.Abs(eventData.delta.y))
 
 
            {
                if (eventData.delta.x > 0 && transform.position.x < maxHeight)
            {
                    Rocet.position += Vector3.right * 2 * speed * Time.deltaTime;
               
 
                }
                else if (eventData.delta.x< 0 && transform.position.x > minHeight) 
                {
                    Rocet.position += Vector3.left * 2 * speed * Time.deltaTime;
                
                }
            }
        
    }
 
    public void OnDrag(PointerEventData eventData)
    {
 
    }
    
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.06.2021, 14:35
Ответы с готовыми решениями:

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

Как сделать чтобы при значении "Забил" Игрок 1 бил дальше, а при значении "Промахнулся" ход переходил другому игроку.
Покажите как правильно сделать,чтобы при значение &quot;Забил&quot; например Игрок 1 дальше бил, чтобы ...

Куда двигаться дальше чтобы дотянуть до шарп джуниора?
Здарствуйте, Я начал изучать програмирование(C#) пару месяцов назад. Я изучил все(возможно и не...

Как сделать чтобы игрок реагировал на платформу только прыгая на нее сверху
В игре прыжок осуществляется автоматически при контакте коллайдеров игрока(Box Collider) и...

4
35 / 26 / 11
Регистрация: 30.01.2018
Сообщений: 169
23.06.2021, 15:08 2
Обычно колайдерами ограничивают движение. Расставь их по карте, тогда игрок будет просто упираться в них и все. Не думаю, что требуется именно через скрипт это делать.
0
0 / 0 / 0
Регистрация: 30.05.2021
Сообщений: 3
23.06.2021, 15:20  [ТС] 3
Я так пытался уже так сделать.Но к сожалению из за особенностей ранера получилось не очень
0
3358 / 1772 / 1027
Регистрация: 26.10.2018
Сообщений: 5,199
23.06.2021, 15:28 4
Лучший ответ Сообщение было отмечено Voinmega как решение

Решение

C#
1
2
if (transform.position.x > max_x)
    transform.position = new Vector(max_x, transform.position.y, transform.position.z);
Аналогично для других координат.
1
0 / 0 / 0
Регистрация: 30.05.2021
Сообщений: 3
23.06.2021, 15:41  [ТС] 5
Спасибо
0
23.06.2021, 15:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.06.2021, 15:41
Помогаю со студенческими работами здесь

Как сделать так, чтобы игрок не скатывался по ступеньке, а плавно по ней ходил?
Как сделать так, чтобы игрок не скатывался по ступеньке, а плавно по ней ходил?

Как сделать чтобы, пользователь не мог ввести время с 2 до 12?
C# программа определяет сколько часов Вы спите (В Консоле)В моей программе множество циклов, и с...

Как сделать, чтобы пользователь не мог кликать по браузеру
Добрый день! Создал в программе webBrowser1. Программа кликает по браузеру программно, сама. Как...

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

Как сделать чтобы python мог анализировать экран?
Я ещё только недавно начал изучать python. Как сделать так чтобы python можно смотреть экран и если...

Как сделать чтобы я мог дать свои число на этот
package ggg2; public class s1 { public static void main(String args){ int k = 8; ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru