Ejemplo n.º 1
0
        public TestBlock(String platformName, Vector2 iniPos, ScaryImage scaryImg, World gWorld)
        {
            this.gameWorld          = gWorld;
            scaryImage              = scaryImg;
            currentPosition         = iniPos;
            this.platformName       = platformName;
            this.blockPosition      = iniPos;
            this.blockTextureOrigin = Vector2.Zero;
            this.blockVelocity      = Vector2.Zero;
            this.blockRotation      = 0;
            this.blockColor         = Color.White;
            this.physics            = false;
            this.blockDirection     = Vector2.Zero;
            this.blockSpeed         = Vector2.Zero;
            rigidness  = true;
            aliveness  = true;
            collidable = true;

            frame      = 0;
            frameWidth = 0;
            animCenter = Vector2.Zero;
            scale      = 0;
        }
Ejemplo n.º 2
0
        public void init_everything()
        {
            endScene     = false;
            objectsToAdd = new List <I_WorldObject>();
            scareImg     = new ScaryImage();
            nunCount     = new TextBox(new Vector2(20, 0), "nuns impaled: 0", "HUDfont", Color.Yellow);
            scoreDisplay = new TextBox(new Vector2(20, 50), "coins: 0", "HUDfont", Color.Yellow);
            game         = containingGame;
            WorldWidth   = w;
            WorldHeight  = h;

            int worldX = 0;
            int worldY = 0;

            toDelete            = new List <I_WorldObject>();
            worldObjects        = new List <I_WorldObject>();
            intersectingObjects = new List <I_WorldObject>();

            p = new Player("Jordan", WorldData.GetInstance().playerInitialPosition, worldObjects);

            fl = new FlameThrower(this);

            camera = new Camera(containingGame.spriteBatch, p);

            foreach (Vector2 spikePos in WorldData.GetInstance().spikePositions)
            {
                if (spikePos.X > worldX)
                {
                    worldX = (int)spikePos.X;
                }
                if (spikePos.Y > worldY)
                {
                    worldY = (int)spikePos.Y;
                }

                TestBlock s = new TestBlock("Spikes", spikePos + new Vector2(0, 2), scareImg, this);
                s.setDirection(new Vector2(0, -1));
                s.setRigid(false);
                worldObjects.Add(s);
            }

            foreach (Vector2 enemPos in WorldData.GetInstance().enemyPositions)
            {
                if (enemPos.X > worldX)
                {
                    worldX = (int)enemPos.X;
                }
                if (enemPos.Y > worldY)
                {
                    worldY = (int)enemPos.Y;
                }

                Enemy e = new Enemy("nun", enemPos, this);
                e.setRigid(false);
                worldObjects.Add(e);
            }

            foreach (Vector2 platPos in WorldData.GetInstance().platformPositions)
            {
                if (platPos.X > worldX)
                {
                    worldX = (int)platPos.X;
                }
                if (platPos.Y > worldY)
                {
                    worldY = (int)platPos.Y;
                }

                TestBlock b = new TestBlock("usf", platPos, scareImg, this);
                worldObjects.Add(b);
            }

            foreach (Vector2 movingPlatPos in WorldData.GetInstance().movingPlatformPositions)
            {
                if (movingPlatPos.X > worldX)
                {
                    worldX = (int)movingPlatPos.X;
                }
                if (movingPlatPos.Y > worldY)
                {
                    worldY = (int)movingPlatPos.Y;
                }

                TestBlock mp = new TestBlock("movingPlatform", movingPlatPos, scareImg, this);
                worldObjects.Add(mp);
            }

            foreach (Vector2 coinPos in WorldData.GetInstance().coinPositions)
            {
                if (coinPos.X > worldX)
                {
                    worldX = (int)coinPos.X;
                }
                if (coinPos.Y > worldY)
                {
                    worldY = (int)coinPos.Y;
                }

                Coin c = new Coin("coin", 20, new Vector2(0, 0), true, 0.08f, coinPos, scoreDisplay);
                c.setRigid(false);
                worldObjects.Add(c);
            }


            foreach (Vector2 scrollPos in WorldData.GetInstance().scrollPositions)
            {
                if (scrollPos.X > worldX)
                {
                    worldX = (int)scrollPos.X;
                }
                if (scrollPos.Y > worldY)
                {
                    worldY = (int)scrollPos.Y;
                }

                TestBlock s = new TestBlock("scroll", scrollPos, scareImg, this);
                s.setRigid(false);
                worldObjects.Add(s);
            }

            TestBlock scareBLock = new TestBlock("ScareBlock", WorldData.GetInstance().playerInitialPosition + new Vector2(800, 300), scareImg, this);


            worldObjects.Add(scareBLock);

            worldObjects.Add(p);

            worldObjects.Add(fl);

            qt = new QuadTree(new Rectangle(0, 0, worldX, worldY));
        }