示例#1
0
        // Combine skin mod XML with a vanilla sprite bank
        private void CombineSpriteBanks(SpriteBank origBank, string skinId, string xmlPath)
        {
            SpriteBank newBank = BuildBank(origBank, xmlPath);

            if (newBank == null)
            {
                return;
            }

            // For each overridden sprite, patch it and add it to the original bank with a unique identifier
            foreach (KeyValuePair <string, SpriteData> spriteDataEntry in newBank.SpriteData)
            {
                string     spriteId      = spriteDataEntry.Key;
                SpriteData newSpriteData = spriteDataEntry.Value;

                if (origBank.SpriteData.TryGetValue(spriteId, out SpriteData origSpriteData))
                {
                    PatchSprite(origSpriteData.Sprite, newSpriteData.Sprite);

                    string newSpriteId = spriteId + "_" + skinId;
                    origBank.SpriteData[newSpriteId] = newSpriteData;

                    // Build hair!
                    if (spritesWithHair.Contains(spriteId))
                    {
                        PlayerSprite.CreateFramesMetadata(newSpriteId);
                    }
                }
            }
        }
示例#2
0
        public override void LoadContent()
        {
            background = LoadTexture(@"Sprites/Backgrounds/background");
            pause      = LoadTexture(@"Sprites/Backgrounds/pause");
            Texture2D texPlayerIdle = LoadTexture(@"Sprites/Player/Idle");
            Texture2D texPlayerRun  = LoadTexture(@"Sprites/Player/Run");
            Texture2D texPlayerJump = LoadTexture(@"Sprites/Player/Jump");

            diamond = LoadTexture(@"Sprites/diamond");
            gem     = LoadTexture(@"Sprites/gem");
            player  = new PlayerSprite(texPlayerIdle, 1, 1, new Vector2(200, 342), new Vector2(3, 3), 1, texPlayerRun, 1, 10, 10);
            player.SetJumpingAnimation(texPlayerJump, 1, 11, 11, 75);

            #region Setting Player sound effects
            SoundEffect jumpSoundEffect = Load <SoundEffect>(@"Audio/jumping");
            SoundEffect coinSoundEffect = Load <SoundEffect>(@"Audio/coin");
            SoundEffect hurtSoundEffect = Load <SoundEffect>(@"Audio/hurt");
            player.SetJumpSoundEffect(jumpSoundEffect);
            player.SetCoinSoundEffect(coinSoundEffect);
            player.SetHurtSoundEffect(hurtSoundEffect);
            #endregion

            font = Load <SpriteFont>(@"Fonts/Arial8");

            // Loading enemies textures
            for (int i = 0; i < 10; i++)
            {
                texEnnemies.Add(LoadTexture(String.Format(@"Sprites/Ennemies/{0}", i)));
            }

            //  Initial Spawn
            Spawn();
        }
示例#3
0
    Vector3 GetStartPosition(PlayerSprite player)
    {
        switch (player)
        {
        case PlayerSprite.PVP1:
            return(_PVP1StartPosition);

        case PlayerSprite.PVP2:
            return(_PVP2StartPosition);

        case PlayerSprite.PVE1:
            return(_PVE1StartPosition);

        case PlayerSprite.PVE2:
            return(_PVE2StartPosition);

        case PlayerSprite.PVE3:
            return(_PVE3StartPosition);

        case PlayerSprite.PVE4:
            return(_PVE4StartPosition);

        default:
            return(Vector3.zero);
        }
    }
