UNITY 2D Hogy kell ezt megcsinálni?
Most kezdtem el a Unity 2D-t nemrég és nem tudom hogy kell megcsinálni, hogy ha egy bizonyos kordináta alatt van haljon meg a karakter. Én így próbáltam:
var ws = Input.GetAxisRaw("Vertical")
if (ws <= -2)
{
Destroy(this.gameObject);
}
De nem sikerült.
várj még tudnál segíteni?
a karakter folyton visszapattan amikor leesik egy adott távolságig.
leírom az egész scriptet:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Moving : MonoBehaviour
{
float jumpTime;
void Start()
{
jumpTime = 0;
}
void Update()
{
var dx = Input.GetAxisRaw("Horizontal");
var ws = transform.position.y;
var jump = Input.GetAxisRaw("Jump");
if(dx != 0)
{
transform.Translate( new Vector2(Time.deltaTime * 5 * dx, 0) );
}
if(ws > 0 && jumpTime <= 0)
{
var rb = GetComponent<Rigidbody2D>();
rb.velocity = new Vector2(0, 10);
jumpTime = 1;
}
if(jumpTime > 0)
{
jumpTime = jumpTime - Time.deltaTime;
}
if (ws <= -2)
{
Destroy(this.gameObject);
}
}
}
Uhh látom még NAGYON NAGYON kezdő vagy....
if(transform.position.y) < -2) {
HalalFunkcio();
}
var rb = GetComponent<Rigidbody2D>();
UPDATE ALATT ILYET NE CSINÁLJ!!!!!!!!!
Ezt Start vagy Awake alatt kérdezd le és tárold el fieldben/propertyben!
Ez egy field:
float jumpTime;
Ide szervezd ki a RigidBody-t. Értéket meg a Start alatt adj neki. Az Update alatt csak hivatkozz rá.
További kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!