예제 #1
0
 void move_to(Vector2 target_position, float accleration)
 {
     Utils.move_towards(transform, ref target_position, ref circle_cast_radius, ref object_avoidance_dist, ref ray_results, ref raycast_layer_mask);
     target_position = transform.InverseTransformPoint(target_position).normalized;
     rigid_body.AddRelativeForce(target_position * accleration, ForceMode2D.Force);
 }
예제 #2
0
 private void FixedUpdate()
 {
     rb.AddRelativeForce(Vector2.up * thrustInput);
     //rb.AddTorque(-turnInput);
 }
예제 #3
0
    // Update is called once per frame
    void Update()
    {
        gameObject = GameObject.Find("dontDestroy");
        myName     = gameObject.GetComponent <dontDestroy>().myName1;


        myLast = gameObject.GetComponent <dontDestroy>().myLast1;

        myHeight = gameObject.GetComponent <dontDestroy>().myHeight1;


        myWeight = gameObject.GetComponent <dontDestroy>().myWeight1;

        if (myHeight < 150)
        {
            height = 150;
        }
        else if (myHeight >= 150 && myHeight < 170)
        {
            height = 200;
        }
        else
        {
            height = 300;
        }

        if (Input.GetKey("space"))
        {
            power++;
        }
        if (isDead == false && reach == false)
        {
            /* if(Input.GetKey("right"))
             * {
             * rb2d.transform.position += transform.right * speed * Time.deltaTime;
             * rb2d.transform.position += transform.up * speed * Time.deltaTime;
             * //transform.Rotate(Vector3.forward *-100* Time.deltaTime);
             * }*/
            if (Input.GetKey("up"))
            {
                power++;
                // height=500;
                transform.Translate(Vector3.up * power * Time.deltaTime, Space.World);
                if (power >= height)
                {
                    reach = true;
                }
                //transform.position=Vector2(power,0);
            }
        }
        if (isDead == false && reach == true)
        {
            if (Input.GetKey("up"))
            {
                //rb2d.transform.position += transform.up * speed * Time.deltaTime;
                //rb2d.transform.position += transform.right * speed * Time.deltaTime;
                rb2d.AddRelativeForce(Vector2.up * speed * Time.deltaTime);
                //rb2d.AddRelativeForce(Vector2.right* speed*Time.deltaTime);
                rb2d.transform.eulerAngles = new Vector3(0, 0, -35.0f);
                //rb2d.AddForce(speed*Time.deltaTime,speed*Time.deltaTime);
            }
            else if (rb2d.transform.position.y < pos)
            {
                rb2d.transform.eulerAngles = new Vector3(0, 0, -145.0f);

                //pos=rb2d.transform.position.y;
            }
            rb2d.bodyType = RigidbodyType2D.Dynamic;
            Vector2 moveDirection = rb2d.velocity;
            if (moveDirection != Vector2.zero)
            {
                float angle = Mathf.Atan2(moveDirection.y, moveDirection.x) * Mathf.Rad2Deg;
                Debug.Log(angle);
                transform.rotation = Quaternion.AngleAxis(-angle, Vector3.forward);
            }
        }
    }
