Beispiel #1
0
        void animateEnemy()
        {
            var textures = Enumerable.Range(1, 4).Select(
                (i) => SKTexture.FromImageNamed(String.Format("walker-{0}", i))).ToArray();

            enemyAnimate = SKAction.RepeatActionForever(SKAction.AnimateWithTextures(textures, 0.1));
            enemy.RunAction(enemyAnimate);
        }
Beispiel #2
0
        // definition of player walking animation
        void animatePlayer()
        {
            var textures = Enumerable.Range(1, 4).Select(
                (i) => SKTexture.FromImageNamed(String.Format("Stumbler-{0}", i))).ToArray();

            playerAnimate = SKAction.RepeatActionForever(SKAction.AnimateWithTextures(textures, 0.1));
            playerObject.RunAction(playerAnimate);
        }
Beispiel #3
0
        void animateobstacle4()
        {
            var textures = Enumerable.Range(1, 4).Select(
                (i) => SKTexture.FromImageNamed(String.Format("trash-{0}", i))).ToArray();

            obstacleflame4 = SKAction.RepeatActionForever(SKAction.AnimateWithTextures(textures, 0.1));
            obstacle4.RunAction(obstacleflame4);
        }
        void FireAnimationForState(AnimationState animationState, SKTexture[] frames, string key)
        {
            SKAction animAction = GetActionForKey(key);

            if (animAction != null || frames.Length < 1)
            {
                return;                 // we already have a running animation or there aren't any frames to animate
            }
            ActiveAnimationKey = key;
            RunAction(SKAction.Sequence(new [] {
                SKAction.AnimateWithTextures(frames, AnimationSpeed, true, false),
                SKAction.Run(() => AnimationHasCompleted(animationState))
            }), key);
        }
        // テクスチャから初期化する
        // w 横の画像数
        // h 縦の画像数
        public AnimationNode(String name, int w, int h, double sec, CGSize size)
        {
            textures = new SKTexture[w * h];
            var texture = SKTexture.FromImageNamed(name);
            var c       = 0;

            for (var y = h - 1; y >= 0; y--)
            {
                for (var x = 0; x < w; x++)
                {
                    textures[c++] = SKTexture.FromRectangle(new CGRect(x / (float)w, y / (float)h, 1 / (float)w, 1 / (float)h), texture);
                }
            }
            node           = SKSpriteNode.FromTexture((SKTexture)textures[0]);
            node.Size      = size;
            node.ZPosition = 1;
            node.Position  = new CGPoint(-100, -100);
            action         = SKAction.AnimateWithTextures((SKTexture[])textures, sec);
        }
        protected override void CreateSceneContents()
        {
            base.CreateSceneContents();

            SKTexture[] walkFrames = LoadFrames("Art/warrior_walk_", 28);

            SKSpriteNode sprite = new SKSpriteNode(walkFrames [0])
            {
                Position = new CGPoint(Scene.Frame.GetMidX(), Scene.Frame.GetMidY())
            };

            Scene.AddChild(sprite);

            //Cycle through the frame
            var animation = SKAction.AnimateWithTextures(walkFrames, 1.0f / 28, true, false);

            sprite.RunAction(SKAction.RepeatActionForever(animation));

            Scene.AddDescription("This sprite is animating through a series of texture images.",
                                 new CGPoint(Scene.Frame.GetMidX(), 100));
        }
Beispiel #7
0
        public CharacterSpriteComponent(string spriteAtlasFilename, GKEntity entity)
        {
            // Setup the idle actions
            SKTextureAtlas atlas = SKTextureAtlas.FromName(spriteAtlasFilename);

            idleNorthWestAction = SKAction.AnimateWithTextures(new SKTexture[] { atlas.TextureNamed(spriteAtlasFilename + "-1-0") }, 1.0);
            idleSouthEastAction = SKAction.AnimateWithTextures(new SKTexture[] { atlas.TextureNamed(spriteAtlasFilename + "-3-0") }, 1.0);

            // Setup the walking action
            SKTexture[] textArray = TextureArrayFromAtlas(atlas, spriteAtlasFilename, 1);
            walkNorthWestAction = SKAction.AnimateWithTextures(textArray, 0.1);
            textArray           = TextureArrayFromAtlas(atlas, spriteAtlasFilename, 3);
            walkSouthEastAction = SKAction.AnimateWithTextures(textArray, 0.1);

            Sprite                        = new EntityNode();
            Sprite.Texture                = atlas.TextureNamed(spriteAtlasFilename + "-1-0");
            Sprite.Size                   = new CoreGraphics.CGSize(64f, 64f);
            Sprite.AnchorPoint            = new CoreGraphics.CGPoint(0.5f, 0.0f);
            Sprite.UserInteractionEnabled = true;
            ((EntityNode)Sprite).Entity   = entity;
        }