示例#4
0
    public void update(PlayerSprite player)
    {
        if (PlayerState.SWIM_RIGHT)
        {
            player.dx = Mathf.Min(player.dx + PlayerState.ACCEL, PlayerState.MAX_SPEED);
        }
        if (PlayerState.SWIM_LEFT)
        {
            player.dx = Mathf.Max(player.dx - PlayerState.ACCEL, PlayerState.MAX_SPEED * -1);
        }

        if (player.x > 0.0f)
        {
            player.x = Mathf.Min(Futile.screen.halfWidth, player.x + player.dx);
        }
        else
        {
            player.x = Mathf.Max(-Futile.screen.halfWidth, player.x + player.dx);
        }

        player.dx *= Options.DAMP;

        player.dy          = Mathf.Max(player.dy - PlayerState.ACCEL, PlayerState.MAX_SPEED * -1);
        PlayerState.DEPTH += Mathf.Abs(player.dy) / 10.0f;
    }
        public override void LoadContent()
        {
            _missileTexture   = LoadTexture(MissileTexture);
            _exhaustTexture   = LoadTexture(ExhaustTexture);
            _bulletTexture    = LoadTexture(BulletTexture);
            _explosionTexture = LoadTexture(ExplosionTexture);
            _chopperTexture   = LoadTexture(ChopperTexture);

            _playerSprite       = new PlayerSprite(LoadTexture(PlayerFighter));
            _livesText          = new LivesText(LoadFont(TextFont));
            _livesText.NbLives  = StartingPlayerLives;
            _livesText.Position = new Vector2(10.0f, 690.0f);

            AddGameObject(new TerrainBackground(LoadTexture(BackgroundTexture)));
            AddGameObject(_livesText);

            // load sound effects and register in the sound manager
            var bulletSound  = LoadSound(BulletSound);
            var missileSound = LoadSound(MissileSound);

            _soundManager.RegisterSound(new GameplayEvents.PlayerShootsBullets(), bulletSound);
            _soundManager.RegisterSound(new GameplayEvents.PlayerShootsMissile(), missileSound, 0.4f, -0.2f, 0.0f);

            // load soundtracks into sound manager
            var track1 = LoadSound(Soundtrack1).CreateInstance();
            var track2 = LoadSound(Soundtrack2).CreateInstance();

            _soundManager.SetSoundtrack(new List <SoundEffectInstance>()
            {
                track1, track2
            });

            ResetGame();
        }
示例#6
0
    void Start()
    {
        lightCircle.intensity = 2;
        int playerIndex = PlayerPrefs.GetInt("PlayerIndex", 1);

        rb = GetComponent <Rigidbody2D>();
        PlayerSprite.ChangeSprite(gameObject, playerIndex);
        if (playerIndex == 0)
        {
            lightCircle.color = new Color(0.5f, 0.5f, 0.2f, 1.0f);
            pointLight.color  = new Color(0.5f, 0.5f, 0.2f, 1.0f);
        }
        if (playerIndex == 1)
        {
            lightCircle.color = new Color(0.2f, 0.3f, 1.0f, 1.0f);
            pointLight.color  = new Color(0.2f, 0.5f, 1.0f, 1.0f);
        }
        else if (playerIndex == 2)
        {
            GameObject bow     = Resources.Load <GameObject>("Bow");
            GameObject bowCopy = Instantiate(bow, transform.position, Quaternion.identity);
            bowCopy.GetComponent <Bow>().player = transform;
            lightCircle.color = new Color(0.5f, 0.2f, 1.0f, 1.0f);
            pointLight.color  = new Color(0.5f, 0.2f, 1.0f, 1.0f);
        }
        if (isUnderWater)
        {
            GameObject dive     = Resources.Load <GameObject>("Dive");
            GameObject diveCopy = Instantiate(dive, transform.position, Quaternion.identity);
            diveCopy.GetComponent <Dive>().player = transform;
        }
    }
示例#7
0
 public static EventChangeSprite c(PlayerSprite newSprite)
 {
     return(new EventChangeSprite()
     {
         spriteIndex = newSprite
     });
 }
        public override void LoadContent()
        {
            _missileTexture = LoadTexture(MissileTexture);
            _exhaustTexture = LoadTexture(ExhaustTexture);
            _bulletTexture  = LoadTexture(BulletTexture);

            _playerSprite = new PlayerSprite(LoadTexture(PlayerFighter));
            _bulletList   = new List <BulletSprite>();
            _missileList  = new List <MissileSprite>();

            AddGameObject(new TerrainBackground(LoadTexture(BackgroundTexture)));
            AddGameObject(_playerSprite);

            // position the player in the middle of the screen, at the bottom, leaving a slight gap at the bottom
            var playerXPos = _viewportWidth / 2 - _playerSprite.Width / 2;
            var playerYPos = _viewportHeight - _playerSprite.Height - 30;

            _playerSprite.Position = new Vector2(playerXPos, playerYPos);

            // load sound effects and register in the sound manager
            var bulletSound  = LoadSound("bulletSound");
            var missileSound = LoadSound("missileSound");

            _soundManager.RegisterSound(new GameplayEvents.PlayerShootsBullets(), bulletSound);
            _soundManager.RegisterSound(new GameplayEvents.PlayerShootsMissile(), missileSound, 0.4f, -0.2f, 0.0f);

            // load soundtracks into sound manager
            var track1 = LoadSound("FutureAmbient_1").CreateInstance();
            var track2 = LoadSound("FutureAmbient_2").CreateInstance();

            _soundManager.SetSoundtrack(new List <SoundEffectInstance>()
            {
                track1, track2
            });
        }