예제 #4
0
    // Update is called once per frame
    void FixedUpdate()
    {
        //Ground physics
        if (Input.GetKey(KeyCode.D) && rb.velocity.y.Equals(0f))
        {
            rb.AddRelativeForce(Vector2.right * 30f);
            if (sr.flipX)
            {
                sr.flipX = false;
            }
        }
        if (Input.GetKey(KeyCode.A) && rb.velocity.y.Equals(0f))
        {
            rb.AddRelativeForce(Vector2.left * 30f);
            if (!(sr.flipX))
            {
                sr.flipX = true;
            }
        }
        if (Input.GetKeyDown(KeyCode.W) && rb.velocity.y.Equals(0f))
        {
            //anim.SetBool("Jump", true);
            rb.AddRelativeForce(Vector2.up * 450f);
            if (Input.GetKeyDown(KeyCode.Space))
            {
                rb.AddRelativeForce(Vector2.up * 450f);
            }
        }

        if (rb.velocity.x != 0f /*&& anim.GetBool("Jump").Equals(false)*/)
        {
            anim.SetBool("Run", true);
        }
        else
        {
            anim.SetBool("Run", false);
        }

        //Air physics
        if (Input.GetKey(KeyCode.D) && !(rb.velocity.y.Equals(0f)))
        {
            rb.AddRelativeForce(Vector2.right * 7.5f);
        }
        if (Input.GetKey(KeyCode.A) && !(rb.velocity.y.Equals(0f)))
        {
            rb.AddRelativeForce(Vector2.left * 7.5f);
        }

        //Max Speed
        if (rb.velocity.x > maxSpeed)
        {
            rb.velocity = new Vector2(maxSpeed, rb.velocity.y);
        }
        if (rb.velocity.x < -maxSpeed)
        {
            rb.velocity = new Vector2(-maxSpeed, rb.velocity.y);
        }

        if (transform.position.y < minY)
        {
            gm.Death();
            this.gameObject.SetActive(false);
        }

        //Actions
        //Throws
        if (Input.GetKeyDown(KeyCode.S) && carry == true)
        {
            contact.GetComponent <Knuckles>().Thrown();
            if (sr.flipX == false)
            {
                contact.transform.position = new Vector2(this.transform.position.x + 5.0f, this.transform.position.y + 1.0f);
                contact.GetComponent <Rigidbody2D>().AddRelativeForce(Vector2.right * 100.0f);
            }
            else
            {
                contact.transform.position = new Vector2(this.transform.position.x - 5.0f, this.transform.position.y + 1.0f);
                contact.GetComponent <Rigidbody2D>().AddRelativeForce(Vector2.left * 100.0f);
            }
            contact = null;
            carry   = false;
        }
        else if (Input.GetKeyDown(KeyCode.S) && Input.GetKey(KeyCode.A) && carry == true)
        {
            contact.GetComponent <Knuckles>().Thrown();
            contact.GetComponent <Rigidbody2D>().AddRelativeForce(Vector2.up * 1000f);
            contact = null;
            carry   = false;
        }

        //Pick Up
        if (Input.GetKeyDown(KeyCode.S) && possible == true && contact != null)
        {
            print("ok");
            contact.GetComponent <Knuckles>().Lifted(this.gameObject);
            possible = false;
            carry    = true;
        }
    }
    // Update is called once per frame
    void Update()
    {
        if (powerUp)
        {
            sr.color = Color.red;
        }
        else
        {
            sr.color = Color.white;
        }
        Health.UpdateValue(HealthPoints);
        move = 0.0f;


        if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow))
        {
            move     = -speed;
            ar.speed = -Mathf.Abs(ar.speed);
        }
        else if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow))
        {
            move     = speed;
            ar.speed = Mathf.Abs(ar.speed);
        }

        if (enableJump && Input.GetKeyDown(KeyCode.Space))
        {
            rb.AddRelativeForce(new Vector3(0f, jumpAmount, 0f), ForceMode2D.Impulse);
            enableJump = false;
        }
        else if (Input.GetKey(KeyCode.Mouse1))
        {
            if (GameObject.FindGameObjectWithTag("arrow"))
            {
                teleport = GameObject.FindGameObjectWithTag("arrow");
                if (teleport.transform.position.x > border1.transform.position.x && teleport.transform.position.x < border2.transform.position.x)
                {
                    transform.position = new Vector3(teleport.transform.position.x, transform.position.y, teleport.transform.position.z);
                }
            }
        }

        transform.Translate(move * Time.deltaTime, 0.0f, 0.0f);
        animator.speed = 1.0f;

        if (rb.velocity.y != 0.0f)
        {
            animator.SetBool("isJumping", true);
        }
        else if (rb.velocity.y == 0.0f)
        {
            onLanding();
        }

        if (move != 0.0f)
        {
            Vector3 scaleTemp = transform.localScale;
            if (move > 0.0f)
            {
                scaleTemp.x = Mathf.Abs(scaleTemp.x);
            }
            else
            {
                scaleTemp.x = -Mathf.Abs(scaleTemp.x);
            }
            transform.localScale = scaleTemp;
        }

        if (Time.time >= nextAttackTime)
        {
            if (Input.GetKeyDown(KeyCode.Mouse0) && move == 0.0f)
            {
                Attack();
                nextAttackTime = Time.time + 1f / attackRate;
            }
        }
        animator.SetFloat("Speed", Mathf.Abs(move));

        if (powerUp)
        {
            timer += Time.deltaTime;
            if (timer > seconds)
            {
                timer   = 0;
                powerUp = false;
            }
        }
    }