Beispiel #8
0
        public void DidBeginContact(SKPhysicsContact contact)
        {
            inprogress = false;

            Console.WriteLine("We Collided!");
            gameended = true;
            void gameOver()
            {
                var textures = Enumerable.Range(1, 4).Select(
                    (i) => SKTexture.FromImageNamed(String.Format("Death-{0}", i))).ToArray();

                deathSpin = SKAction.RepeatAction(SKAction.AnimateWithTextures(textures, .1), 4);
                var shrink = SKAction.ScaleTo(0f, 2f);
                var death  = SKAction.Sequence(deathSpin, shrink);

                playerObject.RunAction(death);

                var playDeath = SKAction.PlaySoundFileNamed("playerDeath", false);

                playerDied.RunAction(playDeath);
                gameSong.RunAction(SKAction.CreateStop());
            }

            void animateOver()
            {
                var grow    = SKAction.ScaleTo(2.0f, 1.5);
                var shrink  = SKAction.ScaleTo(.5f, 1.5);
                var animate = SKAction.RepeatActionForever(SKAction.Sequence(grow, shrink));

                endGame.RunAction(animate);
            }

            playerObject.RemoveAllActions();
            obstacle.RemoveAllActions();
            sidewalk1.RemoveAllActions();
            sidewalk2.RemoveAllActions();
            sidewalk3.RemoveAllActions();
            building1.RemoveAllActions();
            building2.RemoveAllActions();
            building3.RemoveAllActions();
            building4.RemoveAllActions();
            building5.RemoveAllActions();
            building6.RemoveAllActions();
            building7.RemoveAllActions();
            building8.RemoveAllActions();
            building9.RemoveAllActions();
            building10.RemoveAllActions();
            building11.RemoveAllActions();
            building12.RemoveAllActions();
            building13.RemoveAllActions();
            building14.RemoveAllActions();
            road1.RemoveAllActions();
            road2.RemoveAllActions();
            road3.RemoveAllActions();
            road4.RemoveAllActions();
            road5.RemoveAllActions();
            road6.RemoveAllActions();
            obstacle1.RemoveAllActions();
            obstacle2.RemoveAllActions();
            enemy.RemoveAllActions();
            obstacle4.RemoveAllActions();

            scores.Add(score);
            scores.Sort((a, b) => - 1 * a.CompareTo(b)); 


 var sl = scores.Count; 
                 if (sl >= 10)
            {
                
                  {
                    
 sl = 10; 

                }
            }
            

 var plist = NSUserDefaults.StandardUserDefaults; 
                       for (int i = 0; i < sl; i++)

            {
                
                   {
                    
 Console.WriteLine(scores[i]); 
 plist.SetInt(scores[i], String.Format("Score-{0}", i)); 


                }
            }

            score = 0;

            //unsubscribe obstacle objects at the end of the round
            timer.Elapsed  -= sendobstacle;
            timer1.Elapsed -= sendobstacle1;
            timer2.Elapsed -= sendobstacle2;
            timer3.Elapsed -= sendobstacle3;
            timer4.Elapsed -= sendobstacle4;

            gameOver();

            AddChild(endGame);

            animateOver();
        }