示例#9
0
        private static void RenderHairPlayerOutline(PlayerHair self)
        {
            PlayerSprite sprite = self.GetSprite();

            if (!self.DrawPlayerSpriteOutline)
            {
                return;
            }

            Vector2 origin = sprite.Position;
            Color   color  = sprite.Color;

            sprite.Color = self.Border * self.Alpha;

            sprite.Position = origin + new Vector2(0f, -1f);
            sprite.Render();
            sprite.Position = origin + new Vector2(0f, 1f);
            sprite.Render();
            sprite.Position = origin + new Vector2(-1f, 0f);
            sprite.Render();
            sprite.Position = origin + new Vector2(1f, 0f);
            sprite.Render();

            sprite.Color    = color;
            sprite.Position = origin;
        }
示例#10
0
        public override void LoadContent()
        {
            _missileTexture   = LoadTexture(MissileTexture);
            _exhaustTexture   = LoadTexture(ExhaustTexture);
            _bulletTexture    = LoadTexture(BulletTexture);
            _explosionTexture = LoadTexture(ExplosionTexture);
            _chopperTexture   = LoadTexture(ChopperTexture);

            _playerSprite = new PlayerSprite(LoadTexture(PlayerFighter));

            AddGameObject(new TerrainBackground(LoadTexture(BackgroundTexture)));

            // load sound effects and register in the sound manager
            var bulletSound  = LoadSound("bulletSound");
            var missileSound = LoadSound("missileSound");

            _soundManager.RegisterSound(new GameplayEvents.PlayerShootsBullets(), bulletSound);
            _soundManager.RegisterSound(new GameplayEvents.PlayerShootsMissile(), missileSound, 0.4f, -0.2f, 0.0f);

            // load soundtracks into sound manager
            var track1 = LoadSound("FutureAmbient_1").CreateInstance();
            var track2 = LoadSound("FutureAmbient_2").CreateInstance();

            _soundManager.SetSoundtrack(new List <SoundEffectInstance>()
            {
                track1, track2
            });

            ResetGame();
        }
示例#11
0
        public SummaryState(Game game) : base(game)
        {
            state = new LocalState();
            state = LocalState.WalkIn;

            sprites = new PlayerSprite[game.Players.Length];

            for (int i = 0; i < sprites.Length; i++)
            {
                sprites[i]   = new PlayerSprite(game);
                sprites[i].X = game.Width + (Graphics.PLAYERWIDTH * 2) * i;
                sprites[i].Y =
                    game.Height - Graphics.PLAYERHEIGHT - SCREENBUFFER - VERTICALBUFFER;
                sprites[i].Speed = 3.5;
                sprites[i].StartAnimation();
                sprites[i].ChangeDirection(SpriteDirection.W);
            }

            playerReady = new bool[sprites.Length];

            for (int i = 0; i < playerReady.Length; i++)
            {
                playerReady[i] = game.Players[i].AI;
            }

            game.Sound.PlaySound(Sounds.IntroMusic, 64);

            stateTimer.Change(500, 1);
        }
示例#12
0
 // Use this for initialization
 void Awake()
 {
     rigid           = GetComponentInParent <Rigidbody>();
     col             = this.GetComponent <Collider>();
     playerState     = GetComponentInParent <PlayerState>();
     playerInventory = GetComponentInParent <PlayerInventory>();
     playerSprite    = GetComponentInParent <PlayerSprite>();
 }
示例#13
0
        public AnimatedPlayerSprite(PlayerSprite sprite)
        {
            this.sprite = sprite;

            Anchor           = Anchor.Centre;
            Origin           = Anchor.Centre;
            RelativeSizeAxes = Axes.Both;
        }
示例#14
0
 void Start()
 {
     hasKey       = false;
     gateObject   = GameObject.FindGameObjectWithTag("Finish");
     playerSprite = GetComponent <PlayerSprite>();
     exclamation  = GetComponentInChildren <ExclamationPoint>();
     walkSound    = GetComponent <AudioSource>();
 }