예제 #6
0
 private void FixedUpdate()
 {
     Rigidbody2D.AddRelativeForce(TurnMode(), ForceMode2D.Force);
 }
    private void FixedUpdate()
    {
        // Find the object
        var closest = FindClosestObject();

        // Object with tag must exist to rotate towards
        if (closest.Item1 != null)
        {
            if (previousTarget == null || closest.Item1 == previousTarget)
            {
                previousTarget = closest.Item1;

                if (closest.Item3 <= MinimumGravitateDistance)
                {
                    // Rotate towards the object
                    if (RotateTowards)
                    {
                        FaceObject(closest.Item2, closest.Item3);
                    }

                    // Gravitate towards the object
                    rigidbody2D.AddRelativeForce(Vector3.down * Gravity, ForceMode2D.Force);
                }
            }
            else
            {
                if (canSwitch && closest.Item3 <= MinimumSwitchProximity)
                {
                    StartCoroutine("EnableSwitch");
                    canSwitch      = false;
                    previousTarget = closest.Item1;

                    if (closest.Item3 <= MinimumGravitateDistance)
                    {
                        // Rotate towards the object
                        if (RotateTowards)
                        {
                            FaceObject(closest.Item2, closest.Item3);
                        }

                        // Gravitate towards the object
                        rigidbody2D.AddRelativeForce(Vector3.down * Gravity, ForceMode2D.Force);
                    }
                }
                else if (previousTarget != null)
                {
                    var dist = collider2D.Distance(previousTarget.GetComponent <Collider2D>()).distance;

                    if (dist <= MinimumGravitateDistance)
                    {
                        var rotationPoint = previousTarget.GetComponent <Collider2D>().bounds.ClosestPoint(this.transform.position);

                        // If circle, rotate towards center; otherwise use plane
                        if (previousTarget.GetComponent <CircleCollider2D>() != null)
                        {
                            rotationPoint = previousTarget.transform.position;
                        }

                        // Rotate towards the object
                        if (RotateTowards)
                        {
                            FaceObject(rotationPoint, closest.Item3);
                        }

                        // Gravitate towards the object
                        rigidbody2D.AddRelativeForce(Vector3.down * Gravity, ForceMode2D.Force);
                    }
                }
            }
        }
    }
예제 #8
0
    private void Start()
    {
        rb2d = GetComponent <Rigidbody2D>();

        rb2d.AddRelativeForce(transform.up * 10 * force);
    }
예제 #9
0
 void FixedUpdate()
 {
     rb.AddRelativeForce(Vector2.up * speed);
     rb.AddTorque(turnDirection * rotSpeed, 0);
 }
 // Update is called once per frame
 void Update()
 {
     Car.AddRelativeForce(Vector2.right * speed);
 }
