コード例 #1
0
 public BodyPart(SpriteSheet spriteSheet, Transform transform)
 {
     m_transform = transform;
     m_sprite = new Sprite(Globals.TheGame, spriteSheet, m_transform);
     m_physics = new PhysicsComponent(Globals.TheGame, m_transform);
     //PlaceInFrontOf(parent);
     //Hide();
 }
コード例 #2
0
 public ImpactEffect(Transform transform, SpriteSheet effectSheet, float effectLength)
 {
     m_impactSprite = new Sprite(Globals.TheGame, effectSheet, transform);
     m_impactSprite.Origin = new Microsoft.Xna.Framework.Vector2(0.1f, 0.9f);
     m_impactSprite.Alpha = 0.3f;
     m_spriteAnimation = new SpriteSheetAnimation(m_impactSprite, 0, effectSheet.AmountOfFrames - 1, effectLength, 1);
     m_spriteAnimation.Start();
 }
コード例 #3
0
 public Sprite(MyGame theGame, SpriteSheet spriteSheet, Transform transform)
 {
     m_theGame = theGame;
     SpriteSheet = spriteSheet;
     m_transform = transform;
     m_srcRect.Width = m_spriteSheet.FrameWidth;
     m_srcRect.Height = m_spriteSheet.FrameHeight;
     Origin = new Vector2(0.5f, 0.5f);
 }
コード例 #4
0
 public Backpacker(SpriteSheet spriteSheet, int index)
     : base()
 {
     m_actionManager = new SingleActionManager();
     m_sprite = new Sprite(Globals.TheGame, spriteSheet, Transform);
     m_sprite.Origin = new Vector2(0.5f, 1.0f);
     m_collider = new AABBCollider(this, new AABB(m_sprite));
     m_currentState = BackpackerState.Idle;
 }
コード例 #5
0
 public PhysicsParticle(SpriteSheet spriteSheet, Vector2 startPosition, float fx, float fy)
 {
     m_transform = new Transform();
     m_transform.Position = startPosition;
     m_physics = new PhysicsComponent(Program.TheGame, m_transform);
     m_sprite = new Sprite(Program.TheGame, spriteSheet, m_transform);
     m_sprite.Colour = new Vector4(24.0f / 255, 52.0f / 255, 66.0f/ 255, 1);
     m_physics.Throw(fx, fy, 0);
 }
コード例 #6
0
 public Sprite(Sprite spriteToCopy, Transform transform)
 {
     m_theGame = spriteToCopy.m_theGame;
     m_srcRect = spriteToCopy.m_srcRect;
     m_spriteSheet = spriteToCopy.m_spriteSheet;
     m_origin = spriteToCopy.m_origin;
     m_renderOrigin = spriteToCopy.m_renderOrigin;
     m_colour = spriteToCopy.m_colour;
     m_renderColour = spriteToCopy.m_renderColour;
     m_transform = transform;
 }
コード例 #7
0
        public Counter(int length, SpriteSheet counterTexture)
            : base()
        {
            _counterNumbers = new CounterNumber[length];
            _maxValue = (int)Math.Pow(10, length) - 1;

            for (int i = 0; i < length; ++i)
            {
                _counterNumbers[i] = new CounterNumber(this, counterTexture);
                _counterNumbers[i].Alpha = 0.5f;
                _counterNumbers[i].Transform.ParentTransform = m_transform;
                _counterNumbers[i].Transform.PosX = i * _counterNumbers[i].Width;
            }
        }
コード例 #8
0
        public Monster()
            : base()
        {
            m_spriteSheetNomNom = TextureLibrary.GetSpriteSheet("anim_monstre_miam", 8, 1);
            m_spriteSheetIdle = TextureLibrary.GetSpriteSheet("anim_monstre_neutre", 5, 1);
            m_sprite = new Sprite(Program.TheGame, m_spriteSheetIdle, m_transform);
            m_sprite.PixelCorrection = true;
            m_idle = new SpriteSheetAnimation(m_sprite, 0, 4, 3.0f, -1);
            m_openMouth = new SpriteSheetAnimation(m_sprite, 4, 6, 0.5f, 1);
            m_closeMouth = new Sequence(1);
            m_closeMouth.AddAction(new SpriteSheetAnimation(m_sprite, 6, 7, 0.45f, 1));
            m_closeMouth.AddAction(new MethodAction(Idle));
            m_actionManager = new SingleActionManager();
            m_transform.Position = new Vector2(MonsterPosX, MonsterPosY);

            m_breathing = new MoveToStaticAction(Program.TheGame, m_transform, m_transform.Position + new Vector2(0, 3), -1);
            m_breathing.Interpolator = new PSineInterpolation();
            m_breathing.Timer.Interval = 4.0f;
            m_breathing.Start();
        }
コード例 #9
0
        public House(SpriteSheet houseTexture, SpriteSheet maskTexture)
            : base()
        {
            Transform transform;

            m_transform = new Transform();

            transform = new Transform();
            transform.ParentTransform = m_transform;
            m_sprite = new Sprite(Globals.TheGame, houseTexture, m_transform);
            m_sprite.Origin = new Vector2(0, 1);

            transform = new Transform();
            transform.ParentTransform = m_transform;
            m_entranceMask = new Sprite(Globals.TheGame, maskTexture, m_transform);
            m_entranceMask.Origin = new Vector2(0, 1);

            m_drawingList = World.DL_House;
            m_drawingList.Add(this, 0);
        }