示例#15
0
        // Load graphics content for the game
        public override void Activate()
        {
            if (this._content == null)
            {
                this._content = new ContentManager(ScreenManager.Game.Services, "Content");
            }

            Vector2 position = new Vector2(_random.Next(0, 10), _random.Next(0, 10));

            System.Random random = new System.Random();

            _bangers         = _content.Load <SpriteFont>("bangers");
            _deathSound      = _content.Load <SoundEffect>("DeathAudio");
            _movementSound   = _content.Load <SoundEffect>("Movement");
            _backgroundMusic = _content.Load <Song>("BackgroundMusic");
            _background      = _content.Load <Texture2D>("ScrollingBackground");
            _highScore       = HighScores.HighScoreArr[HighScores.Difficulty];
            if (HighScores.Difficulty == 0)
            {
                _obstacleCount = 5;
            }
            else if (HighScores.Difficulty == 1)
            {
                _obstacleCount = 9;
            }
            else
            {
                _obstacleCount = 12;
            }

            _playerSprite = new PlayerSprite(ScreenManager.GraphicsDevice, _movementSound);
            _obstacles    = new ObstacleSprite[_obstacleCount];
            for (int i = 0; i < _obstacleCount; i++)
            {
                Vector2 velocity = new Vector2((float)random.NextDouble(), (float)random.NextDouble());
                velocity.Normalize();
                velocity     *= 200;
                _obstacles[i] = new ObstacleSprite(velocity, new Vector2(_random.Next(200), _random.Next(200)), ScreenManager.GraphicsDevice, ScreenManager.Game);
            }

            _playerSprite.LoadContent(_content);
            foreach (var obstacle in _obstacles)
            {
                obstacle.LoadContent(_content);
            }

            MediaPlayer.IsRepeating = true;
            MediaPlayer.Play(_backgroundMusic);
            _timer = new Stopwatch();
            _timer.Start();



            // once the load has finished, we use ResetElapsedTime to tell the game's
            // timing mechanism that we have just finished a very long frame, and that
            // it should not try to catch up.
            ScreenManager.Game.ResetElapsedTime();
        }
示例#16
0
        private void onNewResult(DrawableHitObject judgedObject, JudgementResult result)
        {
            DrawableRushHitObject rushJudgedObject = (DrawableRushHitObject)judgedObject;
            RushJudgementResult   rushResult       = (RushJudgementResult)result;

            PlayerSprite.HandleResult(rushJudgedObject, result);

            // Display hit explosions for objects that allow it.
            if (result.IsHit && rushJudgedObject.DisplayExplosion)
            {
                Drawable explosion = rushJudgedObject switch
                {
                    DrawableStarSheetHead head => sheetExplosionPool.Get(s => s.Apply(head)),
                    DrawableStarSheetTail tail => sheetExplosionPool.Get(s => s.Apply(tail)),
                    DrawableHeart heart => heartExplosionPool.Get(h => h.Apply(heart)),
                    _ => explosionPool.Get(h => h.Apply(rushJudgedObject)),
                };

                if (rushJudgedObject is IDrawableLanedHit laned)
                {
                    playfieldForLane(laned.Lane).AddExplosion(explosion);
                }
            }

            // Display health point difference if the judgement result implies it.
            var pointDifference = rushResult.Judgement.HealthPointIncreaseFor(rushResult);

            if (pointDifference != 0)
            {
                overPlayerEffectsContainer.Add(healthTextPool.Get(h => h.Apply(pointDifference)));
            }

            // Display judgement results in a drawable for objects that allow it.
            if (rushJudgedObject.DisplayResult)
            {
                DrawableRushJudgement judgementDrawable = judgementPool.Get(j => j.Apply(result, judgedObject));
                LanedHitLane          judgementLane     = LanedHitLane.Air;

                // TODO: showing judgements based on the judged object suggests that
                //       this may want to be inside the object class as well.
                switch (rushJudgedObject.HitObject)
                {
                case Sawblade sawblade:
                    judgementLane = sawblade.Lane.Opposite();
                    break;

                case LanedHit lanedHit:
                    judgementLane = lanedHit.Lane;
                    break;

                case MiniBoss _:
                    break;
                }

                playfieldForLane(judgementLane).AddJudgement(judgementDrawable);
            }
        }