예제 #11
0
    private void FixedUpdate()
    {
        //this is for the story scene only!
        GameObject          MastCont = GameObject.Find("TV");
        Story_masterControl backEnd  = MastCont.GetComponent <Story_masterControl>();

        if (backEnd.IndyWhat == 1)
        {
            if (Time.time > nextUsage4) //delete otherwise
            {
                GameObject PoopPEE = Instantiate(Resources.Load("poo")) as GameObject;
                PoopPEE.name = "iPoo";
                //PoopPEE.transform.position = transform.position + (new Vector3(0.25f, 0.0f));
                PoopPEE.transform.position   = transform.position - (transform.up / 1.35f);
                PoopPEE.transform.localScale = transform.localScale * 4;

                nextUsage4 = Time.time + delay4; //it is on display
            }


            if (Time.time > nextUsage2222 && readyBoost == false) //delete otherwise
            {
                readyBoost    = true;
                nextUsage2222 = Time.time + delay222; //it is on display
            }


            //this will help limit the speed gaps gained by the new attempt at detecting if an object is inside another (9-14-19)
            if (rb.velocity.magnitude > 8) //max speed is this
            {
                rb.velocity = rb.velocity.normalized * 8;
            }

            if (Time.time > nextUsage2)  //continue scrolling
            {
                int objectCount = GameObject.FindGameObjectsWithTag("SpaceJunk").Length;
                Debug.Log("Objects on asteroid screen: " + objectCount);

                if (objectCount < 555)
                {
                    int fundas = UnityEngine.Random.Range(0, 100);
                    if (fundas < 25)
                    {
                        GameObject ExpDust = Instantiate(Resources.Load("dogBone")) as GameObject;
                        ExpDust.name = "AstMan2019";
                        ExpDust.transform.position   = new Vector2(UnityEngine.Random.Range(-3, 3), UnityEngine.Random.Range(-1.5f, 1.5f));
                        ExpDust.transform.localScale = new Vector2(UnityEngine.Random.Range(1, 5), UnityEngine.Random.Range(1, 5));
                        //ExpDust.GetComponent<Rigidbody2D>().gravityScale = 2.5f;
                    }
                    else if (fundas < 50)
                    {
                        GameObject ExpDust = Instantiate(Resources.Load("dogLeash")) as GameObject;
                        ExpDust.name = "Asteroid2017";
                        ExpDust.transform.position   = new Vector2(UnityEngine.Random.Range(-3, 3), UnityEngine.Random.Range(-1.5f, 1.5f));
                        ExpDust.transform.localScale = new Vector2(UnityEngine.Random.Range(1, 5), UnityEngine.Random.Range(1, 5));
                        //    ExpDust.GetComponent<Rigidbody2D>().gravityScale = 2.5f;
                    }
                    else if (fundas < 75)
                    {
                        GameObject ExpDust = Instantiate(Resources.Load("dogHouse")) as GameObject;
                        ExpDust.name = "blueWallJunk";
                        ExpDust.transform.position   = new Vector2(UnityEngine.Random.Range(-3, 3), UnityEngine.Random.Range(-1.5f, 1.5f));
                        ExpDust.transform.localScale = new Vector2(UnityEngine.Random.Range(1, 2), UnityEngine.Random.Range(1, 2));
                        //    ExpDust.GetComponent<Rigidbody2D>().gravityScale = 2.5f;
                    }
                    else if (fundas < 100)
                    {
                        GameObject ExpDust = Instantiate(Resources.Load("dogFriz")) as GameObject;
                        ExpDust.name = "StdWall";
                        ExpDust.transform.position   = new Vector2(UnityEngine.Random.Range(-3, 3), UnityEngine.Random.Range(-1.5f, 1.5f));
                        ExpDust.transform.localScale = new Vector2(UnityEngine.Random.Range(1, 3), UnityEngine.Random.Range(1, 2));
                        //   ExpDust.GetComponent<Rigidbody2D>().gravityScale = 2.5f;
                    }

                    //   GameObject AsteroidBelt = Instantiate(Resources.Load("atmp\\cloud2017")) as GameObject;
                    //    AsteroidBelt.name = "Asteroid2019";
                }
                nextUsage2 = Time.time + delay2; //it is on display
            }



            /*
             * float moveVertical = 0;
             * // Debug.Log("Controller" + controlerUsed);
             * if (controlerUsed == false)
             * {
             *  moveVertical = Input.GetAxis("Vertical");
             * }
             *
             * float moveHorizantal = Input.GetAxis("Horizontal");
             *
             * //if (Input.GetButtonDown("360_RightBumper"))
             * float TriggerRight = Input.GetAxis("Cont_Trigger");
             * //   Debug.Log("Your Value for Trigger is " + TriggerRight);
             * if (TriggerRight != 0) //controller support
             * {
             *  moveVertical = TriggerRight * -1;
             * }
             *
             * moveHorizantal = moveHorizantal * 2;
             *
             * //  transform.Rotate(new Vector3(0.0f, 0.0f, rotation));
             *
             */

            //random controler range 11-17-19
            float rand1 = UnityEngine.Random.Range(0, 100);
            float rand2 = UnityEngine.Random.Range(0, 100);
            if (Time.time > nextUsage) //delete otherwise
            {
                if (rand1 < 36)
                {
                    moveVertical = 0;
                }
                else if (rand1 < 66)
                {
                    moveVertical = 1;
                }
                else
                {
                    moveVertical = -1;
                }

                if (rand2 < 36)
                {
                    moveHorizantal = 0;
                }
                else if (rand2 < 66)
                {
                    moveHorizantal = 1;
                }
                else
                {
                    moveHorizantal = -1;
                }

                nextUsage = Time.time + delay; //it is on display
            }

            if (moveHorizantal > 0)
            {
                transform.Rotate(0, 0, -188 * Time.deltaTime);
                //rb.velocity = Vector3.zero;
            }
            else if (moveHorizantal < 0)
            {
                transform.Rotate(0, 0, 188 * Time.deltaTime);
                // rb.velocity = Vector3.zero;
            }
            float rotation = transform.rotation.z;
            if (rotation >= 0)
            {
                rotation = rotation + Time.deltaTime;
            }
            if (moveVertical > 0) //moving up so go foward
            {
                moveCount++;
                //   Vector3 movement = transform.position += transform.up * Time.deltaTime * 5;
                //  rb.transform.position += transform.up * Time.deltaTime * 5;
                /////  rb.AddForce(transform.position += transform.up * Time.deltaTime * speed);
                ///
                float totspeed = (Mathf.Abs(rb.velocity.x) + Mathf.Abs(rb.velocity.y));
                if (rb.velocity.magnitude > 8) //max speed is this
                {
                    rb.velocity = rb.velocity.normalized * 8;
                }
                // Debug.Log(totspeed);
                Debug.Log("------------------" + totspeed);
                Debug.Log("==================" + rb.velocity.sqrMagnitude);

                if (rb.velocity.sqrMagnitude < 12 && engineCnt > 0)
                {//increase speed, ie faster getup 10-13-19
                    rb.AddRelativeForce(Vector3.up * 225 * Time.deltaTime * speed);

                    AudioSource.PlayClipAtPoint(shipShift, new Vector3(transform.position.x, transform.position.y, 0.0f));
                    AudioSource.PlayClipAtPoint(shipShift, new Vector3(transform.position.x, transform.position.y, 0.0f));
                    AudioSource.PlayClipAtPoint(shipShift, new Vector3(transform.position.x, transform.position.y, 0.0f));
                    engineCnt = 0;
                }
                else
                {
                    rb.AddRelativeForce(Vector3.up * 55 * Time.deltaTime * speed);
                    if (Time.time > nextUsage222) //delete otherwise
                    {
                        engineCnt    = engineCnt + 1;
                        nextUsage222 = Time.time + delay22; //it is on display
                    }
                }

                // rb.AddRelativeForce(Vector3.right * 6);
                ///


                //   Debug.Log("Write "+transform.position);



                var   renderer2 = this.GetComponent <Renderer>();
                float heighth   = renderer2.bounds.size.y;
                //   ExpDust.transform.rotation = Quaternion.Euler(new Vector3(0f, 0f, angle));
                //////////       ff.transform.position = new Vector3(this.transform.position.x,heighth,0.0f);
                // ff.transform.rotation = Quaternion.Euler(new Vector3(0f, 0f, this.transform.rotation.z));
                ///////////    ff.transform.rotation = Quaternion.Euler(new Vector3(0f, 0f, ((this.transform.rotation.z)*100) - 90.0f));
                //rb.AddForce((movement * speed) * 2);
                //     ff.transform.position = blastLoc;
                //  transform.position += Vector3.forward * Time.deltaTime * movementSpeed;


                rb.drag = 0;
            }
            else if (moveVertical < 0)
            {
                float totspeed = (Mathf.Abs(rb.velocity.x) + Mathf.Abs(rb.velocity.y));
                // rb.velocity = Vector3.ClampMagnitude(rb.velocity,1);

                // rb.AddForce(-transform.up * 2);
                rb.drag   = 1;
                moveCount = 0;
                //  Debug.Log(totspeed);
            }
            else
            {
                //no keypress
                rb.drag = 0;



                moveCount = 0;
                //  ff.transform.position = new Vector2(100,100);
            }

            //     rb.AddForce((this.transform.TransformVector(Vector3.forward) * speed) *2);
            //   Debug.Log(rb.velocity);
            //FINAL CHECK:
            //check if the player is completly gone, if so return to the screen
            if (m_Renderer.isVisible)
            {
                //  //debug.log("object is visible");
            }
            else
            {
                //stage introductions
                shipHitDetect = 2;
                GameObject Cam = GameObject.Find("Main Camera");
                Transform  ff  = Cam.GetComponent <Transform>();
                transform.position = new Vector2(ff.position.x, ff.position.y);
                //  Debug.Log("Object is no longer visible");
            }
        }
    }