コード例 #10
0
 public PhysicsParticle(MyGame theGame, SpriteSheet spriteSheet, PhysicsParticleData data)
 {
     m_sprite = new Sprite(theGame, spriteSheet, new Transform());
     m_theGame = theGame;
     m_transform = m_sprite.Transform;
     m_physics = new PhysicsComponent(m_theGame, m_sprite.Transform);
     m_data = data;
 }
コード例 #11
0
 public BackgroundObject(SpriteSheet texture, int depth)
     : base()
 {
     m_sprite = new Sprite(Globals.TheGame, texture, Transform);
     m_depth = depth;
 }
コード例 #12
0
        public static void Initalise()
        {
            cutscenePlayer = new CutscenePlayer();
            cutscenePlayer.Transform.PosX = -100;
            monster = new Monster();
            crowd = new Crowd(40, 18, new Vector2(2.5f, 0.5f));

            title = new Title();

            DelayAction cameraDelay = new DelayAction(Program.TheGame, CameraDelay);
            moveToTotem = new MoveToStaticAction(Program.TheGame, Game1.GameCamera.Transform, Vector2.Zero, 1);
            moveToTotem.StartPosition = new Vector2(CameraMenuX, CameraMenuY);
            moveToTotem.Interpolator = new PSmoothstepInterpolation();
            moveToTotem.Timer.Interval = TimeToFirstTotem;
            MethodAction moveCrowd = new MethodAction(delegate() {
                crowd.MoveTo(currentTotemPosition + TotemCrowdOffset, TimeToFirstTotem); });
            gotoFirstTotem = new Sequence(1);
            gotoFirstTotem.AddAction(cameraDelay);
            gotoFirstTotem.AddAction(moveCrowd);
            gotoFirstTotem.AddAction(moveToTotem);
            gotoFirstTotem.AddAction(new MethodAction(delegate() { Cutscenes.ThrowPlayer(Game1.CurrentTotem); }));

            playerLaunch = new Sequence(1);
            playerLaunch.AddAction(new DelayAction(Program.TheGame, Crowd.LaunchTensionTime));
            moveToAscendingPlayer = new MoveToTransform(Program.TheGame, Game1.GameCamera.Transform, new Transform(), cutscenePlayer.Transform, 1);
            moveToAscendingPlayer.Interpolator = new PSquareInterpolation(0.1f);
            moveToAscendingPlayer.RotationActive = false;
            playerLaunch.AddAction(moveToAscendingPlayer);

            readySequence = new Sequence(1);
            Transform end = new Transform(Game1.player.Transform, true);
            end.PosY = Game1.CameraOffset;
            moveToFallingPlayer = new MoveToTransform(Program.TheGame, Game1.GameCamera.Transform, new Transform(), end, 1);
            moveToFallingPlayer.Interpolator = new PSmoothstepInterpolation();
            moveToFallingPlayer.RotationActive = false;

            readySequence.AddAction(new MethodAction(delegate() { Game1.player.GetReady(); }));
            readySequence.AddAction(moveToFallingPlayer);
            readySequence.AddAction(new MethodAction(delegate() { Game1.player.StartCountDown(); })) ;

            cameraZoom = new ScaleToAction(Program.TheGame, Game1.GameCamera.Transform, Vector2.Zero, 1);
            cameraZoom.Interpolator = new PSmoothstepInterpolation();
            cameraZoom.Timer.Interval = 0.3f;

            goToPlayerOnGround = new Sequence(1);
            goToPlayerOnGroundMovement = new MoveToTransform(Program.TheGame, Game1.GameCamera.Transform, new Transform(), cutscenePlayer.Transform, 1);
            goToPlayerOnGroundMovement.Timer.Interval = 1.0f;
            goToPlayerOnGroundMovement.Interpolator = new PSmoothstepInterpolation();
            goToPlayerOnGround.AddAction(new DelayAction(Program.TheGame, 0.5f));
            goToPlayerOnGround.AddAction(goToPlayerOnGroundMovement);

            intro = new Sequence(1);
            MoveToStaticAction moveToMenu = new MoveToStaticAction(Program.TheGame, Game1.GameCamera.Transform, new Vector2(CameraMenuX, CameraMenuY), 1);
            moveToMenu.Timer.Interval = MoveInTime + 1.0f;

            intro.AddAction(moveToMenu);
            intro.AddAction(new MethodAction(delegate() { crowd.PushNewGuy(); }));
            intro.AddAction(new DelayAction(Program.TheGame, 1.5f));
            intro.AddAction(new MethodAction(delegate() { StartMainMenu(); }));

            goToCliff = new Sequence(1);
            goToCliff.AddAction(moveToTotem);
            goToCliff.AddAction(new MethodAction(delegate() { cutscenePlayer.GiveSouls(Game1.TotalScore); monster.OpenMouth(); }));

            auraTexture = TextureLibrary.GetSpriteSheet("soul_temp");
            soulTexture = TextureLibrary.GetSpriteSheet("soul");
            //moveToAscendingPlayer = new MoveToTransform(Program.TheGame, Game1.GameCamera.Transform, new Transform(), cutscenePlayer.Transform, 1);
        }
コード例 #13
0
 public CounterNumber(Counter parent, SpriteSheet texture)
 {
     m_transform = new Transform(parent.Transform, true);
     m_sprite = new Sprite(Globals.TheGame, texture, m_transform);
     m_srcCache = m_sprite.SourceRectangle;
     m_textureInterval = (int)m_sprite.Height;
     m_halfTexture = m_textureInterval / 2;
 }