Страница 1 из 1

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

СообщениеДобавлено: 29 июн 2018, 19:59
Borundel(Steam)
Вот видео :

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

СообщениеДобавлено: 29 июн 2018, 20:00
1max1
как реализовано движение?

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

СообщениеДобавлено: 29 июн 2018, 20:06
Borundel(Steam)
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);
       
        }
       
}
 

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

СообщениеДобавлено: 29 июн 2018, 20:26
1max1
transform.position не лучший вариант, лучше юзать вот это https://docs.unity3d.com/ScriptReferenc ... ition.html

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

СообщениеДобавлено: 29 июн 2018, 20:41
Borundel(Steam)
1max1 писал(а):transform.position не лучший вариант, лучше юзать вот это https://docs.unity3d.com/ScriptReferenc ... ition.html

Спасибо, но есть еще одна хрень - игрок идет только в одну сторону даже если я нажал две стрелки.

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

СообщениеДобавлено: 29 июн 2018, 20:54
1max1
Делать по кнопочкам передвижение тоже плохая практика.
Синтаксис:
Используется 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);

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

СообщениеДобавлено: 29 июн 2018, 20:55
Borundel(Steam)
Спасибо