예제 #12
0
    public override void Move()
    {
        Rigidbody2D rb2d = gameObject.GetComponent <Rigidbody2D>();

        rb2d.AddRelativeForce(Vector2.up, ForceMode2D.Impulse);
    }
예제 #13
0
 private void Awake()
 {
     audioSource = GetComponent <AudioSource>();
     projectileBody.AddRelativeForce(Vector2.right * shotPower, ForceMode2D.Force);
 }
예제 #14
0
 public override void Tick()
 {
     rb.AddRelativeForce(new Vector2(acceleration, 0));
 }
예제 #15
0
 void Start()
 {
     _rb = GetComponent <Rigidbody2D>();
     _rb.AddRelativeForce(Vector2.up * _speed, ForceMode2D.Impulse);
 }
 public void Push(float force)
 {
     body.AddRelativeForce(new Vector2(force, 0));
 }
예제 #17
0
 // Use this for initialization
 void Start()
 {
     rb = GetComponent <Rigidbody2D>();
     rb.AddRelativeForce(new Vector2(0, 1) * power, ForceMode2D.Force);
 }
예제 #18
0
 void Start()
 {
     myRigidbody2D = GetComponent <Rigidbody2D>();
     myRigidbody2D.AddRelativeForce(Vector2.down * moveSpeed, ForceMode2D.Impulse);
     myRigidbody2D.AddRelativeForce(Vector2.right * moveSpeed / 2f, ForceMode2D.Impulse);
 }
