Jump to content
Unity Insider Forum

Iboshido

Members
  • Content count

    8
  • Joined

  • Last visited

Community Reputation

0 Neutral

About Iboshido

  • Rank
    Newbie

Recent Profile Visitors

458 profile views
  1. Iboshido

    flugbahn berechnen 2D

    danke f├╝r deine Hilfe ­čśü der gesamte code f├╝r die Flugbahn sieht wie folgt aus public class trajectoryScript : MonoBehaviour { private float dotShift; //set to 5. How far the first dot is from the "ball" private float dotSeparation; // set to 3. How far each dot is seperateted from each other private int numberOfDots; // set to 5. How many dots should be desplayed. Max 40. public GameObject trajectoryDots; //The parent of all the points representing the trajectory private GameObject ball; //The projectile the player will be shooting private Rigidbody2D ballRB; //The Rigidbody2D attached to the projectile the player will be shooting private Vector3 ballPos; //Position of the ball private Vector2 shotForce; //How much velocity will be applied to the ball private float x1, y1; //X and Y position which will be applied to each point of the trajectory public float shootingPowerX; //set to 12. The amount of power which can be applied in the X direction public float shootingPowerY; //set to 12. The amount of power which can be applied in the Y direction private GameObject[] dots; //The array of points that make up the trajectory public bool isInCannon = false; private Transform shootingDiraction; private Vector3 ballArrowDiff; private GameObject btn_shootBall; void Start() { if(gameObject.name == "Kanone") shootingDiraction = transform.parent.gameObject.transform.GetChild(0).gameObject.transform; else shootingDiraction = transform.GetChild(0).gameObject.transform; ball = GameObject.Find("Ball"); btn_shootBall = GameObject.Find("Canvas").transform.Find("btn_shootBall").gameObject; isInCannon = false; ballRB = ball.GetComponent<Rigidbody2D>(); if (trajectoryDots == null) Debug.Log("trajectoryDots is null"); dots = trajectoryDots.GetComponent<MaskScript>().dots; dotSeparation = trajectoryDots.GetComponent<MaskScript>().dotSeparation; numberOfDots = trajectoryDots.GetComponent<MaskScript>().numberOfDots; dotShift = trajectoryDots.GetComponent<MaskScript>().dotShift; } void Update() { if (ball != null) { ballPos = ball.transform.position; ballArrowDiff = shootingDiraction.transform.position - ballPos; shotForce = new Vector2(ballArrowDiff.x * shootingPowerX, ballArrowDiff.y * shootingPowerY); } if (isInCannon) { skr_ballShootControler.instance.isballReadyForshoot = true; ballRB.constraints = RigidbodyConstraints2D.FreezeAll; trajectoryDots.SetActive(true); //Display the trajectory btn_shootBall.SetActive(true); btn_shootBall.transform.position = Camera.main.WorldToScreenPoint(this.transform.position); for (int k = 0; k < numberOfDots; k++) { //Each point of the trajectory will be given its position x1 = ballPos.x + shotForce.x * Time.fixedDeltaTime * (dotSeparation * k + dotShift); //X position for each point is found y1 = ballPos.y + shotForce.y * Time.fixedDeltaTime * (dotSeparation * k + dotShift) - (-Physics2D.gravity.y / 2f * Time.fixedDeltaTime * Time.fixedDeltaTime * (dotSeparation * k + dotShift) * (dotSeparation * k + dotShift)); //Y position for each point is found dots[k].transform.position = new Vector3(x1, y1, dots[k].transform.position.z); //Position is applied to each point } if (skr_ballShootControler.instance.isShooting) // if ball is inside the cannon { isInCannon = false; skr_ballShootControler.instance.isShooting = false; btn_shootBall.SetActive(false); if (trajectoryDots.activeInHierarchy) { //If the player was aiming... ballRB.constraints = RigidbodyConstraints2D.None; trajectoryDots.SetActive(false); //The trajectory will hide ballRB.velocity = new Vector2(shotForce.x, shotForce.y); //The "ball" will have its new velocity if (ballRB.isKinematic == true) { //If the "ball" was kinematic... ballRB.isKinematic = false; //It's no longer kinematic } } } } }
  2. Iboshido

    flugbahn berechnen 2D

    Hey Leute, ich habe ein Gameobjekt "ball", welches aus einer Kanone geschossen wird. Ich habe zur Berechnung der Flugbahn des Balles einen Code aus dem Netz. Es hat wunderbar funktioniert, bis ich ein paar weitere Zeilen Code im ball hinzugef├╝gt habe, damit der ball eine realistischeres physikalisches verhalten hat. Nun funktioniert aber nat├╝rlich die Berechnung der Flugbahn nicht mehr, da das neue physikalische Verhalten des balls nicht in die Berechnung der Flugbahn geht. Code um die Flugbahn zu Berechnen: void Update() { for (int k = 0; k < numberOfDots; k++) { x1 = ballPos.x + shotForce.x * Time.fixedDeltaTime * (dotSeparation * k + dotShift); y1 = ballPos.y + shotForce.y * Time.fixedDeltaTime * (dotSeparation * k + dotShift) - (-Physics2D.gravity.y / 2f * Time.fixedDeltaTime * Time.fixedDeltaTime * (dotSeparation * k + dotShift) * (dotSeparation * k + dotShift)); dots[k].transform.position = new Vector3(x1, y1, dots[k].transform.position.z); } Code um dem Ball eine realistischeres physikalisches Verhalten zu geben: void Update() { if (rb2d.velocity.y < 0) { rb2d.velocity += Vector2.up * Physics2D.gravity.y * (fallMultiplier - 1) * Time.deltaTime; } else if (rb2d.velocity.y > 0) { rb2d.velocity += Vector2.up * Physics2D.gravity.y * (lowJumpMultiplier - 1) * Time.deltaTime; } }
  3. Hey Leute, ich hab mal i.wo im Netz mal ein Video Tutorial, wie man zuf├Ąllige Hindernisse in einem Endless runner instanziiert ohne, dass ist unfair wird. Jedoch finde ich dieses Tutorial leider nicht mehr. Weiss einer von euch villt welches Tut ich meine?
  4. Iboshido

    Obj Dragable in Area

    und wie genau w├╝rde ich ├╝berpr├╝fen ob das obj in der area ist?
  5. Iboshido

    Obj Dragable in Area

    hey leute, ich hab ein Obj_Block und ein leeres Obj_dragable_area mit einem BoxCollider2d, haken im "is trigger" gesetzt. Also ich w├╝rde gerne das Obj_Block mit der Maus zum ziehen k├Ânnen, aber auch nur wenn Obj_Block im Obj_dragable_area ist. Bisher sieht der code wie folgt aus: //im Obj_Block void OnMouseDown()// Funktion wird aufgerufen wenn linke Maustaste gedr├╝ckt wird { //p├╝ft ob Spieler-Colider == Mausposition und isPicking== false if (Block_collider.GetComponent<CircleCollider2D>().bounds.Contains((Vector2)Camera.main.ScreenToWorldPoint(Input.mousePosition)) && !isPicking) { isPicking = true; } } void OnMouseDrag()// Funktion wird aufgerufen wenn wenn linke Maustaste gedr├╝ckt und Maus in Bewegung { if (isPicking) { rb2d.MovePosition(Camera.main.ScreenToWorldPoint(Input.mousePosition));//setze Spieler-Position gleich Mausposition } } void OnMouseUp()// Funktion wird aufgerufen wenn wenn linke Maustaste los gelassen { isPicking = false; } Was m├╝sste ich erg├Ąnzen um Obj_block nur im Obj_dragable_area bewegen zu d├╝rfen?
  6. Iboshido

    Text Datentyp nicht verhanden

    lol.. danke
  7. hey leute, ich will mit dem UI Text arbeiten, wenn ich aber im Skript "public Text beispieltext" benutzte, wird der Text nicht als Datentyp erkannt. Woran liegt das?
  8. hallo Leute, bin ein totaler Unity Anf├Ąnger also verzeiht mir meine evtl. "dumme" Frage, aber ich zerbreche mir deswegen schon seit Stunden den Kopf. Undzwar arbeite ich grad an einem 2D Airhockey Spiel mit KI als Gegner. 1. Ich habe ein "Player" Script erstellt, welches die "AnzahlLeben"-Variable beinhaltet. 2. Dann habe ich zwei weitere Scripts erstellt, "HumanPlayer" und "KI", welche beide Kindklassen vom "Player" Script sind. Diese zwei Scripts habe ich dann dem "HumanPlayer_obj" und dem "Gegner_obj" angeh├Ąngt. Jetzt weiss ich aber nicht genau wie ich es hinbekomme, dass jeder Spieler weiss welches sein eigens Tor ist und nach einem einkassiertem Tor soll jeder Spieler, egal ob "HumanPlayer_obj" oder "Gegner_obj", seine "AnzahlLeben"-Variable verringern und diese auch an einem festen Ort in der HUD anzeigen. Ich w├╝sste schon wie ich es hinbekommen w├╝rde wenn ich den code jeweils f├╝r "HumanPlayer_obj" und "Gegner_obj" schreiben w├╝rde. Ich w├╝rde es aber lieber vermeiden code zu wiederholen. Ich hoffe ich konnte meinen Sachverhalt schildern
×