Beispiel #9
0
        public override void DidMoveToView(SKView view)
        {
            road1 = new SKSpriteNode("road")
            {
                XScale    = 0.7f,
                YScale    = 0.7f,
                Position  = new CGPoint(roadx, 89),
                ZPosition = 0.3f
            };
            roadhalf = (road1.Frame.Height / 2) - 1;

            road1.Position = new CGPoint(roadx, roadhalf);

            road2 = new SKSpriteNode("road")
            {
                XScale    = 0.7f,
                YScale    = 0.7f,
                Position  = new CGPoint(roadx, roadhalf + (road1.Frame.Bottom)),
                ZPosition = 0.3f
            };

            road3 = new SKSpriteNode("road")
            {
                XScale    = 0.7f,
                YScale    = 0.7f,
                Position  = new CGPoint(roadx, roadhalf + (road2.Frame.Bottom)),
                ZPosition = 0.3f
            };

            road4 = new SKSpriteNode("road")
            {
                XScale    = 0.7f,
                YScale    = 0.7f,
                Position  = new CGPoint(roadx, roadhalf + (road3.Frame.Bottom)),
                ZPosition = 0.3f
            };

            road5 = new SKSpriteNode("road")
            {
                XScale    = 0.7f,
                YScale    = 0.7f,
                Position  = new CGPoint(roadx, roadhalf + (road4.Frame.Bottom)),
                ZPosition = 0.3f
            };

            road6 = new SKSpriteNode("road")
            {
                XScale    = 0.7f,
                YScale    = 0.7f,
                Position  = new CGPoint(roadx, roadhalf + (road5.Frame.Bottom)),
                ZPosition = 0.3f
            };

            Console.WriteLine(road1.Frame);

            building1 = new SKSpriteNode("Building")
            {
                XScale    = 1.0f,
                YScale    = 1.0f,
                Position  = new CGPoint(buildx, 0),
                ZPosition = 0.3f
            };

            buildhalf = (building1.Frame.Height / 2) - 1;

            building2 = new SKSpriteNode("Building")
            {
                XScale    = 1.0f,
                YScale    = 1.0f,
                Position  = new CGPoint(buildx, buildhalf + (building1.Frame.Bottom)),
                ZPosition = 0.3f
            };

            building3 = new SKSpriteNode("Building")
            {
                XScale    = 1.0f,
                YScale    = 1.0f,
                Position  = new CGPoint(buildx, buildhalf + (building2.Frame.Bottom)),
                ZPosition = 0.3f
            };

            building4 = new SKSpriteNode("Building")
            {
                XScale    = 1.0f,
                YScale    = 1.0f,
                Position  = new CGPoint(0 + 327, (65 / 2) + (building3.Frame.Bottom)),
                ZPosition = 0.3f
            };

            building5 = new SKSpriteNode("Building")
            {
                XScale    = 1.0f,
                YScale    = 1.0f,
                Position  = new CGPoint(buildx, buildhalf + (building4.Frame.Bottom)),
                ZPosition = 0.3f
            };

            building6 = new SKSpriteNode("Building")
            {
                XScale    = 1.0f,
                YScale    = 1.0f,
                Position  = new CGPoint(buildx, buildhalf + (building5.Frame.Bottom)),
                ZPosition = 0.3f
            };

            building7 = new SKSpriteNode("Building")
            {
                XScale    = 1.0f,
                YScale    = 1.0f,
                Position  = new CGPoint(buildx, buildhalf + (building6.Frame.Bottom)),
                ZPosition = 0.3f
            };

            building8 = new SKSpriteNode("Building")
            {
                XScale    = 1.0f,
                YScale    = 1.0f,
                Position  = new CGPoint(buildx, buildhalf + (building7.Frame.Bottom)),
                ZPosition = 0.3f
            };

            building9 = new SKSpriteNode("Building")
            {
                XScale    = 1.0f,
                YScale    = 1.0f,
                Position  = new CGPoint(buildx, buildhalf + (building8.Frame.Bottom)),
                ZPosition = 0.3f
            };

            building10 = new SKSpriteNode("Building")
            {
                XScale    = 1.0f,
                YScale    = 1.0f,
                Position  = new CGPoint(buildx, buildhalf + (building9.Frame.Bottom)),
                ZPosition = 0.3f
            };

            building11 = new SKSpriteNode("Building")
            {
                XScale    = 1.0f,
                YScale    = 1.0f,
                Position  = new CGPoint(buildx, buildhalf + (building10.Frame.Bottom)),
                ZPosition = 0.3f
            };

            building12 = new SKSpriteNode("Building")
            {
                XScale    = 1.0f,
                YScale    = 1.0f,
                Position  = new CGPoint(buildx, buildhalf + (building11.Frame.Bottom)),
                ZPosition = 0.3f
            };

            building13 = new SKSpriteNode("Building")
            {
                XScale    = 1.0f,
                YScale    = 1.0f,
                Position  = new CGPoint(buildx, buildhalf + (building12.Frame.Bottom)),
                ZPosition = 0.3f
            };

            building14 = new SKSpriteNode("Building")
            {
                XScale    = 1.0f,
                YScale    = 1.0f,
                Position  = new CGPoint(buildx, buildhalf + (building13.Frame.Bottom)),
                ZPosition = 0.3f
            };


            // Setup player character
            playerObject = new SKSpriteNode("Stumbler-1")
            {
                XScale    = 1.6f,
                YScale    = 1.6f,
                Position  = new CGPoint(Frame.Width / 2, Frame.Height / 4),
                ZPosition = 0.1f
            };

            // sidewalk sprites, set up to overlap to remove gaps 4 at top 1 at bottom

            sidewalk1 = new SKSpriteNode("Sidewalk")
            {
                XScale    = 1.0f,
                YScale    = 1.0f,
                Position  = new CGPoint(Frame.Width / 2, Frame.Bottom - sidehalf),
                ZPosition = 0.0f
            };

            sidewalk2 = new SKSpriteNode("Sidewalk")
            {
                XScale    = 1.0f,
                YScale    = 1.0f,
                Position  = new CGPoint(Frame.Width / 2, sidewalk1.Frame.Top - sidehalf),
                ZPosition = 0.0f
            };


            sidewalk3 = new SKSpriteNode("Sidewalk")
            {
                XScale    = 1.0f,
                YScale    = 1.0f,
                Position  = new CGPoint(Frame.Width / 2, sidewalk2.Frame.Top - sidehalf),
                ZPosition = 0.0f
            };


            // definition of player walking animation
            void animatePlayer()

            {
                var textures = Enumerable.Range(1, 4).Select(
                    (i) => SKTexture.FromImageNamed(String.Format("Stumbler-{0}", i))).ToArray();

                playerAnimate = SKAction.RepeatActionForever(SKAction.AnimateWithTextures(textures, 0.1));
                playerObject.RunAction(playerAnimate);
            }

            // definition of sidewalk scrolling action
            void Scroll(SKSpriteNode node)
            {
                walkAnimate = SKAction.RepeatActionForever(SKAction.MoveBy(0.0f, -0.1f, 0.0007f));
                node.RunAction(walkAnimate);
            }

            // calls to add sprites to scene
            AddChild(road1);
            AddChild(road2);
            AddChild(road3);
            AddChild(road4);
            AddChild(road5);
            AddChild(road6);

            AddChild(sidewalk1);
            AddChild(sidewalk2);
            AddChild(sidewalk3);

            AddChild(building1);
            AddChild(building2);
            AddChild(building3);
            AddChild(building4);
            AddChild(building5);
            AddChild(building6);
            AddChild(building7);
            AddChild(building8);
            AddChild(building9);
            AddChild(building10);
            AddChild(building11);
            AddChild(building12);
            AddChild(building13);
            AddChild(building14);

            AddChild(playerObject);

            // calls to animation for sprites
            Scroll(sidewalk1);
            Scroll(sidewalk2);
            Scroll(sidewalk3);

            Scroll(road1);
            Scroll(road2);
            Scroll(road3);
            Scroll(road4);
            Scroll(road5);
            Scroll(road6);

            Scroll(building1);
            Scroll(building2);
            Scroll(building3);
            Scroll(building4);
            Scroll(building5);
            Scroll(building6);
            Scroll(building7);
            Scroll(building8);
            Scroll(building9);
            Scroll(building10);
            Scroll(building11);
            Scroll(building12);
            Scroll(building13);
            Scroll(building14);


            animatePlayer();

            //Console.WriteLine(Frame.Bottom);
        }