예제 #19
0
    // Update is called once per frame
    void FixedUpdate()
    {
        if (!cutscene)
        {
            //Applies inverse Torque to rotate player
            if (Input.GetButton("Horizontal"))
            {
                if (Input.GetAxis("Horizontal") > 0f)
                {
                    Debug.Log("Turn Left");
                    left.SetActive(true);
                }
                else
                {
                    right.SetActive(true);
                }
                _body.AddTorque(-Input.GetAxis("Horizontal") * turnForce);
            }

            //Applies input relative directional force
            if (Input.GetButton("Vertical"))
            {
                if (Input.GetAxis("Vertical") > 0f)
                {
                    forward.SetActive(true);
                    if (!audio.isPlaying)
                    {
                        audio.Play();
                    }
                }
                else
                {
                    back.SetActive(true);
                    if (!audio.isPlaying)
                    {
                        audio.Play();
                    }
                }
                _body.AddRelativeForce(Vector2.right * forwardThrust * Input.GetAxis("Vertical"));
                //Enforces Max Speed
                _body.velocity = Vector2.ClampMagnitude(_body.velocity, maxSpeed);
            }
            AirOff();
        }
        if (getInElevator)
        {
            if (startPosition == new Vector3(100, 100, 0))
            {
                startPosition = transform.position;
            }
            if (transform.position.x >= 0.1f || transform.position.y >= 0.1f || transform.position.x <= -0.1f || transform.position.y <= -0.1f)
            {
                Debug.Log("Get to the choppa");
                transform.position = Vector3.zero;
                _body.constraints  = RigidbodyConstraints2D.FreezeAll;
            }
            else
            {
                _body.SetRotation(0);
                getInElevator = false;
                startPosition = new Vector3(100, 100, 0);
            }
        }
    }
예제 #20
0
 void Start()
 {
     rb = GetComponent <Rigidbody2D>();
     rb.AddRelativeForce(Vector2.right * speed, ForceMode2D.Impulse);
 }
예제 #21
0
 void Update()
 {
     r.AddRelativeForce(new Vector2(0, Acceleration));
 }
예제 #22
0
 // Update is called once per frame
 void Update()
 {
     // Move Camera
     cameraRigidbody.AddRelativeForce((targetTransform.position - transform.position) * cameraSpeed, ForceMode2D.Force);
 }
예제 #23
0
 public void EnemyMovement()
 {
     enemyRb.AddRelativeForce(Vector2.down * speed * gameManager.speedIncrease);
 }