public override void LoadContent() { base.LoadContent(); Texture2D spriteSheet = Game.Content.Load <Texture2D>(@"PlayerOneSpriteSheet"); int spriteSize = 20; Initialize(spriteSheet, new Rectangle(0, 0, spriteSize, spriteSize), Vector2.Zero, Scale, false); //Standing Right 0 AddFrame(new Rectangle(spriteSize + 1, 0, spriteSize, spriteSize)); //Standing Left 1 AddFrame(new Rectangle(0, spriteSize * 2 + 2, spriteSize, spriteSize)); //Breaking Right 2 AddFrame(new Rectangle(spriteSize + 1, spriteSize * 2 + 2, spriteSize, spriteSize)); //Breaking Left 3 m_RunRight.Initialize(spriteSheet, new Rectangle(0, spriteSize * 3 + 3, spriteSize, spriteSize), Vector2.Zero, Scale, true); //Running Right 0 m_RunRight.AddFrame(new Rectangle(spriteSize + 1, spriteSize * 3 + 3, spriteSize, spriteSize)); //Running Right 1 m_RunLeft.Initialize(spriteSheet, new Rectangle(spriteSize * 2 + 2, spriteSize * 3 + 3, spriteSize, spriteSize), Vector2.Zero, Scale, true); //Running Left 0 m_RunLeft.AddFrame(new Rectangle(spriteSize * 3 + 3, spriteSize * 3 + 3, spriteSize, spriteSize)); //Running Left 1 m_FlyingRight.Initialize(spriteSheet, new Rectangle(0, spriteSize + 1, spriteSize, spriteSize), Vector2.Zero, Scale, true); m_FlyingRight.AddFrame(new Rectangle(spriteSize + 1, spriteSize + 1, spriteSize, spriteSize)); m_FlyingRight.AddFrame(new Rectangle(spriteSize * 2 + 2, spriteSize + 1, spriteSize, spriteSize)); m_FlyingLeft.Initialize(spriteSheet, new Rectangle(spriteSize * 3 + 3, spriteSize + 1, spriteSize, spriteSize), Vector2.Zero, Scale, true); m_FlyingLeft.AddFrame(new Rectangle(spriteSize * 4 + 4, spriteSize + 1, spriteSize, spriteSize)); m_FlyingLeft.AddFrame(new Rectangle(spriteSize * 5 + 5, spriteSize + 1, spriteSize, spriteSize)); m_FlyWOPlayerRight.Initialize(spriteSheet, new Rectangle(0, spriteSize * 4 + 4, spriteSize, spriteSize), Vector2.Zero, Scale, false); m_FlyWOPlayerRight.AddFrame(new Rectangle(spriteSize + 1, spriteSize * 4 + 4, spriteSize, spriteSize)); m_FlyWOPlayerRight.AddFrame(new Rectangle(spriteSize * 2 + 2, spriteSize * 4 + 4, spriteSize, spriteSize)); m_FlyWOPlayerLeft.Initialize(spriteSheet, new Rectangle(spriteSize * 3 + 3, spriteSize * 4 + 4, spriteSize, spriteSize), Vector2.Zero, Scale, false); m_FlyWOPlayerLeft.AddFrame(new Rectangle(spriteSize * 4 + 4, spriteSize * 4 + 4, spriteSize, spriteSize)); m_FlyWOPlayerLeft.AddFrame(new Rectangle(spriteSize * 5 + 5, spriteSize * 4 + 4, spriteSize, spriteSize)); }
public static void Initialize( Texture2D texture, Rectangle baseInitialFrame, int baseFrameCount, Rectangle turretInitialFrame, int turretFrameCount, Vector2 worldLocation) { int frameWidth = baseInitialFrame.Width; int frameHeight = baseInitialFrame.Height; BaseSprite = new Sprite( worldLocation, texture, baseInitialFrame, Vector2.Zero); BaseSprite.BoundingXPadding = 4; BaseSprite.BoundingYPadding = 4; BaseSprite.AnimateWhenStopped = false; for (int x = 1; x < baseFrameCount; x++) { BaseSprite.AddFrame(new Rectangle(baseInitialFrame.X + (frameHeight * x), baseInitialFrame.Y, frameWidth, frameHeight)); } TurretSprite = new Sprite( worldLocation, texture, turretInitialFrame, Vector2.Zero); TurretSprite.Animate = false; for (int x = 1; x < turretFrameCount; x++) { BaseSprite.AddFrame(new Rectangle(turretInitialFrame.X + (frameHeight * x), turretInitialFrame.Y, frameWidth, frameHeight)); } }
public void DebugDrawSpline() { _WayPoints.DebugDrawSpline(_OffsetX,_OffsetZ); if(_Sprite == null) { _Sprite = Sprite.Spawn(1); _Sprite.AddFrame("Enemy1F1.png"); _Sprite.AddFrame("Enemy1F2.png"); _Sprite.AddFrame("Enemy1F3.png"); _Sprite.AddFrame("Enemy1F4.png"); _Sprite.AddFrame("Enemy1F3.png"); _Sprite.AddFrame("Enemy1F2.png"); _Sprite._Width = 1.2f; _Sprite._Height = 1.2f; _Sprite._Animate = true; _Sprite._Y = 0.1f; } _DebugT += _Speed * Time.deltaTime; if(_DebugT >= 1.0f) { _DebugT = 0.0f; } Vector3 vPos = _WayPoints.Spline(_DebugT); _Sprite._X = vPos.x; _Sprite._Z = vPos.z; // Draw a circle to represent the speed Vector3 vA = Vector3.zero; Vector3 vB = Vector3.zero; Vector3 vColour = new Vector3(1.0f,1.0f,0.0f); float fAngle = 0.0f; float fStep = 360.0f / 30.0f; vA.x = (Mathf.Sin(fAngle * Mathf.Deg2Rad) * (_Speed * 2.0f)) + _OffsetX; vA.z = (Mathf.Cos(fAngle * Mathf.Deg2Rad) * (_Speed * 2.0f)) + _OffsetZ; fAngle += fStep; for(int i = 0; i < 30; ++i) { vB.x = (Mathf.Sin(fAngle * Mathf.Deg2Rad) * (_Speed * 2.0f)) + _OffsetX; vB.z = (Mathf.Cos(fAngle * Mathf.Deg2Rad) * (_Speed * 2.0f)) + _OffsetZ; Director._Instance.AddLine(vColour,vA,vB); fAngle += fStep; vA = vB; } }
private void Initialize() { //PixelParticle pe = new PixelEmitter(new Vector2f(400f, 550f), Color.Blue, 2000); pe.EmitLife = 15f; pe.EmitFrequency = 0.01f; pe.PixelSize = new Size(3, 3); //SurfaceParticle sm = new SurfaceEmitter(new Vector2f(150f, 550f), 4.2f, 50, 0); Surface surf = new Surface(@"Images/smoke2.png"); sm.AddSurface(surf); sm.EmitFrequency = 0.1f; sm.EmitAlpha = 1d; sm.EmitAcceleration = new Vector2f(0, -20); sm.EmitVelocity = new Vector2f(0, -10); //SpriteParticle Surface surf2 = new Surface(@"Images/smoke.png"); Sprite sprite = new Sprite(100, 100); sprite.AddFrame(surf); sprite.AddFrame(surf2); sprite.TimePerFrame = 3d; sprite.AnimationType = SpriteAnimType.Looping; se = new SpriteEmitter(new Vector2f(600f, 550f), 4.2f, 100, 0); se.AddSprite(sprite); se.EmitFrequency = 0.05f; se.EmitAlpha = 1d; se.EmitAcceleration = new Vector2f(0, -20); se.EmitVelocity = new Vector2f(0, -10); //Manipulators gm = new GravityManipulator(-20 * Vector2f.UnitY); gm.SubscribeToEmitter(sm); gm.SubscribeToEmitter(se); gm2 = new GravityManipulator(Vector2f.Zero); //gm2.SubscribeToEmitter(pe); gm2.SubscribeToEmitter(sm); gm2.SubscribeToEmitter(se); fom = new FadeOutManipulator(2.5f, 0.6f); fom.SubscribeToEmitter(pe); fom2 = new FadeOutManipulator(4f, 0.3f); fom2.SubscribeToEmitter(sm); fom2.SubscribeToEmitter(se); gpm = new GravityPointManipulator(new Vector2f(400f, 350f), -1f); gpm.SubscribeToEmitter(pe); }
public Tile(int id, Sprite sprite) { Id = id; Sprite = sprite; if (Sprite.Count == 0) Sprite.AddFrame(); Properties = TileProperties.Default; }
private static void SpawnPowerUp(int x, int y, WeaponType type) { if (PowerUps.Count >= maxActivePowerUps) { return; } Rectangle destination = TileMap.SquareWorldRectangle(new Vector2(x, y)); foreach (Sprite powerup in PowerUps) { if (powerup.WorldRectangle == destination) { return; } } if (PathFinder.FindPath(new Vector2(x, y), Player.PathingNodePosition) != null) { Sprite newPowerup = new Sprite( new Vector2(destination.X, destination.Y), Texture, new Rectangle(64, 128, 32, 32), Vector2.Zero); newPowerup.Animate = false; newPowerup.CollisionRadius = 24; newPowerup.AddFrame(new Rectangle(96, 128, 32, 32)); if (type == WeaponType.Rocket) { newPowerup.Frame = 1; } PowerUps.Add(newPowerup); timeSinceLastPowerUp = 0f; } }
public static void AddFrames(Sprite sprite, string prefix, int count) { for (int i = 1; i <= count; i++) { string key = prefix + i.ToString().PadLeft(2, '0'); sprite.AddFrame(SpriteCreators.spriteSourceRectangles[key]); } }
public void load(IContentProvider content) { leftborder = content.Load <Texture2D>("imgs/leftborder"); rightborder = content.Load <Texture2D>("imgs/rightborder"); topborder = content.Load <Texture2D>("imgs/topborder"); newpaddle = content.Load <Texture2D>("imgs/paddle"); var deserializer = new DeserializerBuilder() .WithNamingConvention(new HyphenatedNamingConvention()) .WithTypeConvertersForBasicStructures() .Build(); var imageData = deserializer.Deserialize <SpritesFile>( content.ReadAllText("sprites.yaml")); foreach (var field in GetType().GetTypeInfo().DeclaredFields) { string yamlKey = field.Name.ToLowerInvariant(); if (field.FieldType == typeof(Texture2D)) { if (imageData.Images.TryGetValue(yamlKey, out var data)) { field.SetValue(this, content.Load <Texture2D>($"imgs/{data.Image}")); } else { Log($"No image specified for {field.Name}"); } } else if (field.FieldType == typeof(Sprite)) { if (imageData.Sprites.TryGetValue(yamlKey, out var data)) { var sprite = new Sprite(); sprite.AnimationType = data.Animation?.Type ?? sprite.AnimationType; sprite.FrameTime = TimeSpan.FromMilliseconds(data.Animation?.FrameTime ?? sprite.FrameTime.TotalMilliseconds); foreach (var frameData in data.Frames) { var frame = new SpriteFrame( content.Load <Texture2D>($"imgs/{frameData.Image}"), frameData.SourceRect); sprite.AddFrame(frame); } field.SetValue(this, sprite); } else { Log($"No sprite specified for {field.Name}"); } } } }
private static Sprite GetEmptySprite(int frames) { var sprite = new Sprite(1, 1); for (int i = 0; i < frames; i++) { sprite.AddFrame(0, 0, 1); } return(sprite); }
private Sprite CreateEmptySprite() { var size = ModeOf(_currentEntity.SpriteComponent.Sprites .Select(s => new Common.Geometry.Point(s.Value.Width, s.Value.Height))); var sprite = new Sprite(size.X, size.Y); sprite.Name = GetNewSpriteName(); sprite.SheetPath = _currentEntity.SpriteComponent.SheetPath; sprite.AddFrame(); return(sprite); }
public static void AddComputerTerminal() { int startX = rand.Next(2, TileMap.MapWidth - 2); int startY = rand.Next(0, TileMap.MapHeight - 2); Vector2 tileLocation = new Vector2(startX, startY); if ((TerminalInSquare(tileLocation) != null) || (TileMap.IsWallTile(tileLocation))) { return; } if (Vector2.Distance(TileMap.GetSquareCenter(startX, startY), Player.BaseSprite.WorldCenter) < minDistanceFromPlayer) { return; } List <Vector2> path = PathFinder.FindPath(new Vector2(startX, startY), TileMap.GetSquareAtPixel(Player.BaseSprite.WorldCenter)); if (path != null) { Rectangle squareRect = TileMap.SquareWorldRectangle(startX, startY); Sprite activeSprite = new Sprite( new Vector2(squareRect.X, squareRect.Y), texture, initialActiveFrame, Vector2.Zero); for (int x = 1; x < 3; x++) { activeSprite.AddFrame(new Rectangle( initialActiveFrame.X + (x * initialActiveFrame.Width), initialActiveFrame.Y, initialActiveFrame.Width, initialActiveFrame.Height)); } activeSprite.CollisionRadius = collisionRadius; Sprite disabledSprite = new Sprite( new Vector2(squareRect.X, squareRect.Y), texture, initialDisabledFrame, Vector2.Zero); ComputerTerminal terminal = new ComputerTerminal( activeSprite, disabledSprite, new Vector2(startX, startY)); float timerOffset = rand.Next(1, 100); terminal.LastSpawnCounter = timerOffset / 100f; computerTerminals.Add(terminal); activeCount++; } }
public Enemy(Texture2D texture, Vector2 location, Rectangle initialFrame, int frameCount) { EnemySprite = new Sprite(location, texture, initialFrame, Vector2.Zero); for (int x = 1; x < frameCount; x++) { EnemySprite.AddFrame(new Rectangle( initialFrame.X + (initialFrame.Width * x), initialFrame.Y, initialFrame.Width, initialFrame.Height)); } previousLocation = location; currentWaypoint = location; EnemySprite.CollisionRadius = enemyRadius; }
public void AddAsteroid() { Sprite newAsteroid = new Sprite(new Vector2(-500, -500), texture, initialFrame, Vector2.Zero); for (int x = 1; x < asteroidFrames; x++) { newAsteroid.AddFrame(new Rectangle( initialFrame.X + (initialFrame.Width * x), initialFrame.Y, initialFrame.Width, initialFrame.Height)); } newAsteroid.Rotation = MathHelper.ToRadians(rand.Next(0, 360)); newAsteroid.CollisionRadius = 15; Asteroids.Add(newAsteroid); }
public PlayerManager(Texture2D texture, Rectangle initialFrame, int frameCount, Rectangle screenBounds) { playerSprite = new Sprite(new Vector2(500, 500), texture, initialFrame, Vector2.Zero); PlayerShotManager = new ShotManager(texture, new Rectangle(0, 300, 5, 5), 4, 2, 250.0f, screenBounds); playerAreaLimit = new Rectangle(0, screenBounds.Height / 2, screenBounds.Width, screenBounds.Height / 2); for (int x = 1; x < frameCount; x++) { playerSprite.AddFrame(new Rectangle(initialFrame.X + (initialFrame.Width * x), initialFrame.Y, initialFrame.Width, initialFrame.Height)); } playerSprite.CollisionRadius = playerRadius; }
// Update is called once per frame void Update() { if(_Sprite == null) { _Sprite = Sprite.Spawn(1); _Sprite._Width = _Transform.localScale.x; _Sprite._Height = _Transform.localScale.y; _Sprite._Animate = false; _Sprite.AddFrame(_Name); _Sprite._X = 1000.0f; _Sprite._Z = 1000.0f; _Sprite._Y = 0.1f; } _Sprite._X = _Transform.position.x; _Sprite._Z = _Transform.position.z; _Sprite._Width = _Transform.localScale.x; _Sprite._Height = _Transform.localScale.y; }
public override void LoadContent() { base.LoadContent(); Texture2D spriteSheet = Game.Content.Load <Texture2D>(@"EnemyOneSpriteSheet"); int spriteSize = 20; Initialize(spriteSheet, new Rectangle(0, spriteSize * 3 + 3, spriteSize, spriteSize), Vector2.Zero, Scale, false); //Flying Left One m_FlyingRight.Initialize(spriteSheet, new Rectangle(0, 0, spriteSize, spriteSize), Vector2.Zero, Scale, false); m_FlyingRight.AddFrame(new Rectangle(spriteSize + 1, 0, spriteSize, spriteSize)); m_FlyingLeft.Initialize(spriteSheet, new Rectangle(spriteSize * 2 + 2, 0, spriteSize, spriteSize), Vector2.Zero, Scale, false); m_FlyingLeft.AddFrame(new Rectangle(spriteSize * 3 + 3, 0, spriteSize, spriteSize)); m_WalkingRight.Initialize(spriteSheet, new Rectangle(0, spriteSize + 1, spriteSize, spriteSize), Vector2.Zero, Scale, false); m_WalkingRight.AddFrame(new Rectangle(spriteSize + 1, spriteSize + 1, spriteSize, spriteSize)); m_WalkingLeft.Initialize(spriteSheet, new Rectangle(spriteSize * 2 + 2, spriteSize + 1, spriteSize, spriteSize), Vector2.Zero, Scale, false); m_WalkingLeft.AddFrame(new Rectangle(spriteSize * 3 + 3, spriteSize + 1, spriteSize, spriteSize)); m_NoRiderRight.Initialize(spriteSheet, new Rectangle(0, spriteSize * 2 + 2, spriteSize, spriteSize), Vector2.Zero, Scale, false); m_NoRiderRight.AddFrame(new Rectangle(spriteSize + 1, spriteSize * 2 + 2, spriteSize, spriteSize)); m_NoRiderLeft.Initialize(spriteSheet, new Rectangle(spriteSize * 2 + 2, spriteSize * 2 + 2, spriteSize, spriteSize), Vector2.Zero, Scale, false); m_NoRiderLeft.AddFrame(new Rectangle(spriteSize * 3 + 3, spriteSize * 2 + 2, spriteSize, spriteSize)); }
public void FireShot(Vector2 location, Vector2 velocity, bool playerFired) { Sprite shot = new Sprite(location, Texture, InitialFrame, velocity); shot.Velocity *= shotSpeed; for (int x = 1; x < FrameCount; x++) { shot.AddFrame(new Rectangle(InitialFrame.X + (InitialFrame.Width * x), InitialFrame.Y, InitialFrame.Width, InitialFrame.Height)); } shot.CollisionRadius = CollisionRadius; Shots.Add(shot); if (playerFired) { SoundManager.PlayPlayerShot(); } else { SoundManager.PlayEnemyShot(); } }
void Update() { _Delay -= Time.deltaTime; if(_Delay > 0.0f) { return; } _Delay = 0.0f; if(_Sprite == null) { _Sprite = Sprite.Spawn(1); _Sprite._Width = _SA.x; _Sprite._Height = _SA.y; _Sprite._Animate = false; _Sprite.AddFrame(_Image); _Sprite._X = 1000.0f; _Sprite._Z = 1000.0f; _Sprite._Y = _Depth; } switch(_Ease) { case eIMAGEEase.IMAGE_EASE_IN: _Time += Time.deltaTime; if(_Time > 1.0f) { _Time = 1.0f; _C = _B; _Ease = eIMAGEEase.IMAGE_EASE_NONE; if(_FireEventOnFinishTransitionIn) { Director._Instance.FireEvent(_Event); } } float fRealTime = 1.0f - _Time; _C = _B + (_A - _B) * (fRealTime * fRealTime); _SC = _SB + (_SA - _SB) * (fRealTime * fRealTime); _Alpha = _BAlpha + (_AAlpha - _BAlpha) * (fRealTime * fRealTime); break; case eIMAGEEase.IMAGE_EASE_OUT: _Time -= Time.deltaTime; if(_Time < 0.0f) { _Time = 0.0f; _C = _A; _Ease = eIMAGEEase.IMAGE_EASE_KILL; } _C = _A + (_B - _A) * (_Time * _Time); _SC = _SA + (_SB - _SA) * (_Time * _Time); _Alpha = _AAlpha + (_BAlpha - _AAlpha) * (_Time * _Time); break; case eIMAGEEase.IMAGE_EASE_KILL: this.active = false; _Sprite._Alive = false; Sprite.Kill(_Sprite); _Sprite = null; break; } this.transform.position = _C; if(_Sprite != null) { _Sprite._X = _C.x; _Sprite._Z = _C.z; _Sprite._Width = _SC.x; _Sprite._Height = _SC.y; _Sprite._Alpha = _Alpha; } }
private void Setup() { _AddedToDelegates = false; _Pause = false; _Kill = false; _Time = Random.Range(0.0f,100.0f); _TimeToFire = 1.0f; switch(_Type) { case eAIType.AITYPE_ENEMY1: _Sprite = Sprite.Spawn(1); _Sprite.AddFrame("Enemy1F1.png"); _Sprite.AddFrame("Enemy1F2.png"); _Sprite.AddFrame("Enemy1F3.png"); _Sprite.AddFrame("Enemy1F4.png"); _Sprite.AddFrame("Enemy1F3.png"); _Sprite.AddFrame("Enemy1F2.png"); _Sprite._Width = 1.2f; _Sprite._Height = 1.2f; _Sprite._Animate = true; _Sprite._Y = 0.1f; _Radius = 0.5f; _Speed = 10.0f + Random.Range(0.0f,3.0f); _Value = 1; _AABBCollision = false; _HitPoints = 1; _Width = 0.5f * 0.5f; _Height = (0.5f * 0.5f) * Director._Instance._Aspect; _FrameAdvanceOnHit = false; _TimeToFire = Random.Range(2.0f,3.0f); AddToDelegates(); break; case eAIType.AITYPE_BLOCK: _Sprite = Sprite.Spawn(1); switch(_Block) { case 1: _Sprite.AddFrame("Block1.png"); break; case 2: _Sprite.AddFrame("Block2.png"); break; case 3: _Sprite.AddFrame("Block3.png"); break; case 4: _Sprite.AddFrame("Block4.png"); break; case 5: _Sprite.AddFrame("Block5.png"); break; case 6: _Sprite.AddFrame("Block6.png"); break; case 7: _Sprite.AddFrame("Block7.png"); break; case 8: _Sprite.AddFrame("Block8.png"); break; } _Sprite._Width = 2.0f; _Sprite._Height = 2.0f; _Sprite._Animate = false; _Sprite._Y = 0.0f; _Radius = 0.8f; _Speed = 10.0f; _Value = 1; _AABBCollision = false; _HitPoints = 1; _Width = 0.5f * 0.5f; _Height = (0.5f * 0.5f) * Director._Instance._Aspect; _FrameAdvanceOnHit = false; _TimeToFire = Random.Range(2.0f,3.0f); AddToDelegates(); break; case eAIType.AITYPE_RDEFENDER: _Sprite = Sprite.Spawn(1); _Sprite.AddFrame("RDefenderF1.png"); _Sprite.AddFrame("RDefenderF2.png"); _Sprite.AddFrame("RDefenderF3.png"); _Sprite.AddFrame("RDefenderF4.png"); _Sprite.AddFrame("RDefenderF5.png"); _Sprite.AddFrame("RDefenderF6.png"); _Sprite.AddFrame("RDefenderF7.png"); _Sprite.AddFrame("RDefenderF8.png"); _Sprite.AddFrame("RDefenderF9.png"); _Sprite.AddFrame("RDefenderF10.png"); _Sprite.AddFrame("RDefenderF11.png"); _Sprite.AddFrame("RDefenderF12.png"); _Sprite._Width = 2.5f; _Sprite._Height = 2.5f; _Sprite._Animate = true; _Sprite._Y = 0.1f; _Radius = 1.0f; _Speed = 10.0f + Random.Range(0.0f,5.0f); _Value = 1; _AABBCollision = false; _HitPoints = 1; _Width = 0.5f * 0.5f; _Height = (0.5f * 0.5f) * Director._Instance._Aspect; _FrameAdvanceOnHit = false; _TimeToFire = Random.Range(0.3f,1.0f); AddToDelegates(); break; case eAIType.AITYPE_UP_TURRET: _Sprite = Sprite.Spawn(1); _Sprite.AddFrame("TurretUpF1.png"); _Sprite.AddFrame("TurretUpF2.png"); _Sprite.AddFrame("TurretUpF3.png"); _Sprite.AddFrame("TurretUpF4.png"); _Sprite.AddFrame("TurretUpF5.png"); _Sprite.AddFrame("TurretUpF6.png"); _Sprite.AddFrame("TurretUpF7.png"); _Sprite.AddFrame("TurretUpF8.png"); _Sprite.AddFrame("TurretUpF9.png"); _Sprite.AddFrame("TurretUpF10.png"); _Sprite._Width = 1.5f; _Sprite._Height = 1.5f; _Sprite._Animate = true; _Sprite._Y = 0.1f; _Z -= 0.2f; _Radius = 1.0f; _Speed = 10.0f; _Value = 1; _AABBCollision = false; _HitPoints = 1; _Width = 0.5f * 0.5f; _Height = (0.5f * 0.5f) * Director._Instance._Aspect; _FrameAdvanceOnHit = false; _TimeToFire = Random.Range(0.3f,1.0f); AddToDelegates(); break; case eAIType.AITYPE_DOWN_TURRET: _Sprite = Sprite.Spawn(1); _Sprite.AddFrame("TurretDownF1.png"); _Sprite.AddFrame("TurretDownF2.png"); _Sprite.AddFrame("TurretDownF3.png"); _Sprite.AddFrame("TurretDownF4.png"); _Sprite.AddFrame("TurretDownF5.png"); _Sprite.AddFrame("TurretDownF6.png"); _Sprite.AddFrame("TurretDownF7.png"); _Sprite.AddFrame("TurretDownF8.png"); _Sprite.AddFrame("TurretDownF9.png"); _Sprite.AddFrame("TurretDownF10.png"); _Sprite._Width = 1.5f; _Sprite._Height = 1.5f; _Sprite._Animate = true; _Sprite._Y = 0.1f; _Z += 0.2f; _Radius = 1.0f; _Speed = 10.0f; _Value = 1; _AABBCollision = false; _HitPoints = 1; _Width = 0.5f * 0.5f; _Height = (0.5f * 0.5f) * Director._Instance._Aspect; _FrameAdvanceOnHit = false; _TimeToFire = Random.Range(0.3f,1.0f); AddToDelegates(); break; case eAIType.AITYPE_SKULL: _Sprite = Sprite.Spawn(1); _Sprite.AddFrame("MineF1.png"); _Sprite.AddFrame("MineF2.png"); _Sprite.AddFrame("MineF3.png"); _Sprite.AddFrame("MineF4.png"); _Sprite.AddFrame("MineF3.png"); _Sprite.AddFrame("MineF2.png"); _Sprite._Width = 1.8f; _Sprite._Height = 1.8f; _Sprite._Animate = true; _Sprite._Y = 0.1f; _Radius = 0.7f; _Speed = 15.0f + Random.Range(0.0f,5.0f); _SpeedBoost = 4.0f; _Value = 1; _AABBCollision = false; _HitPoints = 1; _Width = 0.5f * 0.5f; _Height = (0.5f * 0.5f) * Director._Instance._Aspect; _FrameAdvanceOnHit = false; _TimeToFire = Random.Range(2.0f,3.0f); AddToDelegates(); break; case eAIType.AITYPE_FLYER: _Sprite = Sprite.Spawn(1); _Sprite.AddFrame("FlyerF1.png"); _Sprite.AddFrame("FlyerF2.png"); _Sprite.AddFrame("FlyerF3.png"); _Sprite.AddFrame("FlyerF4.png"); _Sprite.AddFrame("FlyerF5.png"); _Sprite.AddFrame("FlyerF6.png"); _Sprite.AddFrame("FlyerF7.png"); _Sprite.AddFrame("FlyerF8.png"); _Sprite.AddFrame("FlyerF9.png"); _Sprite.AddFrame("FlyerF10.png"); _Sprite._Width = 1.5f; _Sprite._Height = 1.5f; _Sprite._Animate = true; _Sprite._Y = 0.1f; _Radius = 0.5f; _Speed = 10.0f + Random.Range(0.0f,5.0f); _Value = 1; _AABBCollision = false; _HitPoints = 1; _Width = 0.5f * 0.5f; _Height = (0.5f * 0.5f) * Director._Instance._Aspect; _FrameAdvanceOnHit = false; _TimeToFire = Random.Range(1.0f,2.0f); AddToDelegates(); _RealZ = _Z; _SinRadius = Random.Range(3.0f,5.0f); _SinFrequency = _Speed * 0.1f; break; case eAIType.AITYPE_ROCK: _Sprite = Sprite.Spawn(1); int iRock = Random.Range(0,100); if(iRock > 75) { _Sprite.AddFrame("Rock1F1.png"); _Sprite.AddFrame("Rock1F2.png"); _Sprite.AddFrame("Rock1F3.png"); _Sprite.AddFrame("Rock1F4.png"); } else if(iRock > 50) { _Sprite.AddFrame("Rock2F1.png"); _Sprite.AddFrame("Rock2F2.png"); _Sprite.AddFrame("Rock2F3.png"); _Sprite.AddFrame("Rock2F4.png"); } else if(iRock > 25) { _Sprite.AddFrame("Rock3F1.png"); _Sprite.AddFrame("Rock3F2.png"); _Sprite.AddFrame("Rock3F3.png"); _Sprite.AddFrame("Rock3F4.png"); } else { _Sprite.AddFrame("Rock4F1.png"); _Sprite.AddFrame("Rock4F2.png"); _Sprite.AddFrame("Rock4F3.png"); _Sprite.AddFrame("Rock4F4.png"); } _Sprite._Width = 4.1f; _Sprite._Height = 4.1f; _Sprite._Animate = false; _Sprite._Y = 0.0f; _Sprite.SetFrame(0); _Radius = 1.1f; _Speed = 10.0f + Random.Range(0.0f,5.0f); _Value = 1; _Width = 3.0f * 0.5f; _Height = (3.0f * 0.5f) * Director._Instance._Aspect; _AABBCollision = true; _HitPoints = 4; _CurrentFrame = 0; _FrameAdvanceOnHit = true; AddToDelegates(); break; case eAIType.AITYPE_BULLET: _Sprite = Sprite.Spawn(1); _Sprite.AddFrame("EnemyBullet.png"); _Sprite._Width = 0.8f; _Sprite._Height = 0.8f; _Sprite._Animate = false; _Sprite._Y = 0.15f; _Radius = 0.1f; _Speed = 8.0f; _Value = 1; _AABBCollision = false; _HitPoints = 1; _Width = 0.5f * 0.5f; _Height = (0.5f * 0.5f) * Director._Instance._Aspect; _FrameAdvanceOnHit = false; AddToDelegates(); break; case eAIType.AITYPE_POWERUP: _Sprite = Sprite.Spawn(1); if(_PowerupType == 0) { _Sprite.AddFrame("FasterShots.png"); } else if(_PowerupType == 1) { _Sprite.AddFrame("TriShot.png"); } else if(_PowerupType == 2) { _Sprite.AddFrame("Magnet.png"); } else if(_PowerupType == 3) { _Sprite.AddFrame("Shield.png"); } _Sprite._Width = 1.5f; _Sprite._Height = 1.5f; _Sprite._Animate = false; _Sprite._Y = 0.15f; _Radius = 0.5f; _Speed = 8.0f; _Value = 1; _AABBCollision = false; _HitPoints = 1; _Width = 0.5f * 0.5f; _Height = (0.5f * 0.5f) * Director._Instance._Aspect; _FrameAdvanceOnHit = false; AddToDelegates(); break; case eAIType.AITYPE_DRONE: _Sprite = Sprite.Spawn(1); _Sprite.AddFrame("Enemy1F1.png"); _Sprite.AddFrame("Enemy1F2.png"); _Sprite.AddFrame("Enemy1F3.png"); _Sprite.AddFrame("Enemy1F4.png"); _Sprite.AddFrame("Enemy1F3.png"); _Sprite.AddFrame("Enemy1F2.png"); _Sprite._Width = 1.2f; _Sprite._Height = 1.2f; _Sprite._Animate = true; _Sprite._Y = 0.1f; _Radius = 0.5f; _Speed = 8.0f + Random.Range(0.0f,3.0f); _Value = 1; _AABBCollision = false; _HitPoints = 300; _Width = 0.5f * 0.5f; _Height = (0.5f * 0.5f) * Director._Instance._Aspect; _FrameAdvanceOnHit = false; _TimeToFire = Random.Range(2.0f,3.0f); AddToDelegates(); break; case eAIType.AITYPE_BOSS1: _Sprite = Sprite.Spawn(1); _Sprite.AddFrame("Enemy1F1.png"); _Sprite.AddFrame("Enemy1F2.png"); _Sprite.AddFrame("Enemy1F3.png"); _Sprite.AddFrame("Enemy1F4.png"); _Sprite.AddFrame("Enemy1F3.png"); _Sprite.AddFrame("Enemy1F2.png"); _Sprite._Width = 1.2f; _Sprite._Height = 1.2f; _Sprite._Animate = true; _Sprite._Y = 0.1f; _Radius = 0.5f; _Speed = 8.0f + Random.Range(0.0f,3.0f); _Value = 1; _AABBCollision = false; _HitPoints = 6; _Width = 0.5f * 0.5f; _Height = (0.5f * 0.5f) * Director._Instance._Aspect; _FrameAdvanceOnHit = false; _TimeToFire = Random.Range(2.0f,3.0f); AddToDelegates(); ++Director._Instance._SequencerSemaphore; // Create drones for the boss _Drones = new List<AI>(); for(int i = 0; i < 8; ++i) { AI pAI = Spawn(eAIType.AITYPE_DRONE,0.0f,0.0f); _Drones.Add(pAI); } AI pDrone = _Drones[0]; pDrone._DroneRadius = 9.0f; pDrone._DroneAngle = 0.0f; pDrone._DroneSpinSpeed = 3.0f; pDrone.UpdateDronePosition(_X,_Z); pDrone = _Drones[1]; pDrone._DroneRadius = 7.0f; pDrone._DroneAngle = 0.0f; pDrone._DroneSpinSpeed = 3.0f; pDrone.UpdateDronePosition(_X,_Z); pDrone = _Drones[2]; pDrone._DroneRadius = 5.0f; pDrone._DroneAngle = 0.0f; pDrone._DroneSpinSpeed = 3.0f; pDrone.UpdateDronePosition(_X,_Z); pDrone = _Drones[3]; pDrone._DroneRadius = 3.0f; pDrone._DroneAngle = 0.0f; pDrone._DroneSpinSpeed = 3.0f; pDrone.UpdateDronePosition(_X,_Z); pDrone = _Drones[4]; pDrone._DroneRadius = 3.0f; pDrone._DroneAngle = 3.14f; pDrone._DroneSpinSpeed = 3.0f; pDrone.UpdateDronePosition(_X,_Z); pDrone = _Drones[5]; pDrone._DroneRadius = 5.0f; pDrone._DroneAngle = 3.14f; pDrone._DroneSpinSpeed = 3.0f; pDrone.UpdateDronePosition(_X,_Z); pDrone = _Drones[6]; pDrone._DroneRadius = 7.0f; pDrone._DroneAngle = 3.14f; pDrone._DroneSpinSpeed = 3.0f; pDrone.UpdateDronePosition(_X,_Z); pDrone = _Drones[7]; pDrone._DroneRadius = 9.0f; pDrone._DroneAngle = 3.14f; pDrone._DroneSpinSpeed = 3.0f; pDrone.UpdateDronePosition(_X,_Z); break; case eAIType.AITYPE_GOLD_COIN: _Sprite = Sprite.Spawn(1); _Sprite.AddFrame("GoldF1.png"); _Sprite.AddFrame("GoldF2.png"); _Sprite.AddFrame("GoldF3.png"); _Sprite.AddFrame("GoldF4.png"); _Sprite.AddFrame("GoldF5.png"); _Sprite.AddFrame("GoldF6.png"); _Sprite.AddFrame("GoldF7.png"); _Sprite.AddFrame("GoldF8.png"); _Sprite._Width = 1.0f; _Sprite._Height = 1.0f; _Sprite._Animate = true; _Sprite._Y = 0.1f; _Radius = 0.5f; _Speed = 10.0f; _Value = 1; _AABBCollision = false; _HitPoints = 1; _Width = 0.5f * 0.5f; _Height = (0.5f * 0.5f) * Director._Instance._Aspect; _FrameAdvanceOnHit = false; _TimeToFire = Random.Range(2.0f,3.0f); AddToDelegates(); break; case eAIType.AITYPE_SILVER_COIN: _Sprite = Sprite.Spawn(1); _Sprite.AddFrame("SilverF1.png"); _Sprite.AddFrame("SilverF2.png"); _Sprite.AddFrame("SilverF3.png"); _Sprite.AddFrame("SilverF4.png"); _Sprite.AddFrame("SilverF5.png"); _Sprite.AddFrame("SilverF6.png"); _Sprite.AddFrame("SilverF7.png"); _Sprite.AddFrame("SilverF8.png"); _Sprite._Width = 1.0f; _Sprite._Height = 1.0f; _Sprite._Animate = true; _Sprite._Y = 0.1f; _Radius = 0.5f; _Speed = 10.0f; _Value = 1; _AABBCollision = false; _HitPoints = 1; _Width = 0.5f * 0.5f; _Height = (0.5f * 0.5f) * Director._Instance._Aspect; _FrameAdvanceOnHit = false; _TimeToFire = Random.Range(2.0f,3.0f); AddToDelegates(); break; case eAIType.AITYPE_BRONZE_COIN: _Sprite = Sprite.Spawn(1); _Sprite.AddFrame("BronzeF1.png"); _Sprite.AddFrame("BronzeF2.png"); _Sprite.AddFrame("BronzeF3.png"); _Sprite.AddFrame("BronzeF4.png"); _Sprite.AddFrame("BronzeF5.png"); _Sprite.AddFrame("BronzeF6.png"); _Sprite.AddFrame("BronzeF7.png"); _Sprite.AddFrame("BronzeF8.png"); _Sprite._Width = 1.0f; _Sprite._Height = 1.0f; _Sprite._Animate = true; _Sprite._Y = 0.1f; _Radius = 0.5f; _Speed = 10.0f; _Value = 1; _AABBCollision = false; _HitPoints = 1; _Width = 0.5f * 0.5f; _Height = (0.5f * 0.5f) * Director._Instance._Aspect; _FrameAdvanceOnHit = false; _TimeToFire = Random.Range(2.0f,3.0f); AddToDelegates(); break; case eAIType.AITYPE_FEEDBACK: _Sprite = Sprite.Spawn(1); if(_FeedbackType == 0) { _Sprite.AddFrame("PlusOne.png"); } else if(_FeedbackType == 1) { _Sprite.AddFrame("PlusFive.png"); } else if(_FeedbackType == 2) { _Sprite.AddFrame("PlusTen.png"); } else if(_FeedbackType == 3) { _Sprite.AddFrame("MinusTen.png"); } else if(_FeedbackType == 4) { _Sprite.AddFrame("MinusTwenty.png"); } _Sprite._Width = 3.0f; _Sprite._Height = 3.0f; _Sprite._Animate = false; _Sprite._Y = 0.1f; _Speed = 8.0f; _Width = 0.5f * 0.5f; _Height = (0.5f * 0.5f) * Director._Instance._Aspect; break; } _Sprite._AI = this; _Sprite._Bullet = null; _Kill = false; }
// Use this for initialization void Start() { // Get all the stuff necessary for player movement _PlayerObject = GameObject.Find("Player"); _Player = _PlayerObject.GetComponent<Player>(); _CameraTransform = this.transform; _CameraTransform.position = _CameraPos; // Find the UI _PlayButton = GameObject.Find("PlayButton").GetComponent<Button>(); _CreditsBackButton = GameObject.Find("CreditsBackButton").GetComponent<Button>(); _Title = GameObject.Find("Title").GetComponent<Image>(); _Credits = GameObject.Find("Credits").GetComponent<Image>(); _LevelInfo = GameObject.Find("LevelInfo").GetComponent<Image>(); // Build the screens ScreenContainer pTitleScreen = new ScreenContainer(); pTitleScreen.AddButton("PlayButton"); pTitleScreen.AddButton("CloseButton"); pTitleScreen.AddButton("WhoMadeThisButton"); pTitleScreen.AddButton("HighScoreTableButton"); pTitleScreen.AddButton("TwitterButton"); pTitleScreen.AddButton("SettingsButton"); pTitleScreen.AddCompound("LogoContainer"); _Screens.Add("TITLE",pTitleScreen); ScreenContainer pCredits = new ScreenContainer(); pCredits.AddButton("CreditsBackButton"); pCredits.AddUIGO("CreditsByron"); pCredits.AddUIGO("CreditsGavin"); pCredits.AddUIGO("CreditsNatalie"); pCredits.AddUIGO("CreditsSusan"); pCredits.AddUIGO("CreditsWill"); pCredits.AddUIGO("CreditsDes"); pCredits.AddUIGO("CreditsDugan"); pCredits.AddUIGO("CreditsDan"); pCredits.AddUIGO("CreditsThanks"); _Screens.Add("CREDITS",pCredits); ScreenContainer pHowTo = new ScreenContainer(); pHowTo.AddButton("CreditsBackButton"); pHowTo.AddImage("HowToPlay"); _Screens.Add("HOW_TO_PLAY",pHowTo); ScreenContainer pPlay = new ScreenContainer(); pPlay.AddUIGO("Land"); pPlay.AddUIGO("Land2"); _Screens.Add("PLAY",pPlay); ScreenContainer pPathEditor = new ScreenContainer(); _Screens.Add("PATH",pPathEditor); ScreenContainer pScores = new ScreenContainer(); pScores.AddButton("HighScoreBackButton"); pScores.AddButton("HSUpButton"); pScores.AddButton("HSDownButton"); _Screens.Add("SCORES",pScores); ScreenContainer pName = new ScreenContainer(); pName.AddButton("CreditsBackButton"); pName.AddButton("OneUpButton"); pName.AddButton("OneDownButton"); pName.AddButton("TwoUpButton"); pName.AddButton("TwoDownButton"); pName.AddButton("ThreeUpButton"); pName.AddButton("ThreeDownButton"); pName.AddButton("FourUpButton"); pName.AddButton("FourDownButton"); pName.AddButton("FiveUpButton"); pName.AddButton("FiveDownButton"); pName.AddButton("SixUpButton"); pName.AddButton("SixDownButton"); pName.AddButton("SevenUpButton"); pName.AddButton("SevenDownButton"); pName.AddButton("EightUpButton"); pName.AddButton("EightDownButton"); pName.AddButton("NineUpButton"); pName.AddButton("NineDownButton"); pName.AddButton("TenUpButton"); pName.AddButton("TenDownButton"); pName.AddButton("MusicVolumeUpButton"); pName.AddButton("MusicVolumeDownButton"); pName.AddButton("SFXVolumeUpButton"); pName.AddButton("SFXVolumeDownButton"); pName.AddCompound("MusicVolumeContainer"); pName.AddCompound("SFXVolumeContainer"); pName.AddCompound("MusicVolumeNameContainer"); pName.AddCompound("SFXNameContainer"); pName.AddCompound("NameContainer"); _Screens.Add("NAME",pName); ScreenContainer pNewVersion = new ScreenContainer(); pNewVersion.AddButton("GoGetButton"); pNewVersion.AddButton("GoGetBackButton"); pNewVersion.AddUIGO("NewVersion"); _Screens.Add("NEW_VERSION",pNewVersion); ScreenContainer pCompany = new ScreenContainer(); pCompany.AddUIGO("Company"); _Screens.Add("COMPANY",pCompany); _Number = new Number(); _Number._Z = 10.0f; _Number.Disable(); // Setup the initial game state //_CurrentState = eGameState.GAMESTATE_SETUP_COMPANY; _CurrentState = eGameState.GAMESTATE_SETUP_TITLE; _Camera = GetComponent<Camera>(); // Disable components to start _Player.Disable(); _Samples = new Dictionary<string,AudioClip>(); _SamplesTimeStamp = new Dictionary<string, float>(); _SamplePlayAlways = new Dictionary<string, bool>(); _AudioSource = this.GetComponent<AudioSource>(); // Add samples AddSample("ALIEN_SHOT","SFX/Enemy"); AddSample("PLAYER_SHOT","SFX/PlayerShot2"); AddSample("EXPLOSION","SFX/Explosion"); AddSample("COIN","SFX/Coin"); AddSample("POWERUP","SFX/PowerUp"); AddSample("PLAYERDEATH","SFX/PlayerDeath",true); AddSample("RAPIDFIRE","SFX/RapidFire",true); AddSample("GAMEON","SFX/GameOn",true); AddSample("WIPEOUT","SFX/WipeOut",true); AddSample("CLICK","SFX/Click",true); AddSample("PRESS","SFX/Press",true); AddSample("THREEWAY","SFX/ThreeWay",true); AddSample("MAGNET","SFX/Magnatism",true); // Create lives sprites _LivesSprites = new List<Sprite>(); float fLX = Ground._Instance._HigherX + 2.0f; float fLZ = Ground._Instance._LowerZ - 2.0f; for(int i = 0; i < 20; ++i) { Sprite pSprite = Sprite.Spawn(1); pSprite.AddFrame("Life.png"); pSprite._Width = 0.5f; pSprite._Height = 0.5f; pSprite._Animate = false;; pSprite._Y = 1.0f; pSprite._X = fLX; pSprite._Z = fLZ; pSprite._Alive = false; _LivesSprites.Add(pSprite); fLX += 0.6f; } _Starfield = GameObject.Find("Starfield").GetComponent<Renderer>().sharedMaterial; _Warp = 0.0f; _Speed = 1.0f; _PatheEditor = false; _Generator = new Generator(); _Scores = GameObject.Find("Scores").GetComponent<Scores>(); // Load HUD indicators _BulletSpeedUp = Sprite.Spawn(1); _BulletSpeedUp.AddFrame("FasterShot1.png"); _BulletSpeedUp.AddFrame("FasterShot2.png"); _BulletSpeedUp.AddFrame("FasterShot3.png"); _BulletSpeedUp.AddFrame("FasterShot4.png"); _BulletSpeedUp.AddFrame("FasterShot5.png"); _BulletSpeedUp.AddFrame("FasterShot6.png"); _BulletSpeedUp.AddFrame("FasterShot7.png"); _BulletSpeedUp.AddFrame("FasterShot8.png"); _BulletSpeedUp.AddFrame("FasterShot9.png"); _BulletSpeedUp.AddFrame("FasterShot10.png"); _BulletSpeedUp._X = -10.0f; _BulletSpeedUp._Z = 10.0f; _BulletSpeedUp._Height = 1.2f; _BulletSpeedUp._Width = 1.2f; _BulletSpeedUp._Animate = false; _BulletSpeedUp._Y = 0.1f; _BulletSpeedUp._Alive = false; }
public Sprite LoadSprite(XElement element) { int width = element.GetAttribute<int>("width"); int height = element.GetAttribute<int>("height"); Sprite sprite = new Sprite(width, height); sprite.Name = element.TryAttribute<string>("name"); sprite.Part = element.TryAttribute<string>("part"); sprite.PaletteName = element.TryAttribute<string>("palette"); sprite.Reversed = element.TryAttribute<bool>("reversed"); XElement hotspot = element.Element("Hotspot"); if (hotspot != null) { int hx = hotspot.GetAttribute<int>("x"); int hy = hotspot.GetAttribute<int>("y"); sprite.HotSpot = new Point(hx, hy); } else { sprite.HotSpot = new Point(0, 0); } sprite.Layer = element.TryAttribute<int>("layer"); XElement stylenode = element.Element("AnimStyle"); if (stylenode != null) { string style = stylenode.Value; switch (style) { case "Bounce": sprite.AnimStyle = AnimationStyle.Bounce; break; case "PlayOnce": sprite.AnimStyle = AnimationStyle.PlayOnce; break; } } XElement directionNode = element.Element("AnimDirection"); if (directionNode != null) { string direction = directionNode.Value; switch (direction) { case "Forward": sprite.AnimDirection = AnimationDirection.Forward; break; case "Backward": sprite.AnimDirection = AnimationDirection.Backward; break; } } foreach (XElement frame in element.Elements("Frame")) { int duration = frame.TryAttribute<int>("duration"); int x = frame.GetAttribute<int>("x"); int y = frame.GetAttribute<int>("y"); sprite.AddFrame(x, y, duration); } if (sprite.Count == 0) { sprite.AddFrame(0, 0, 0); } return sprite; }
public bool UpdateAndRender(float fTimeDelta) { if(_Sprite == null) { _Sprite = Sprite.Spawn(1); if(_Type == 0) { _Sprite.AddFrame("Bullet.png"); } else if(_Type == 1) { _Sprite.AddFrame("BulletUp.png"); } else { _Sprite.AddFrame("BulletDown.png"); } _Sprite._Width = 1.0f; _Sprite._Height = 1.0f; _Sprite._AI = null; _Sprite._Bullet = this; } _X += _VX * _Speed * fTimeDelta; _Z += _VZ * _Speed * fTimeDelta; if(_Collide != null) { _Collide(this); if(!_Alive) { return false; } } if(_X > _MaxX) { return false; } if(_Z > 12.0f) { return false; } if(_Z < -12.0f) { return false; } _Sprite._X = _X; _Sprite._Y = 0.1f; _Sprite._Z = _Z; return true; }
private static Sprite GetEmptySprite(int frames) { var sprite = new Sprite(1, 1); for (int i = 0; i < frames; i++) { sprite.AddFrame(0, 0, 1); } return sprite; }
// Use this for initialization void Start() { _Transform = this.transform; _FireRepeatDelayReset = 0.25f; _FireRepeatDelay = 0.0f; // Setup the sprite _Sprite = Sprite.Spawn(1); _Sprite.AddFrame("PlayerF1.png"); _Sprite.AddFrame("PlayerF2.png"); _Sprite.AddFrame("PlayerF3.png"); _Sprite._X = 0.0f; _Sprite._Y = 0.1f; _Sprite._Z = 0.0f; _Sprite._Width = 1.8f; _Sprite._Height = 1.8f; _Sprite._Animate = true; _Alive = false; _Radius = 0.75f; _XOffset = 0.0f; _ZOffset = 0.0f; _XPosition = 0.0f; _ZPosition = 0.0f; _X = 0.0f; _Z = 0.0f; _Pos = new Vector3(0.0f,0.0f,0.0f); _LowerX = Ground._Instance._HigherX; _LowerZ = Ground._Instance._HigherZ; _HigherX = Ground._Instance._LowerX; _HigherZ = Ground._Instance._LowerZ; Debug.Log("LX = " + _LowerX + " HX = " + _HigherX + " LZ = " + _LowerZ + " HZ = " + _HigherZ); _HalfWidth = 1.0f * 0.5f; _HalfHeight = (1.0f * 0.5f) * Director._Instance._Aspect; }
// Update is called once per frame void Update() { if(_Sprite == null) { _Sprite = Sprite.Spawn(1); _Sprite._Width = _Transform.localScale.x; _Sprite._Height = _Transform.localScale.y; _Sprite._Animate = false; _Sprite.AddFrame("V10.png"); _Sprite.AddFrame("V9.png"); _Sprite.AddFrame("V8.png"); _Sprite.AddFrame("V7.png"); _Sprite.AddFrame("V6.png"); _Sprite.AddFrame("V5.png"); _Sprite.AddFrame("V4.png"); _Sprite.AddFrame("V3.png"); _Sprite.AddFrame("V2.png"); _Sprite.AddFrame("V1.png"); _Sprite.AddFrame("V0.png"); _Sprite._X = 1000.0f; _Sprite._Z = 1000.0f; _Sprite._Y = 0.1f; } _Sprite._X = _Transform.position.x; _Sprite._Z = _Transform.position.z; _Sprite._Width = _Transform.localScale.x; _Sprite._Height = _Transform.localScale.y; if(Director._Instance._SFXVolume > 0.9f) { _Sprite.SetFrame(0); } else if(Director._Instance._SFXVolume > 0.8f) { _Sprite.SetFrame(1); } else if(Director._Instance._SFXVolume > 0.7f) { _Sprite.SetFrame(2); } else if(Director._Instance._SFXVolume > 0.6f) { _Sprite.SetFrame(3); } else if(Director._Instance._SFXVolume > 0.5f) { _Sprite.SetFrame(4); } else if(Director._Instance._SFXVolume > 0.4f) { _Sprite.SetFrame(5); } else if(Director._Instance._SFXVolume > 0.3f) { _Sprite.SetFrame(6); } else if(Director._Instance._SFXVolume > 0.2f) { _Sprite.SetFrame(7); } else if(Director._Instance._SFXVolume > 0.1f) { _Sprite.SetFrame(8); } else if(Director._Instance._SFXVolume > 0.0f) { _Sprite.SetFrame(9); } else { _Sprite.SetFrame(10); } }
public static Sprite LoadSprite(XElement element) { int width = element.GetAttribute <int>("width"); int height = element.GetAttribute <int>("height"); Sprite sprite = new Sprite(width, height); sprite.Name = element.TryAttribute <string>("name"); sprite.PaletteName = element.TryAttribute <string>("palette"); sprite.Reversed = element.TryAttribute <bool>("reversed"); XElement hotspot = element.Element("Hotspot"); if (hotspot != null) { int hx = hotspot.GetAttribute <int>("x"); int hy = hotspot.GetAttribute <int>("y"); sprite.HotSpot = new Point(hx, hy); } else { sprite.HotSpot = new Point(0, 0); } sprite.Layer = element.TryAttribute <int>("layer"); XElement stylenode = element.Element("AnimStyle"); if (stylenode != null) { string style = stylenode.Value; switch (style) { case "Bounce": sprite.AnimStyle = AnimationStyle.Bounce; break; case "PlayOnce": sprite.AnimStyle = AnimationStyle.PlayOnce; break; } } XElement directionNode = element.Element("AnimDirection"); if (directionNode != null) { string direction = directionNode.Value; switch (direction) { case "Forward": sprite.AnimDirection = AnimationDirection.Forward; break; case "Backward": sprite.AnimDirection = AnimationDirection.Backward; break; } } foreach (XElement frame in element.Elements("Frame")) { int duration = frame.TryAttribute <int>("duration"); int x = frame.GetAttribute <int>("x"); int y = frame.GetAttribute <int>("y"); sprite.AddFrame(x, y, duration); } if (sprite.Count == 0) { sprite.AddFrame(0, 0, 0); } return(sprite); }
void Update() { if(_Sprite == null) { _Sprite = Sprite.Spawn(1); _Sprite._Width = _Width; _Sprite._Height = _Height; _Sprite._Animate = false; _Sprite.AddFrame(_Image); _Sprite._X = 1000.0f; _Sprite._Z = 1000.0f; } switch(_Ease) { case eTitleEase.TITLE_EASE_IN: _Time += Time.deltaTime; if(_Time > 1.0f) { _Time = 1.0f; _C = _B; _Ease = eTitleEase.TITLE_EASE_NONE; } float fRealTime = 1.0f - _Time; _C = _B + (_A - _B) * (fRealTime * fRealTime); break; case eTitleEase.TITLE_EASE_OUT: _Time -= Time.deltaTime; if(_Time < 0.0f) { _Time = 0.0f; _C = _A; _Ease = eTitleEase.TITLE_EASE_KILL; } _C = _A + (_B - _A) * (_Time * _Time); break; case eTitleEase.TITLE_EASE_KILL: this.active = false; _Sprite._Alive = false; break; } this.transform.position = _C; _Sprite._X = _C.x; _Sprite._Z = _C.z; }
void Update() { if(_Sprite == null) { _Sprite = Sprite.Spawn(1); _Sprite._Width = _Width; _Sprite._Height = _Height; _Sprite._Animate = false; _Sprite.AddFrame(_UpImage); _Sprite.AddFrame(_DownImage); _Sprite.AddFrame(_OverImage); _Sprite.AddFrame(_LockUp); _Sprite.AddFrame(_LockDown); _Sprite._X = 10000.0f; _Sprite._Z = 10000.0f; _Sprite._Y = _Depth; if(_Locked) { _Sprite.SetFrame(2); } } switch(_Ease) { case eButtonEase.BUTTON_EASE_IN: _Time += _Speed * Time.deltaTime; if(_Time > 1.0f) { _Time = 1.0f; _C = _B; _Ease = eButtonEase.BUTTON_EASE_NONE; if(_Shake) { Director._Instance.ShakeCamera(_ShakeIntensity,_ShakeTime); } } float fRealTime = 1.0f - _Time; _C = _B + (_A - _B) * (fRealTime * fRealTime); break; case eButtonEase.BUTTON_EASE_OUT: _Time -= _Speed * Time.deltaTime; if(_Time < 0.0f) { _Time = 0.0f; _C = _A; _Ease = eButtonEase.BUTTON_EASE_KILL; } _C = _A + (_B - _A) * (_Time * _Time); break; case eButtonEase.BUTTON_EASE_KILL: this.active = false; _Sprite._Alive = false; break; } this.transform.position = _C; _Sprite._X = _C.x; _Sprite._Z = _C.z; if(Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if(Physics.Raycast(ray, out hit, 100)) { if(hit.transform.gameObject.name == this.name) { _IsButtonDown = true; if(_Locked) { _Sprite.SetFrame(3); } else { _Sprite.SetFrame(1); } } } } if(Input.GetMouseButtonUp(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if(Physics.Raycast(ray, out hit, 100)) { if(hit.transform.gameObject.name == this.name) { if(_IsButtonDown && !_Locked) { Director._Instance.FireEvent(_Event); Director._Instance.PlaySample("PRESS",1.0f); } } } _IsButtonDown = false; if(_Locked) { _Sprite.SetFrame(2); } else { _Sprite.SetFrame(0); } } if(!_IsButtonDown) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if(Physics.Raycast(ray, out hit, 100)) { if(hit.transform.gameObject.name == this.name) { if(!_IsOver) { Director._Instance.PlaySample("CLICK",1.0f); } _IsOver = true; _Sprite.SetFrame(2); } else { _IsOver = false; _Sprite.SetFrame(0); } } } else { _IsOver = false; } }