コード例 #1
0
ファイル: Walking.cs プロジェクト: SkyArmada/BomberUrl
        void ICmpCollisionListener.OnCollisionBegin(Component sender, CollisionEventArgs args)
        {
            if (heading == kHeading.kHeadingWest)
            {
                heading = kHeading.kHeadingEast;
                GameObj.GetComponent <SpriteRenderer>().Flip = SpriteRenderer.FlipMode.Horizontal;
            }
            else if (heading == kHeading.kHeadingEast)
            {
                heading = kHeading.kHeadingWest;
                GameObj.GetComponent <SpriteRenderer>().Flip = SpriteRenderer.FlipMode.None;
            }

            if (heading == kHeading.kHeadingNorth)
            {
                heading = kHeading.kHeadingSouth;
            }
            else if (heading == kHeading.kHeadingSouth)
            {
                heading = kHeading.kHeadingNorth;
            }
        }
コード例 #2
0
ファイル: Controls.cs プロジェクト: SkyArmada/BomberUrl
        private void handleMovement()
        {
            float xSpeed = Speed;
            float ySpeed = Speed;

            if (PlayerNum == 1)
            {
                if (DualityApp.Keyboard[Key.D])
                {
                    //m_Transform.Pos = new Vector3(m_Transform.Pos.X + (Speed * Time.TimeMult), m_Transform.Pos.Y, m_Transform.Pos.Z); //move right
                    //m_Rigidbody.LinearVelocity = Vector2.UnitX * Speed;
                    //m_Rigidbody.ApplyLocalForce(new Vector2(10,0));
                    currentHeading = kHeading.kHeadingEast;
                }
                else if (DualityApp.Keyboard[Key.A])
                {
                    xSpeed = xSpeed * -1;
                    m_Rigidbody.ApplyLocalForce(new Vector2(-10, 0));
                    //m_Transform.Pos = new Vector3(m_Transform.Pos.X - (Speed * Time.TimeMult), m_Transform.Pos.Y, m_Transform.Pos.Z); //move left
                    currentHeading = kHeading.kHeadingWest;
                }
                else
                {
                    xSpeed = 0;
                }
                if (DualityApp.Keyboard[Key.W])
                {
                    //m_Transform.Pos = new Vector3(m_Transform.Pos.X, m_Transform.Pos.Y - (Speed * Time.TimeMult), m_Transform.Pos.Z); //move down
                    ySpeed         = ySpeed * -1;
                    currentHeading = kHeading.kHeadingNorth;
                }
                else if (DualityApp.Keyboard[Key.S])
                {
                    //m_Transform.Pos = new Vector3(m_Transform.Pos.X, m_Transform.Pos.Y + (Speed * Time.TimeMult), m_Transform.Pos.Z); //move up
                    currentHeading = kHeading.kHeadingSouth;
                }
                else
                {
                    ySpeed = 0;
                }
                m_Rigidbody.LinearVelocity = new Vector2(xSpeed, ySpeed);
            }
            else if (PlayerNum == 2)
            {
                if (DualityApp.Keyboard[Key.Right])
                {
                    //m_Transform.Pos = new Vector3(m_Transform.Pos.X + (Speed * Time.TimeMult), m_Transform.Pos.Y, m_Transform.Pos.Z); //move right
                    //m_Rigidbody.LinearVelocity = Vector2.UnitX * Speed;
                    //m_Rigidbody.ApplyLocalForce(new Vector2(10,0));
                    currentHeading = kHeading.kHeadingEast;
                }
                else if (DualityApp.Keyboard[Key.Left])
                {
                    xSpeed = xSpeed * -1;
                    m_Rigidbody.ApplyLocalForce(new Vector2(-10, 0));
                    //m_Transform.Pos = new Vector3(m_Transform.Pos.X - (Speed * Time.TimeMult), m_Transform.Pos.Y, m_Transform.Pos.Z); //move left
                    currentHeading = kHeading.kHeadingWest;
                }
                else
                {
                    xSpeed = 0;
                }
                if (DualityApp.Keyboard[Key.Up])
                {
                    //m_Transform.Pos = new Vector3(m_Transform.Pos.X, m_Transform.Pos.Y - (Speed * Time.TimeMult), m_Transform.Pos.Z); //move down
                    ySpeed         = ySpeed * -1;
                    currentHeading = kHeading.kHeadingNorth;
                }
                else if (DualityApp.Keyboard[Key.Down])
                {
                    //m_Transform.Pos = new Vector3(m_Transform.Pos.X, m_Transform.Pos.Y + (Speed * Time.TimeMult), m_Transform.Pos.Z); //move up
                    currentHeading = kHeading.kHeadingSouth;
                }
                else
                {
                    ySpeed = 0;
                }
                m_Rigidbody.LinearVelocity = new Vector2(xSpeed, ySpeed);
            }
        }