Unity 3d Collision Frage?

2 Antworten

public int BossHealth = 100;
void OnControllerColliderHit (OnColliderHit hit) {
BossHealth -= 10;
Destroy(col.gameObject);
if (BossHealth == 0)
Destroy(this.gameObject);
}

Eine int Variable = 100

 oncollision enter -10 von dieser Variable. 

Dann bei Update, wenn die Variable 0 oder weniger ist, destroy gameobject. 

Hoffe das hat dir geholfen.

Eigene Häuser in Unity 3d einfügen, aber nur wie?

Ich kenne mich zwar schon gut in Unity 3d aus, aber wie man z.B eigene Assets erstellt und einfügt, und die Assets dann auch noch verwenden kann ist mir noch nicht so ganz klar. Denn wenn man versucht eine .pgn oder eine .jpg Datei in den Assets Ordner zu packen kommt immer eine Fehlermeldung. wäre super wenn ihr mir weiter helfen könntet!

...zur Frage

Aktiven Status eines GameObjects umdrehen ( Unity, C#)?

Ich möchte den Status meiner Panel ( Enabled, Disabled) meiner UI umdrehen, wenn ich einen Button klicke.

using UnityEngine;
using System.Collections;

public class Button_PanelEvent : MonoBehaviour {
    public GameObject Panel;
    public void OnButton(){
        Panel.SetActive( !Panel.activeSelf);
    }
}

Warum funktioniert das nicht ? Bei dem Event OnButton müsste nun das definierte GameObject, das Panel, seinen Status umdrehen, funktioniert aber nicht. Ist das Skript so richtig und sollte funktionieren, liegt der Fehler an anderer Stelle ?

...zur Frage

Unity 5 C# Script Hilfe // Player immer nach rechts bewegen lassen ohne irgendein Knopf drücken zu müssen?

Hey Community irgendwelche Auskenner in Unity ? In der Sprache C#

Ich möchte nämlich ein Spiel machen wo der Player immer nach Rechts automatisch läuft. Ich bedanke mich für jeden der Antwortet.

Mein bisheriges PlayerController Script:

using UnityEngine; using System.Collections;

public class PlayerController : MonoBehaviour {

public float maxSpeed = 4;
public float jumpForce = 550;

private Rigidbody2D rb2d;
private bool jump = false;

// Use this for initialization
void Start () {
    rb2d = GetComponent<Rigidbody2D>();

}

// Update is called once per frame
void Update () {
    if (Input.GetButtonDown ("Jump"))
        jump = true;

}

void FixedUpdate()
{
    float hor = Input.GetAxis ("Horizontal");
    rb2d.velocity = new Vector2 (hor * maxSpeed, rb2d.velocity.y);

    if(jump)
    {
        rb2d.AddForce (new Vector2(0,jumpForce));
        jump = false;
    }
}

}

...zur Frage

Unity 5 Scrollbar bzw. Healthbar C#?

Ich habe ein Problem ich möchte eine Lebens anzeige machen aber sie funktioniert nicht richtig, wenn man den Gegner trifft wird nichts an der Anzeige abgezogen aber wenn er tot ist dann ist die Anzeige auch leer. Hier der Code :

using UnityEngine; using UnityEngine.Networking; using System.Collections; using UnityEngine.UI;

public class Player : NetworkBehaviour {

[SyncVar]
private bool _isDead = false;
public bool isDead
{
    get { return _isDead; }
    protected set { _isDead = value; }
}

[SerializeField]
private int maxHealth = 100;

[SyncVar]
private int currentHealth;
public Scrollbar healthbar;

[SerializeField]
private Behaviour[] disableOnDeath;
private bool[] wasEnabled;

public void Setup()
{
    wasEnabled = new bool[disableOnDeath.Length];
    for (int i = 0; i < wasEnabled.Length; i++)
    {
        wasEnabled[i] = disableOnDeath[i].enabled;
    }

    SetDefaults();
}

[ClientRpc]
public void RpcTakeDamage(int _amount)
{
    if (isDead)
        return;

    currentHealth -= _amount;

    healthbar.size = currentHealth;

    Debug.Log(transform.name + " now has " + currentHealth + " health.");

    if (currentHealth <= 0)
    {
        Die();
    }
}

private void Die()
{
    isDead = true;

    for (int i = 0; i < disableOnDeath.Length; i++)
    {
        disableOnDeath[i].enabled = false;
    }

    Collider _col = GetComponent<Collider>();
    if (_col != null)
        _col.enabled = false;

    Debug.Log(transform.name + " is DEAD!");

    StartCoroutine(Respawn());
}

private IEnumerator Respawn()
{
    yield return new WaitForSeconds(GameManager.instance.matchSettings.respawnTime);

    SetDefaults();
    Transform _spawnPoint = NetworkManager.singleton.GetStartPosition();
    transform.position = _spawnPoint.position;
    transform.rotation = _spawnPoint.rotation;

    Debug.Log(transform.name + " respawned.");
}

public void SetDefaults()
{
    isDead = false;

    currentHealth = maxHealth;

    for (int i = 0; i < disableOnDeath.Length; i++)
    {
        disableOnDeath[i].enabled = wasEnabled[i];
    }

    Collider _col = GetComponent<Collider>();
    if (_col != null)
        _col.enabled = true;

}

}

würde mich sehr über eine schnelle und hilfreiche Antwort freuen

...zur Frage

C++ IF bedingung(Anfängerproblem)

Guten Tag, wollte eben ein Übungsprogramm schreiben mit dem man einen Preisnachlass berechnen lassen kann:

Wenn man mehr als 10 Laptops kauft gibts 18% rabatt und keine versandkosten. Mein Problem ist, dass ich nicht weiss wie ich die Anzahl der Laptops in eine rechnung mit einbeziehen kann->

#include <iostream>
#include<string>

using namespace std;
int main() 

{
    double nettobetrag, nettobetragS;
    string laptops;
    cout<<"Anzahl der Laptops:  ";
    cin>>laptops;
    cout<<"Nettobetrag pro Stueck:";
    cin>>nettobetragS;



    if (laptops>"10")
    {       nettobetrag=laptops*nettobetragS;
              cout<<"Nettobetrag:"<<nettobetrag;
              .................





    }




    cout<<endl;

    return 0;

}
...zur Frage

Welche Laptop Vorraussetzungen für Unity 3D, Blender, etc.?

Hey Leute,
Ich und ein paar Freunde sind grade dabei ein kleines Spiel zu entwickeln.
Aber das Problem ist, dass ich viel Im Urlaub bin und dann nicht mitarbeiten kann.
Also will ich mir einen Laptop kaufen. Aber ich weiss nicht was für Vorraussetzungen ein Laptop für meine Zwecke haben soll. Es wäre nett wenn ihr mirentweder ein Laptop oder die Vorraussetzungen schreibt.

Mit freundlichen Grüßen LouviLP

...zur Frage

Was möchtest Du wissen?