示例#17
0
        public void Draw(RenderTarget target, RenderStates states)
        {
            float _temp = statemachine.CurrentState.Animation.PixelSize;

            PlayerSprite.Origin   = new Vector2f(_temp / 2, _temp / 2);
            PlayerSprite.Position = Vector2fExtensions.toVector2f(body.Position);
            PlayerSprite.Rotation = MathHelper.ToDegrees(body.Rotation);
            PlayerSprite.Draw(target, states);
        }
示例#18
0
        public bool OnPressed(RushAction action)
        {
            if (action == RushAction.Fever)
            {
                return(feverProcessor.TryActivateFever());
            }

            return(PlayerSprite.HandleAction(action));
        }
示例#19
0
 // constructor using reference
 public GamePlayer(GamePlayer reference)
 {
     if (reference != null)
     {
         playerSymbol = reference.playerSymbol;
         playerType   = reference.playerType;
         playerSprite = reference.playerSprite;
     }
 }
示例#20
0
    public void addPlayer(GameState gs)
    {
        GameObject go = Instantiate(Resources.Load <GameObject>("player_sprite"));

        p = go.GetComponent <PlayerSprite>();
        p.transform.localPosition = new Vector2(5f, 5f);
        p.setGameState(gs);
        go.transform.SetParent(this.transform);
    }
示例#21
0
        // when constructing the player set the sprite to the one we need (needs resetting)
        internal static void PlayerSprite(On.Celeste.PlayerSprite.orig_ctor orig, PlayerSprite self, PlayerSpriteMode mode)
        {
            // code stolen from max (extended variant mode)
            if (mode == PlayerSpriteMode.Madeline || mode == PlayerSpriteMode.MadelineNoBackpack)
            {
                mode = GetMode(EmoteModMain.Settings.Backpack, mode);
            }

            orig(self, mode);
        }
示例#22
0
 private void ChangeNextPlayer()
 {
     if (BoardManager.Instance.Board.CurrentPlayer.playerSprite != currentPlayer)
     {
         currentPlayer          = BoardManager.Instance.Board.CurrentPlayer.playerSprite;
         nextPlayerImage.sprite = currentPlayer.sprite;
         nextPlayerImage.color  = currentPlayer.color;
         nextPlayerAnimator.SetTrigger("tilt");
     }
 }
示例#23
0
        public override void LoadContent()
        {
            var exhaustPosition = new Vector2(_viewportWidth / 2, _viewportHeight / 2);

            _exhaustEmitter = new ExhaustEmitter(LoadTexture(ExhaustTexture), exhaustPosition);
            AddGameObject(_exhaustEmitter);

            _player          = new PlayerSprite(LoadTexture(PlayerFighter));
            _player.Position = new Vector2(500, 500);
            AddGameObject(_player);
        }
示例#24
0
 public void ChooseNewVictim()
 {
     if (UnityEngine.Random.Range(0, 2) == 1)
     {
         _victim = PlayerSprite.PVP1;
     }
     else
     {
         _victim = PlayerSprite.PVP2;
     }
 }
示例#25
0
    public SpriteRenderer GetRendererByPart(PlayerPart part)
    {
        PlayerSprite ps = GetPlayerSprite(part);

        if (ps != null)
        {
            return(ps.GetRenderer());
        }

        return(null);
    }
示例#26
0
    public Animator GetAnimatorByPart(PlayerPart part)
    {
        PlayerSprite ps = GetPlayerSprite(part);

        if (ps != null)
        {
            return(ps.GetAnimator());
        }

        return(null);
    }
示例#27
0
 public void SetKeyCode(KeyCode keyCode, PlayerSprite sprite)
 {
     PlayHurtSound();
     playerSprite        = sprite;
     headRenderer.sprite = sprite.headNormal;
     headRenderer.transform.localPosition = sprite.headNormalOffsett;
     armRenderer.sprite  = sprite.arm;
     bodyRenderer.sprite = sprite.body;
     fistRenderer.sprite = sprite.fist;
     playerKey           = keyCode;
     keyCodeText.text    = KeyCodeToString(keyCode);
 }
