コード例 #1
0
ファイル: Bullet.cs プロジェクト: Davermouse/HeartAttack
        public Bullet(MainGameScene scene, Vector2 pPosition, Vector2 pVelocity, int pPower)
            : base(scene)
        {
            m_Power = pPower;
            IsMiss = false;
            CanDelete = false;
            frames = new List<Texture2D>();
            var content = HeartAttack.theGameInstance.Content;
            cross = content.Load<Texture2D>("cross");
            for (int i = 1; i <= 4; i++)
            {
                frames.Add(content.Load<Texture2D>("Bullet/bullet" + i));
            }

            m_Sprite = new Sprite(frames[0], pPosition);
            m_Sprite.AddUpdater(new VelocityUpdater(pVelocity));
            m_Sprite.Scale = new Vector2(0.15f);
            //m_Sprite.Centre *= m_Sprite.Scale;
            var anim = new SpriteAnimation(Scene.ClockManager,
                    frames,
                    frames[0],
                    this.m_Sprite,
                    0.05f);

            anim.Start();

            anim.Complete += (s, e) =>
                {
                    anim.Reset();
                    anim.Start();
                };
        }
コード例 #2
0
ファイル: Bug.cs プロジェクト: Davermouse/HeartAttack
        public override void Update(GameTime pGameTime)
        {
            if (!runningAnimation)
            {
                if (new Random().NextDouble() > 0.95)
                {
                    runningAnimation = true;

                    var animation = new SpriteAnimation(Scene.ClockManager,
                        this.frames,
                        this.frames[0],
                        this.m_Sprite,
                        0.05f);

                    animation.Complete += (s, e) => this.runningAnimation = false;

                    animation.Start();
                }

                if (new Random().NextDouble() > 0.99)
                {
                    runningAnimation = true;

                    var animation = new SpriteAnimation(Scene.ClockManager,
                        this.blinkFrames,
                        this.frames[0],
                        this.m_Sprite,
                        0.05f);

                    animation.Complete += (s, e) => this.runningAnimation = false;

                    animation.Start();
                }
            }

            m_Sprite.Update(pGameTime);
        }