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); }
// 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); }
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)); }
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; }
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(); }
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); }