示例#28
0
        public void should_update_main_palette()
        {
            var file = File.ReadAllBytes("data\\orb.new.zspr");
            var s    = new PlayerSprite(file);

            var c = Color.FromArgb(0, 0, 0);

            Assert.NotEqual(c, s.Palette[0]);

            s.GreenMailPalette[1] = c;
            Assert.Equal(c, s.Palette[0]);
        }
示例#29
0
        /// <summary>
        /// This is a Sprite that can be controlled by a
        /// player using Rotate Left = A, Rotate Right = D,
        /// Forward = Space
        /// </summary>
        private void SetupSpaceShip()
        {
            Texture2D ship = Content.Load <Texture2D>(
                "images/GreenShip");

            shipSprite = new PlayerSprite(ship, 200, 500)
            {
                Direction        = new Vector2(1, 0),
                Speed            = 200,
                DirectionControl = DirectionControl.Rotational
            };
        }
        public override void LoadContent()
        {
            var viewportAdapter = new DefaultViewportAdapter(_graphicsDevice);

            _camera = new OrthographicCamera(viewportAdapter);

            _playerSprite = new PlayerSprite(LoadTexture(PlayerFighter),
                                             LoadAnimation(PlayerAnimationTurnLeft),
                                             LoadAnimation(PlayerAnimationTurnRight));

            _playerSprite.Position = new Vector2(0, 0);
        }
        public CharacterSelectionScreen(Game game)
            : base(game)
        {
            // select Resource services
            spriteBatch = ResourceManager.GetInstance.spriteBatch;
            Content = ResourceManager.GetInstance.Content;

            // select spritefont
            playerNameFont = Content.Load<SpriteFont>(@"font\Arial_12px");

            // define components
            bgcomp1 = new BackgroundComponent(game, Content.Load<Texture2D>(@"gfx\background\background1"));
            bgcomp2 = new BackgroundComponent(game, Content.Load<Texture2D>(@"gfx\background\character_selection"));
            bgcomp3 = new BackgroundComponent(game, Content.Load<Texture2D>(@"gfx\background\frame2"));
            menu = new MenuComponent(game, Content.Load<SpriteFont>(@"font\Comic_Sans_18px"));

            // add components
            Components.Add(bgcomp1);
            Components.Add(bgcomp2);
            Components.Add(bgcomp3);

            // menu options
            menu.SetMenuItems(menuItems);
            menu.StartIndex = 0;
            menu.Position = new Vector2(665, 230);
            menu.NormalColor = Color.White;
            menu.HiliteColor = Color.Red;
            menu.MenuItemSpace = 25;
            menu.Rotation[2] = 0.25f;
            menu.Offset[2] = new Vector2(0, -5);
            menu.Offset[3] = new Vector2(-8, 23);
            menu.Offset[4] = new Vector2(-526, -22);
            menu.EndIndex = 3;

            // player sprite
            playersprite = new PlayerSprite(100, 123);
            player = new PlayerInfo();
            playersprite.Player = this.player;

            // player offsets
            for (int i = 0; i < 6; i++)
                this.spriteOfset[i] = playersprite.getoffset(i);

            // options
            option_board = Content.Load<Texture2D>(@"gfx\screens\screenobjects\option_board");
            screen_board = Content.Load<Texture2D>(@"gfx\screens\screenobjects\next_board");

            // slots
            slot = Content.Load<Texture2D>(@"gfx\screens\screenobjects\empty_character_slot");
        }
    //private Animator animator;
    void Start()
    {
        playerPhysics = GetComponent<PlayerPhysics>();
        //animator = GetComponent<Animator>();
        sprite = GetComponentInChildren<PlayerSprite>();
        entity = GetComponentInChildren<Entity>();

        lastVelocity = Vector3.zero;
        lastCheckpoint = transform.position;

        //animator.SetLayerWeight(1,1);

        base.Start();
    }
        public CharacterCreationScreen(Game game)
            : base(game)
        {
            spriteBatch = (SpriteBatch)Game.Services.GetService(typeof(SpriteBatch));
            Content = (ContentManager)Game.Services.GetService(typeof(ContentManager));

            smallFont = Content.Load<SpriteFont>(@"font\Arial_10px");
            spriteFont = Content.Load<SpriteFont>(@"font\Arial_12px");

            keyboardiput = new KeyboardInput(game, spriteFont, new Vector2(580, 175));
            bgcomp[1] = new BackgroundComponent(game, Content.Load<Texture2D>(@"gfx\background\background2"));
            bgcomp[2] = new BackgroundComponent(game, Content.Load<Texture2D>(@"gfx\background\character_create"));
            bgcomp[3] = new BackgroundComponent(game, Content.Load<Texture2D>(@"gfx\background\frame2"));

            Components.Add(bgcomp[1]);
            Components.Add(bgcomp[2]);
            Components.Add(bgcomp[3]);

            for (int i = 0; i <= properties.Length -1; i++)
            {
                properties[i] = new MenuComponent(game, Content.Load<SpriteFont>(@"font\Arial_12px"));
                properties[i].StartIndex = 0;
                properties[i].Position = new Vector2(180, 140 + (i * 24));
                properties[i].HiliteColor = Color.Black;
                properties[i].Shade = false;
                properties[i].DisplaySingle = true;
                properties[i].ListDown = false;
            }

            properties[0].SetMenuItems(item0);
            properties[1].SetMenuItems(item1);
            properties[2].SetMenuItems(item2);
            properties[3].SetMenuItems(item3);
            properties[4].SetMenuItems(item4);
            properties[5].SetMenuItems(item5);

            nameboard = Content.Load<Texture2D>(@"gfx\screens\screenobjects\character_nameboard");
            propertyboard = Content.Load<Texture2D>(@"gfx\screens\screenobjects\character_properties");

            // Create player info instance
            // newPlayer = new PlayerInfo();

            // Activate Text Input Class (for PlayerName)
            // keyboardiput.Activate(newPlayer.Name.ToString());

            // Set Phase to Name
            phase = Phase.Name;

            // player sprite
            playersprite = new PlayerSprite(352, 188);
        }
