Как исправить глюк с коллайдером?

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

Как исправить глюк с коллайдером?

Сообщение Borundel(Steam) 29 июн 2018, 19:59

Вот видео :
Borundel(Steam)
UNец
 
Сообщения: 14
Зарегистрирован: 02 май 2018, 16:35

Re: Как исправить глюк с коллайдером?

Сообщение 1max1 29 июн 2018, 20:00

как реализовано движение?
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Как исправить глюк с коллайдером?

Сообщение Borundel(Steam) 29 июн 2018, 20:06

1max1 писал(а):как реализовано движение?

Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Moving : MonoBehaviour {

        public bool isFacingRight;
        public float speed;
        public float hp;
       
        void Update () {
               
                if (transform.localScale.x == 1) {
                       
                        isFacingRight = true;
                       
                }else{
                       
                        isFacingRight = false;
                       
                }
               
                if (Input.GetKey("left")) {
                       
                        if (isFacingRight) {
                               
                                Flip();
                               
                        }
                       
                        transform.position -= new Vector3(speed * Time.deltaTime, 0 , 0);
                       
                }
                if (Input.GetKey("right")) {
                       
                        if (!isFacingRight) {
                               
                                Flip();
                               
                        }
                       
                        transform.position += new Vector3(speed * Time.deltaTime, 0 , 0);
                       
                }
                if (Input.GetKey("up")) {
                       
                        transform.position += new Vector3(0, speed * Time.deltaTime, 0);
                       
                }
                if (Input.GetKey("down")) {
                       
                        transform.position -= new Vector3(0, speed * Time.deltaTime, 0);
                       
                }
               
        }
       
        void Flip () {
       
                transform.localScale = new Vector3(-transform.localScale.x, 1, 1);
       
        }
       
}
 
Borundel(Steam)
UNец
 
Сообщения: 14
Зарегистрирован: 02 май 2018, 16:35

Re: Как исправить глюк с коллайдером?

Сообщение 1max1 29 июн 2018, 20:26

transform.position не лучший вариант, лучше юзать вот это https://docs.unity3d.com/ScriptReferenc ... ition.html
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Как исправить глюк с коллайдером?

Сообщение Borundel(Steam) 29 июн 2018, 20:41

1max1 писал(а):transform.position не лучший вариант, лучше юзать вот это https://docs.unity3d.com/ScriptReferenc ... ition.html

Спасибо, но есть еще одна хрень - игрок идет только в одну сторону даже если я нажал две стрелки.
Borundel(Steam)
UNец
 
Сообщения: 14
Зарегистрирован: 02 май 2018, 16:35

Re: Как исправить глюк с коллайдером?

Сообщение 1max1 29 июн 2018, 20:54

Делать по кнопочкам передвижение тоже плохая практика.
Синтаксис:
Используется csharp
const float speed = 100.0f;
var move = new Vector3(Input.GetAxis("Vertical"), Input.GetAxis("Horizontal"), 0.0f) * speed * Time.deltaTime;
rb2d.MovePosition(rb2d.position + move);
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Как исправить глюк с коллайдером?

Сообщение Borundel(Steam) 29 июн 2018, 20:55

Спасибо
Borundel(Steam)
UNец
 
Сообщения: 14
Зарегистрирован: 02 май 2018, 16:35


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 20


cron