Ejemplo n.º 1
0
        public void ForceTest()
        {
            float mass = 1.5f;
            float g    = 9.81f;

            ForceList forces = new ForceList(mass);

            Assert.IsTrue(Vector2.Zero == forces.Acceleration);

            forces.AddForce("Poids", new Vector2(0, mass * -g));

            Assert.IsTrue(new Vector2(0, -g) == forces.Acceleration);

            forces.AddForce("JetPack", new Vector2(2, 12));

            Assert.IsTrue(new Vector2(0, -g) != forces.Acceleration);

            forces.RemoveForce("poids");

            Assert.IsTrue(new Vector2(2, 12) / mass == forces.Acceleration);

            forces.UpdateForce("jetpack", new Vector2(1, 1));

            Assert.IsTrue(new Vector2(1, 1) / mass == forces.Acceleration);
        }
Ejemplo n.º 2
0
    /// <summary>
    /// 初始化 找到前面背景各32张图
    /// </summary>
    void InitMethod()
    {
        int count = Force.transform.childCount;//count==32;

        for (int i = 0; i < count / 8; i++)
        {
            //4row 4个list
            List <GameObject> list = new List <GameObject>();
            //8列 column
            for (int k = 0; k < count / 4; k++)
            {
                //根据二维坐标计算,(0,0)(0,1)(r,c)(当前r*总列数+当前列数);总列数为:固定值;
                list.Add(Force.transform.GetChild(k + i * 8).gameObject);
            }
            ForceList.Add(list);
        }

        count = Back.transform.childCount;
        for (int i = 0; i < count / 8; i++)
        {
            List <GameObject> list = new List <GameObject>();
            for (int k = 0; k < count / 4; k++)
            {
                list.Add(Back.transform.GetChild(k + i * 8).gameObject);
            }
            BackList.Add(list);
        }
    }
Ejemplo n.º 3
0
        public ColliderPhysics(Transform transform, float mass, ForceList forces = null, float friction = 0.1f, bool collidable = true) : base(transform, collidable)
        {
            Mass = mass;

            Forces = forces ?? new ForceList(Mass);

            Friction = friction;

            Velocity = Vector2.Zero;
        }
Ejemplo n.º 4
0
        public cCritterBoss(cGame pOwnerGame = null) : base(pOwnerGame)
        {
            MaxSpeed = 40;
            Health   = 5;
            ForceList.RemoveAll();
            ForceList.Add(new cForceBossMovement(150000.0f));
            Sprite = new cSpriteQuake(ModelsMD2.Eva01);
            Radius = 3;
            moveTo(new cVector3(Game.Border.Midx, Game.Border.Loy, Game.Border.Midz));
            Target            = Game.Player;
            AimToAttitudeLock = false;
            //copyMotionMatrixToAttitudeMatrix();
            AttitudeToMotionLock = false;
            BULLETRADIUS         = 0.4f;
            setMoveBox(new cRealBox3(new cVector3(Game.Border.Lox, Game.Border.Loy, Game.Border.Loz + 3),
                                     new cVector3(Game.Border.Hix, Game.Border.Hiy, Game.Border.Hiz - 3)));

            //set upright
            rotateAttitude(new cSpin((float)Math.PI * 3f / 2f, new cVector3(1, 0, 0)));
            //set looking left
            rotateAttitude(new cSpin((float)Math.PI * 3f / 2f, new cVector3(0, 0, 1)));
            _dead = false;
        }
Ejemplo n.º 5
0
 public cCritterMinion(cGame pOwnerGame) : base(pOwnerGame)
 {
     ForceList.Add(new cForceMinionMovement(pOwnerGame.Player));
     Sprite        = new cSpriteQuake(ModelsMD2.Hunter);
     Sprite.Radius = 1;
 }