示例#34
0
        public void LoadObjects()
        {
            //map = Map.Load(Path.Combine(Content.RootDirectory, @"maps\victoria01.tmx"), Content);
            map = Map.Load(Path.Combine(Content.RootDirectory, @"maps\henesys.tmx"), Content);

            foreach (var property in map.Properties)
            {
                if (property.Key == "Background")
                    Background = Content.Load<Texture2D>(@"gfx\background\" + property.Value);
            }

            playerSprite = new PlayerSprite(
                    (int)map.ObjectGroups["Hero"].Objects["hero"].X,
                    (int)map.ObjectGroups["Hero"].Objects["hero"].Y
                    //new Vector2(map.TileWidth, map.TileHeight)
                    );

            listEntity.Add(playerSprite);

            LoadEntities();
        }
示例#35
0
        public void ChangeJobClass(PlayerInfo activePlayer)
        {
            // Remove Current Player
            for (int i = 0; i < listEntity.Count; i++)
                if (listEntity[i] is PlayerSprite)
                    listEntity.Remove(listEntity[i]);

            // Switch playerSprite
            switch (activePlayer.Jobclass)
            {
                case "Bowman":
                    playerSprite = new Bowman(
                    (int)map.ObjectGroups["Hero"].Objects["hero"].X,
                    (int)map.ObjectGroups["Hero"].Objects["hero"].Y,
                    new Vector2(map.TileWidth, map.TileHeight));
                    break;
                case "Warrior":
                    playerSprite = new Warrior(
                    (int)map.ObjectGroups["Hero"].Objects["hero"].X,
                    (int)map.ObjectGroups["Hero"].Objects["hero"].Y,
                    new Vector2(map.TileWidth, map.TileHeight));
                    break;
                case "Magician":
                    playerSprite = new Magician(
                    (int)map.ObjectGroups["Hero"].Objects["hero"].X,
                    (int)map.ObjectGroups["Hero"].Objects["hero"].Y,
                    new Vector2(map.TileWidth, map.TileHeight));
                    break;
                case "Thief":
                    playerSprite = new Thief(
                    (int)map.ObjectGroups["Hero"].Objects["hero"].X,
                    (int)map.ObjectGroups["Hero"].Objects["hero"].Y,
                    new Vector2(map.TileWidth, map.TileHeight));
                    break;
                case "Pirate":
                    playerSprite = new Pirate(
                    (int)map.ObjectGroups["Hero"].Objects["hero"].X,
                    (int)map.ObjectGroups["Hero"].Objects["hero"].Y,
                    new Vector2(map.TileWidth, map.TileHeight));
                    break;
                default:
                    break;
            }

            // Add new player Instance to worldmap
            listEntity.Add(playerSprite);
        }