public void OnDrawSprite(QSpriteRenderer spriteRenderer) { if (QVec.Distance(Position, Camera.Position) < Scene.Window.Width) { spriteRenderer.Draw(sprite, Transform); } }
public override void OnDrawSprite(QSpriteRenderer renderer) { if (QVec.Distance(Transform.Position, Camera.Position) < Scene.Window.Width) { renderer.Draw(Sprite, Transform); } }
IEnumerator SnakeMove() { LastPosition = Transform.Position; switch (CurrentDir) { case SnakeDirection.Up: Transform.Position += QVec.Up * Movement; break; case SnakeDirection.Down: Transform.Position += QVec.Down * Movement; break; case SnakeDirection.Left: Transform.Position += QVec.Left * Movement; break; case SnakeDirection.Right: Transform.Position += QVec.Right * Movement; break; default: break; } yield return(QCoroutine.WaitForSeconds(snakeMoveSpeed)); Coroutine.Start(SnakeMove()); }
public void OnDrawSprite(QSpriteRenderer renderer) { QVec temp; Sprite.Color = QColor.DarkKhaki; for (int i = 0; i < OutsideTiles.Count; ++i) { temp = OutsideTiles[i].Position; if (QVec.Distance(Transform.Position, Camera.Position) < Scene.Window.Width) { Sprite.Source = OutsideTiles[i].Source; renderer.Draw(Sprite, Transform, temp); } } Sprite.Color = QColor.DarkSlateGray; for (int i = 0; i < InsideTiles.Count; i++) { temp = InsideTiles[i].Position; if (QVec.Distance(Transform.Position, Camera.Position) < Scene.Window.Width) { Sprite.Source = InsideTiles[i].Source; renderer.Draw(Sprite, Transform, temp); } } }
public override void OnDrawSprite(QSpriteRenderer spriteRenderer) { if (CheckDistance || QVec.Distance(Position, Camera.Position) < 1000) { spriteRenderer.Draw(sprite, Transform); } }
void CheckVelocity() { Rigibody.LinearVelocity = QVec.Clamp( Rigibody.LinearVelocity, new QVec(-MaxVelocity, -MaxVelocity), new QVec(MaxVelocity, MaxVelocity * 2f) ); }
public override void OnUpdate(QTime time) { var s = Speed; if (Health < 1) { Scene.Destroy(this); } damageAccum += time.Delta; if (damageAccum > 0.5f) { CanTakeDamage = true; damageAccum = 0; } if (Health < MaxHealth) { s = Speed * 2; } if (Health == 1) { s = Speed * 3; } if (QVec.Distance(p.Transform.Position, Transform.Position) < 200) { // if(p.Transform.Position.X > Transform.Position.X) // Sprite.Effect = SpriteEffects.FlipHorizontally; // else // Sprite.Effect = SpriteEffects.Non Transform.Position = QVec.MoveTowards(Transform.Position, p.Transform.Position) * time.Delta * s; Sprite.Source = BatFlap.Play(time.Delta); } else if (QVec.Distance(p.Transform.Position, Transform.Position) < 800 && p.Transform.Position.Y > Transform.Position.Y) { // if(p.Transform.Position.X > Transform.Position.X) // Sprite.Effect = SpriteEffects.FlipHorizontally; // else // Sprite.Effect = SpriteEffects.None; Transform.Position += QVec.MoveTowards(Transform.Position, p.Transform.Position) * time.Delta * s; Sprite.Source = BatFlap.Play(time.Delta); } else { if (QVec.Distance(Transform.Position, spawnerPosition) > 1) { // if(spawnerPosition.X > Transform.Position.X) // Sprite.Effect = SpriteEffects.FlipHorizontally; // else // Sprite.Effect = SpriteEffects.None; Transform.Position += QVec.MoveTowards(Transform.Position, spawnerPosition) * time.Delta * Speed; Sprite.Source = BatFlap.Play(time.Delta); } else { // Sprite.Effect = SpriteEffects.FlipVertically; Sprite.Source = Frames[30]; } } }
void MoveCam(QTime time) { if (QVec.Distance(Transform.Position, Camera.Position) > 10) { Rigibody.Awake = true; Camera.Lerp(Transform.Position, 4, time.Delta); //MainCamera.MoveTo(Position, 500 * time.Delta); } }
public void OnDrawSprite(QSpriteRenderer spriteRenderer) { if (QVec.Distance(Position, Camera.Position) < Scene.Window.Width) { spriteRenderer.Draw(sprite, Transform); if (mushroomSprite != null) { spriteRenderer.Draw(mushroomSprite, Transform, Position + new QVec(0, -48)); } } }
public void OnUpdate(QTime time) { if (p.DirectionState == PlayerDirections.Left) { Position = new QVec(-20, 0) + p.Position; } else { Position = new QVec(20, 0) + p.Position; } }
public override void OnDrawSprite(QSpriteRenderer renderer) { if (QVec.Distance(Transform.Position, Camera.Position) < Scene.Window.Width) { //TODO Sprite.Source = Mushroom; //DrawSource(renderer, Position + mushPos); //FIX DIS renderer.Draw(Sprite, Transform, Transform.Position + mushPos); Sprite.Source = Tile; //DrawSource(renderer); renderer.Draw(Sprite, Transform); } }
public void OnDrawGui(QGuiRenderer renderer) { QVec pos = new QVec(50, 50); for (int i = 0; i < p.Health; i++) { renderer.DrawImage(GuiHeart, Transform, pos); pos += new QVec(50, 0); } pos = new QVec(50 * p.MaxHealth, 50); for (int i = p.Health; i < p.MaxHealth; ++i) { renderer.DrawImage(GuiEmptyHeart, Transform, pos); pos -= new QVec(50, 0); } }
public void OnDrawGui(QGuiRenderer renderer) { QVec pos = new QVec(50, 50); Image.Source = p.HearthSource; for (int i = 0; i < p.Health; i++) { //DrawSource(renderer, pos); renderer.DrawImage(Image, Transform, pos); pos += new QVec(50, 0); } pos = new QVec(50 * p.HealthMax, 50); Image.Source = p.EmptyHealthSource; for (int i = p.Health; i < p.HealthMax; ++i) { //DrawSource(renderer, pos); renderer.DrawImage(Image, Transform, pos); pos -= new QVec(50, 0); } }
public override void OnStart(QGetContent get) { spawnerPosition = Transform.Position; Health = MaxHealth; Frames = Scene.Atlas["BryanStuff1"].Split(32, 32); player = GetBehavior <Player>("Player"); Sprite = new QSprite(this, Frames[28]); Sprite.Scale = new QVec(4); Sprite.Effect = QRenderEffects.FlipVertically; Sprite.Source = Frames[30]; BatFlap = new QAnimation(Frames, 0.1f, 28, 30); body = Physics.CreateRectangle(this, Sprite.Width / 3f, Sprite.Height / 3f, 5); body.IgnoreGravity = true; body.FixedRotation = true; body.LinearDamping = 10f; }
public override void OnStart(QGetContent content) { Health = MaxHealth; Frames = Scene.MegaTexture["BryanStuff1"].Split(32, 32); bs = GetComponent <BatSpawner>(spawnerId); p = GetComponent <Player>("Player"); Sprite = new QSprite(this, Frames[28]); Transform.Scale = new QVec(4); Sprite.Origin = new QVec(16); BatFlap = new QAnimation(Frames, 0.1f, 28, 30); spawnerPosition = Transform.Position = bs.Transform.Position; body = World.CreateRectangle(this, 13 * Transform.Scale.X, 13 * Transform.Scale.Y, 1f, Transform.Position, 0); body.IgnoreGravity = true; body.FixedRotation = true; body.LinearDamping = 10f; }
public void OnDrawSprite(QSpriteRenderer renderer) { //copy here so less references var renderWidth = Scene.Window.Width; Sprite.Color = QColor.White; var cpos = Camera.Position; for (int i = 0; i < BackgroundTiles.Count; ++i) { if (QVec.Distance(BackgroundTiles[i].Position, cpos) < renderWidth) { renderer.Draw(BackgroundTiles[i].Source, Sprite, Transform, BackgroundTiles[i].Position); } } Sprite.Color *= 0.3f; for (int i = 0; i < LevelTiles.Count; ++i) { if (QVec.Distance(LevelTiles[i].Position, cpos) < renderWidth) { renderer.Draw(LevelTiles[i].Source, Sprite, Transform, LevelTiles[i].Position); } } //quad tree rendering // // // for(int i = 0; i < tiles.Count; i++) // { // List<QRect> t = new List<QRect>(); // quad.Retrieve(t, new QRect(tiles[i].Position, new QVec(64, 64))); // //quad.Retrieve(t, tiles[i].Source); // // for(int j = 0; j < t.Count; j++) // { // renderer.Draw(tiles[i].Source, Sprite, Transform, tiles[i].Position); // } // } }
public void Flick(QVec flickDirection) { body?.ApplyForce(flickDirection); }
void Move(QTime time) { bool run = false; Attacking = false; var speed = Speed; QVec temp = QVec.Zero; accumiFrames += time.Delta; AttackRecover += time.Delta; if (accumiFrames > MaxiFrames) { canTakeDamage = true; accumiFrames = 0; } if (Health < 1) { Scene.ResetScene(); } if (Input.IsKeyDown(QKeys.Escape)) { ExitGame(); } if (Input.IsKeyHeld(QKeys.LeftShift) || Input.IsKeyHeld(QKeys.RightShift)) { run = true; speed = RunSpeed; } if (Input.IsKeyHeld(QKeys.D) && MoveRight) { Current = Right; temp += new QVec(1, 0); MoveLeft = true; CurrentDirection = true; } if (Input.IsKeyHeld(QKeys.A) && MoveLeft) { Current = Left; temp += new QVec(-1, 0); MoveRight = true; CurrentDirection = false; } if (Input.IsKeyUp(QKeys.D)) { Sprite.Source = Frames[0]; } if (Input.IsKeyUp(QKeys.A)) { Sprite.Source = Frames[2]; } if (Input.IsKeyDown(QKeys.R)) { Camera.Zoom = 100; //ChangeScene(SceneName); } if (Input.IsKeyHeld(QKeys.Space) && CanJump || Input.IsKeyHeld(QKeys.W) && CanJump) { //-y = up, y = down //applying force is more buggy than just setting the velocity if (Rigibody.LinearVelocity.Y < 2f) { MoveLeft = true; MoveRight = true; Rigibody.LinearVelocity += new QVec(0, -Velocity) * time.Delta * 1000; } TimeInAir += time.Delta; } if (Input.IsKeyUp(QKeys.Space)) { TimeInAir = AirTime; } if (Input.IsMouseScrolledUp()) { Camera.Zoom += Camera.Zoom * 0.1f; Console.WriteLine($"Zoom: {Camera.Zoom}"); } if (Input.IsMouseScrolledDown()) { Camera.Zoom -= Camera.Zoom * 0.1f; Console.WriteLine($"Zoom: {Camera.Zoom}"); } if (temp != QVec.Zero) { // Sprite.Effect = SpriteEffects.None; Transform.Position += temp.Normalize() * speed * time.Delta; Current.Multiplyer = run ? 2 : 1; Sprite.Source = Current.Play(time.Delta); } if (Input.IsKeyHeld(QKeys.J) && AttackRecover > MaxAttackRecover) { StateOfThePlayer = PlayerState.Attacking; if (CurrentDirection) { Current = AttackRight; } else { Current = AttackLeft; } Current.Reset(); } }
public Block(int w, int h, QVec direction) { Width = w; Height = h; DirectionOfMovement = direction; }
public Grass(QVec pos) : base("Grass") { topos = pos; }
public Platform(QVec s) { toSize = s; }
public Ball(int diameter, QVec direction) { Radius = diameter / 2; DirectionOfMovement = direction; }
public override void OnUpdate(QTime time) { var s = Speed; if (Health < 1) { Scene.Destroy(this); } if (!CanTakeDamage && Accumulator.CheckAccum("BatCanTakeDamage", 0.2f, time)) { CanTakeDamage = true; } if (Health < MaxHealth) { s = Speed * 2; } if (Health == 1) { s = Speed * 3; } var distanceFromPlayer = QVec.Distance(player.Transform.Position, Transform.Position); if (player.Position.Y > Position.Y) { WillAttack = true; } if (!WillAttack) { return; } //flies to player if (distanceFromPlayer < 800) // && player.Transform.Position.Y > Transform.Position.Y) { if (player.Position.X > Position.X) { Sprite.Effect = QRenderEffects.FlipHorizontally; } else { Sprite.Effect = QRenderEffects.None; } Position += QVec.MoveTowards(Position, player.Position) * time.Delta * s; Sprite.Source = BatFlap.Play(time.Delta); } else { //runs back to spawn if (QVec.Distance(Transform.Position, spawnerPosition) > 1) { if (spawnerPosition.X > Position.X) { Sprite.Effect = QRenderEffects.FlipHorizontally; } else { Sprite.Effect = QRenderEffects.None; } Position += QVec.MoveTowards(Position, spawnerPosition) * time.Delta * Speed; Sprite.Source = BatFlap.Play(time.Delta); } else if (distanceFromPlayer > 1000) { //closes eyes Sprite.Effect = QRenderEffects.FlipVertically; Sprite.Source = Frames[30]; } else if (distanceFromPlayer < 1000) { //opens eyes Sprite.Effect = QRenderEffects.FlipVertically; Sprite.Source = Frames[28]; } } }