private void LuoPelaaja(Vector position, double width, double height) { PlatformCharacter hahmo = new PlatformCharacter(40, 80); hahmo.Position = position; Add(hahmo); AssaultRifle ase = new AssaultRifle(60, 15); hahmo.Weapon = ase; //PlatformCharacter apu = new PlatformCharacter( 20, 20, Shape.Circle ); PhysicsObject apu = new PhysicsObject(20, 20, Shape.Circle); FollowerBrain aivot = new FollowerBrain(hahmo); aivot.DistanceClose = 80; aivot.StopWhenTargetClose = true; apu.Brain = aivot; apu.IgnoresGravity = true; Add(apu); AddCollisionHandler(apu, "ammus", delegate(PhysicsObject a, PhysicsObject b) { a.Destroy(); b.Destroy(); }); Label hahmonNimi = new Label(RandomGen.NextLetter(true).ToString() + RandomGen.NextLetter(false).ToString()); hahmonNimi.Bottom = hahmo.Height; hahmo.Add(hahmonNimi); Keyboard.Listen(Key.Space, ButtonState.Down, delegate { var ammus = ase.Shoot(); if (ammus != null) { ammus.Tag = "ammus"; } }, null); Keyboard.Listen(Key.Right, ButtonState.Down, () => hahmo.Walk(200), null); Keyboard.Listen(Key.Left, ButtonState.Down, () => hahmo.Walk(-200), null); Keyboard.Listen(Key.Up, ButtonState.Down, () => hahmo.Jump(600), null); Keyboard.Listen(Key.Enter, ButtonState.Pressed, delegate { if (!apu.IsDestroyed) { MessageDisplay.Add("boop!"); } }, null); }
PlatformCharacter Pelaaja1() { pelaaja = new PlatformCharacter(20, 20); Add(pelaaja); pelaaja.Tag = "pelaaja"; Keyboard.Listen(Key.Left, ButtonState.Down, pelaaja.Move, null, new Vector(-1000, 0)); Keyboard.Listen(Key.Right, ButtonState.Down, pelaaja.Move, null, new Vector(1000, 0)); Keyboard.Listen(Key.Down, ButtonState.Down, pelaaja.Push, null, new Vector(0, -1000)); Keyboard.Listen(Key.Up, ButtonState.Down, pelaaja.Push, null, new Vector(0, 1000)); Keyboard.Listen(Key.Up, ButtonState.Released, pelaaja.Stop, null); Keyboard.Listen(Key.Right, ButtonState.Released, pelaaja.Stop, null); Keyboard.Listen(Key.Down, ButtonState.Released, pelaaja.Stop, null); Keyboard.Listen(Key.Left, ButtonState.Released, pelaaja.Stop, null); pelaajan1Ase = new AssaultRifle(30, 10); pelaajan1Ase.Ammo.Value = 1000; pelaajan1Ase.Angle += Angle.FromDegrees(1); pelaaja.Add(pelaajan1Ase); pelaaja.Weapon = pelaajan1Ase; //AssaultRifle pyssy = new AssaultRifle(20, 5); return pelaaja; }
void LisaaPelaaja(Vector paikka, double leveys, double korkeus) { pelaaja1 = new PlatformCharacter(35,75); pelaaja1.Position = paikka; pelaaja1.Mass = 2.0; pelaaja1.Image = pelaajanKuva; Add(pelaaja1); pelaaja1Elama = new DoubleMeter(100); pelaaja1Elama.MaxValue = 100; pelaaja1Elama.LowerLimit += delegate { pelaaja1.Destroy(); }; BarGauge pelaaja1ElamaPalkki = new BarGauge(20, Screen.Width / 3); pelaaja1ElamaPalkki.X = Screen.Center.X; pelaaja1ElamaPalkki.Y = Screen.Bottom + 30; pelaaja1ElamaPalkki.Angle = Angle.FromDegrees(90); pelaaja1ElamaPalkki.BindTo(pelaaja1Elama); pelaaja1ElamaPalkki.Color = Color.Red; pelaaja1ElamaPalkki.BarColor = Color.Green; Add(pelaaja1ElamaPalkki); pelaajankäsi = new GameObject(20, 20); pelaaja1.Add(pelaajankäsi); pelaajankäsi.Color = Color.Red; pelaajankäsi.X = pelaajankäsi.X + 14; pelaajankäsi.Y = pelaajankäsi.Y - 5; }